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