Hi,
Hi,
I have the drools rule (made in guvnor server) :
1. | rule "driverRule"
2. | salience 10
3. | dialect "mvel"
4. | when
5. | Driver( driverAge : age > 18 && < 65 )
6. | then
7. | Driver fact0 = new Driver();
8. | fact0.setName( "TOTO" );
9. | insert( fact0 );
10. | end
... and the java code source :
KnowledgeAgent agent =
KnowledgeAgentFactory.newKnowledgeAgent("/Guvnor.properties");
KnowledgeBase ruleBase = agent.getKnowledgeBase();
StatefulKnowledgeSession workingMemory =
ruleBase.newStatefulKnowledgeSession();
Driver d = new Driver("Jack", 28, null);
workingMemory.insert(d);
workingMemory.fireAllRules();
for(Iterator i = workingMemory.getObjects().iterator(); i.hasNext();)
{
Object obj = i.next();
System.out.println(obj.getClass().getCanonicalName());
if (obj instanceof Driver)
{
System.out.println("Driver name => " + ((Driver)obj).getName());
System.out.println("Driver age => " + ((Driver)obj).getAge());
}
}
But the drools rule changes the driver name "Jack" by "TOTO", but in the
console the initial name "Jack" is always displayed.
How to access at the objet who is in knowledge base (the modified objet) ?
Thank. ;)
--
View this message in context: http://drools.46999.n3.nabble.com/To-access-at-the-fact-object-tp4021064.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users