http://jira.jboss.com/jira/browse/JBRULES-1204

On 9/18/07, Edson Tirelli <[EMAIL PROTECTED]> wrote:
>
>
>     Chris,
>
>     Thanks for reporting this.
>
>     I fixed a bug in 4.0.0 (released in 4.0.1) that causes you to see the
> correct value for "TestEval1" in 4.0.1 and later versions. Although, at
> that time I missed the memberOf scenario. I know why it happens (shadow fact
> related), but now I need to figure out a way to fix it.
>
>     May I ask you to open a ticket for that?
>
>     Thanks,
>       Edson
>
>
> 2007/9/18, Chris West <[EMAIL PROTECTED]>:
> >
> > All,
> >
> > I'm having a problem using memberOf combined with a collect statement.
> > My test includes 3 rules each written to output the same results (I think),
> > but I get different results (depending on which version of Drools I use).
> >
> > The rules are:
> >
> >
> > rule "TestMemberOf"
> >     salience 10
> >     when
> >         $messages: ArrayList() from collect (Message(status == 100))
> >         $wrappers: ArrayList() from collect (Wrapper(message memberOf
> > $messages))
> >     then
> >         System.out.println("TestMemberOf: " + $wrappers.size());
> > end
> >
> > rule "TestEval1"
> >     salience 9
> >     when
> >         $messages: ArrayList() from collect (Message(status == 100))
> >         $wrappers: ArrayList() from collect (Wrapper($message: message,
> > eval($messages.contains($message))))
> >     then
> >         System.out.println("TestEval1: " + $wrappers.size());
> > end
> >
> > rule "TestEval2"
> >     salience 8
> >     when
> >         $wrappers: ArrayList() from collect (Wrapper($message: message,
> > eval($message.getStatus() == 100)))
> >     then
> >         System.out.println("TestEval2: " + $wrappers.size());
> > end
> >
> >
> >
> > The output is (by version):
> >
> > 4.0.0
> >
> > TestMemberOf: 0
> > TestEval1: 0
> > TestEval2: 2
> >
> > 4.0.1
> >
> > TestMemberOf: 0
> > TestEval1: 2
> > TestEval2: 2
> >
> > 4.0.2.SNAPSHOT (taken 9/18/07)
> >
> > TestMemberOf: 0
> > TestEval1: 2
> > TestEval2: 2
> >
> >
> > The correct output should be:
> >
> > TestMemberOf: 2
> > TestEval1: 2
> > TestEval2: 2
> >
> >
> > Am I using memberOf correctly?  Is there some issue using an eval to
> > test conditions on a list created by a collect?
> >
> > Any help would be appreciated.
> >
> > Attached is the full example.
> >
> > Thanks,
> > -Chris West
> >
> >
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users@lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
> >
>
>
> --
>   Edson Tirelli
>   Software Engineer - JBoss Rules Core Developer
>   Office: +55 11 3529-6000
>   Mobile: +55 11 9287-5646
>   JBoss, a division of Red Hat @ www.jboss.com
> _______________________________________________
> rules-users mailing list
> rules-users@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to