The Cell2 constructor was just a miss in my pasting into the email (I
removed the 2 elsewhere to reduce confusion :-).

I will recheck my build etc and get back to you if it still happens.

cheers
Steve

On 4/5/06, Michael Neale <[EMAIL PROTECTED]> wrote:
>
> Hi Steve.
>
> I am not sure what happened, but I tried it and it worked fine (you had
> Cell2 as the constructor though...). We have done a lot recently, so
> perhaps
> yours is more then 30 seconds out of date (!).
>
> Things move fast here !
>
> Keep the tests a comin !
>
> Michael.
>
> On 4/4/06, Steven Williams <[EMAIL PROTECTED]> wrote:
> >
> > I am getting an error when I have something like the following:
> >
> > rule "test eval"
> >     when
> >         cell1 : Cell(value1 : value != 0)
> >         cell2 : Cell(value2 : value < value1)
> >         eval(true)
> >     then
> >         System.out.println("setting value to " + (value2.intValue() +
> 1));
> >         cell2.setValue(value2.intValue() + 1);
> >         modify(cell2);
> > end
> >
> > where Cell is
> >
> > public class Cell {
> >
> >     int value = 0;
> >
> >     public Cell2(int value)
> >     {
> >         this.value = value;
> >     }
> >
> >     public int getValue() {
> >         return value;
> >     }
> >
> >     public void setValue(int value) {
> >         this.value = value;
> >     }
> > }
> >
> > The error is
> >
> > Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
> >     at java.util.ArrayList.RangeCheck(ArrayList.java:547)
> >     at java.util.ArrayList.get(ArrayList.java:322)
> >     at org.drools.reteoo.TupleSource.propagateRetractTuple(
> > TupleSource.java
> > :181)
> >     at org.drools.reteoo.EvalConditionNode.retractTuple(
> > EvalConditionNode.java:150)
> >     at org.drools.reteoo.TupleSource.propagateRetractTuple(
> > TupleSource.java
> > :168)
> >     at org.drools.reteoo.JoinNode.modifyObject(JoinNode.java:312)
> >     at org.drools.reteoo.ObjectSource.propagateModifyObject(
> > ObjectSource.java:138)
> >     at org.drools.reteoo.ObjectTypeNode.modifyObject(ObjectTypeNode.java
> > :162)
> >     at org.drools.reteoo.Rete.modifyObject(Rete.java:171)
> >     at org.drools.reteoo.RuleBaseImpl.modifyObject(RuleBaseImpl.java
> :197)
> >     at org.drools.reteoo.WorkingMemoryImpl.modifyObject(
> > WorkingMemoryImpl.java:665)
> >     at org.drools.base.DefaultKnowledgeHelper.modifyObject(
> > DefaultKnowledgeHelper.java:80)
> >     at testremover.Test_eval_0.consequence(Test_eval_0.java:22)
> >     at testremover.Test_eval_0ConsequenceInvoker.evaluate
> > (Test_eval_0ConsequenceInvoker.java:26)
> >     at org.drools.common.Agenda.fireActivation(Agenda.java:321)
> >     ... 19 more
> >
> > When I remove the eval it works.
> >
> > cheers
> > Steve
> >
> > --
> > 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
> >
> >
>
>


--
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