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

Reply via email to