Thank you for your help, but I get the same exceptions.
Liliana 2006/12/11, Steven Williams <[EMAIL PROTECTED]>:
Hi Liliana, I don't know if it will fix your problem but you don't need the &&'s in your rules. Rules are "and"ed by default. ie. when f2 : ForAllManager( id == "b2") && n1 : NumberWrapper(id=="n1") && eval(n1.getValue() < 100) should be: when f2 : ForAllManager( id == "b2") n1 : NumberWrapper(id=="n1") eval(n1.getValue() < 100) Steve On 12/11/06, Liliana Pasquale <[EMAIL PROTECTED]> wrote: > Consider the following files : > > 1)Dynamo_rules_test.java > 2)Manager.java > 3) ForAllManager.java > 4)BooleanWrapper.java > 5)StringWrapper.java > 6)NumberWrapper.java > ----------------------------------------------------- > and consider two simple rules: > > rule "Regola 3" > agenda-group "b2"; > salience 3; > no-loop true; > when > f2 : ForAllManager( id == "b2") && > n1 : NumberWrapper(id=="n1") && > eval(n1.getValue() < 100) > then > System.out.println(n1.getValue()); retract(n1); > if (f2.getCursor().hasNextSelection() == true) f2.esegui(); > else { > assert (new BooleanWrapper(f2.getId(),true); retract(f2);} > end > > rule "Regola 3.x" > agenda-group "b2"; > salience 3; > no-loop true; > when f2: ForAllManager( id == "b2") && > n1 : NumberWrapper(id== "n1") && > eval(!(n1.getValue() < 100)) > then > assert(new BooleanWrapper(f2.getId(),false)); > retract(n1); retract(f2); > end > > > When the system has to assert the object BooleanWrapper in the > WorkingMemory, I get the following errors: > > java.lang.NullPointerException at > org.drools.rule.BoundVariableConstraint.isAllowed(Unknown Source) at > org.drools.common.BetaNodeBinder.isAllowed(Unknown Source) at > org.drools.reteoo.LeftInputAdapterNode.assertObject(Unknown Source) at > org.drools.reteoo.ObjectSource.propagateAssertObject(Unknown Source) at > org.drools.reteoo.ObjectTypeNode.assertObject(Unknown Source) at > org.drools.reteoo.Rete.assertObject(Unknown Source) at > org.drools.reteoo.ReteooRuleBase.assertObject(Unknown Source) at > org.drools.reteoo.ReteooWorkingMemory.doAssertObject(Unknown Source) at > org.drools.common.AbstractWorkingMemory.assertObject(Unknown Source) at > org.drools.base.DefaultKnowledgeHelper.assertObject(Unknown Source) at > org.drools.base.DefaultKnowledgeHelper.assertObject(Unknown Source) at > it.polimi.forAllAnnidati.Rule_Regola_3_x_0.consequence(Rule_Regola_3_x_0.java:12) > at it.polimi.forAllAnnidati.Rule_Regola_3_x_0ConsequenceInvoker.evaluate(Rule_Regola_3_x_0ConsequenceInvoker.java:24) > at org.drools.common.DefaultAgenda.fireActivation(Unknown Source) at > org.drools.common.DefaultAgenda.fireNextItem(Unknown Source) at > org.drools.common.AbstractWorkingMemory.fireAllRules(Unknown Source) at > org.drools.common.AbstractWorkingMemory.fireAllRules(Unknown Source) at > it.polimi.forAllAnnidati.ForAllManager.esegui(ForAllManager.java:118) at > it.polimi.forAllAnnidati.ForAllManager.esegui(ForAllManager.java:107) at > it.polimi.forAllAnnidati.Manager.esegui(Manager.java:126) at > it.polimi.forAllAnnidati.Dynamo_rules_test.main(Dynamo_rules_test.java:56) > Exception in thread "main" org.drools.spi.ConsequenceException: > java.lang.NullPointerException at > org.drools.common.DefaultAgenda.fireActivation(Unknown Source) at > org.drools.common.DefaultAgenda.fireNextItem(Unknown Source) at > org.drools.common.AbstractWorkingMemory.fireAllRules(Unknown Source) at > org.drools.common.AbstractWorkingMemory.fireAllRules(Unknown Source) at > it.polimi.forAllAnnidati.ForAllManager.esegui(ForAllManager.java:118) at > it.polimi.forAllAnnidati.ForAllManager.esegui(ForAllManager.java:107) at > it.polimi.forAllAnnidati.Manager.esegui(Manager.java:126) at > it.polimi.forAllAnnidati.Dynamo_rules_test.main(Dynamo_rules_test.java:56) > Caused by: java.lang.NullPointerException at > org.drools.rule.BoundVariableConstraint.isAllowed(Unknown Source) at > org.drools.common.BetaNodeBinder.isAllowed(Unknown Source) at > org.drools.reteoo.LeftInputAdapterNode.assertObject(Unknown Source) at > org.drools.reteoo.ObjectSource.propagateAssertObject(Unknown Source) at > org.drools.reteoo.ObjectTypeNode.assertObject(Unknown Source) at > org.drools.reteoo.Rete.assertObject(Unknown Source) at > org.drools.reteoo.ReteooRuleBase.assertObject(Unknown Source) at > org.drools.reteoo.ReteooWorkingMemory.doAssertObject(Unknown Source) at > org.drools.common.AbstractWorkingMemory.assertObject(Unknown Source) at > org.drools.base.DefaultKnowledgeHelper.assertObject(Unknown Source) at > org.drools.base.DefaultKnowledgeHelper.assertObject(Unknown Source) at > it.polimi.forAllAnnidati.Rule_Regola_3_x_0.consequence(Rule_Regola_3_x_0.java:12) > at it.polimi.forAllAnnidati.Rule_Regola_3_x_0ConsequenceInvoker.evaluate(Rule_Regola_3_x_0ConsequenceInvoker.java:24) > ... 8 more > > > Any ideas??? > Liliana > > > --------------------------------------------------------------------- > To unsubscribe from this list please visit: > > http://xircles.codehaus.org/manage_email > > > -- Steven Williams Supervising Consultant Object Consulting Office: 8615 4500 Mob: 0439 898 668 Fax: 8615 4501 [EMAIL PROTECTED] www.objectconsulting.com.au consulting | development | training | support our experience makes the difference