Hi,
I
m a newbie. Again, stuck with a problem.
I
have created a package in Drools Guvnor as:
Created
two POJO. Driver and Car as following:
Driver.java:
package kijanowski.eu;
public class Driver {
private String name;
private int age;
private Car car;
public Driver(String
name, int age, Car car) {
this.name = name;
this.age = age;
this.car = car;
}
…
//Setter
and Getters
…
}
Car.java:
package kijanowski.eu;
public class Car {
private String color;
private double value;
public Car() {}
public Car(String
color, double value) {
this.color = color;
this.value = value;
}
…
//Setter and
Getters
…
}
Prepared its jar and
uploaded to Guvnor as following:
Both POJO are loaded successfully:
Then I created a new rule as
following:
Then I verified, build and
created Snapshot.
Now,
I prepared a client program to consume rules deployed in guvnor as following:
package kijanowski.eu;
import
java.util.Collection;
import
java.util.Iterator;
import
org.drools.KnowledgeBase;
import
org.drools.agent.KnowledgeAgent;
import
org.drools.agent.KnowledgeAgentFactory;
import org.drools.runtime.StatefulKnowledgeSession;
public class GuvnorTest {
public static final void main(String[]
args) {
KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent("/Guvnor.properties");
KnowledgeBase kbase =
kagent.getKnowledgeBase();
StatefulKnowledgeSession workingMemory =
kbase.newStatefulKnowledgeSession();
Driver
d = new Driver("Jarek", 20, null);
workingMemory.insert(d);
workingMemory.fireAllRules();
Collection c = workingMemory.getObjects();
for (Iterator
i = c.iterator(); i.hasNext();) {
d = (Driver)i.next();
System.out.println(" Age: " + d.getAge() + " Name:
" + d.getName() + " Car: " + d.getCar() + " Object:
" + d);
}
}
}
And Guvnor.properties
is as following:
url=http://localhost:10080/guvnor-5.5.0.Final-tomcat-6.0/org.drools.guvnor.Guvnor/package/myNewPackage/car_example_snapshot
enableBasicAuthentication=true
username=admin
password=admin
name=drooltest
But when I run the client, I
get following o/p:
Age: 20 Name: Jarek Car: null
Object: kijanowski.eu.Driver@15b9e68
I cannot see name changed to
“Applicable” and cannot even see the o/p of sysout on server
side:
Can
anyone please help me with this. Thanks.
Best
Regards
Hushen Savani