<a href="http://jira.jboss.com/jira/browse/JBRULES-1204">http://jira.jboss.com/jira/browse/JBRULES-1204</a><br><br><div><span class="gmail_quote">On 9/18/07, <b class="gmail_sendername">Edson Tirelli</b> &lt;<a href="mailto:tirelli@post.com">
tirelli@post.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>&nbsp;&nbsp;&nbsp; Chris,<br><br>&nbsp;&nbsp;&nbsp; Thanks for reporting this.<br>
<br>&nbsp;&nbsp;&nbsp; I fixed a bug in 4.0.0 (released in 4.0.1) that causes you to see the correct value for &quot;TestEval1&quot; 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. 
<br><br>&nbsp;&nbsp;&nbsp; May I ask you to open a ticket for that?<br><br>&nbsp;&nbsp;&nbsp; Thanks,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Edson<br><br><br><div><span class="gmail_quote">2007/9/18, Chris West &lt;<a href="mailto:crayzfishr@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
crayzfishr@gmail.com</a>&gt;:
</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><span class="e" id="q_115199ff01c9da82_1">All,<br><br>I&#39;m having a problem using memberOf combined with a collect statement.&nbsp; 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).
<br><br>The rules are:<br><br><br>rule &quot;TestMemberOf&quot;<br>&nbsp;&nbsp;&nbsp; salience 10<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $messages: ArrayList() from collect (Message(status == 100))<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $wrappers: ArrayList() from collect (Wrapper(message memberOf $messages))
<br>&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(&quot;TestMemberOf: &quot; + $wrappers.size());<br>end<br><br>rule &quot;TestEval1&quot;<br>&nbsp;&nbsp;&nbsp; salience 9<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $messages: ArrayList() from collect (Message(status == 100))
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $wrappers: ArrayList() from collect (Wrapper($message: message, eval($messages.contains($message))))<br>&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(&quot;TestEval1: &quot; + $wrappers.size());<br>end<br><br>rule &quot;TestEval2&quot;
<br>&nbsp;&nbsp;&nbsp; salience 8<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $wrappers: ArrayList() from collect (Wrapper($message: message, eval($message.getStatus() == 100)))<br>&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(&quot;TestEval2: &quot; + $wrappers.size());
<br>end<br><br><br><br>The output is (by version):<br><br>4.0.0<br><br>TestMemberOf: 0<br>TestEval1: 0<br>TestEval2: 2<br><br>4.0.1<br><br>TestMemberOf: 0<br>TestEval1: 2<br>TestEval2: 2<br><br>4.0.2.SNAPSHOT (taken 9/18/07)
<br><br>TestMemberOf: 0<br>TestEval1: 2<br>TestEval2: 2<br><br><br>The correct output should be:<br><br>TestMemberOf: 2<br>
TestEval1: 2<br>
TestEval2: 2<br><br><br>Am I using memberOf correctly?&nbsp; Is there some issue using an eval to test conditions on a list created by a collect?<br><br>Any help would be appreciated.<br><br>Attached is the full example.<br><br>


Thanks,<br><span>-Chris West<br>
<br><br>
</span><br></span></div>_______________________________________________<br>rules-users mailing list<br><a href="mailto:rules-users@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users@lists.jboss.org
</a>
<br><a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://lists.jboss.org/mailman/listinfo/rules-users</a><br><br><br clear="all"></blockquote>

</div><br><br clear="all"><br>-- <br>&nbsp;&nbsp;Edson Tirelli<br>&nbsp;&nbsp;Software Engineer - JBoss Rules Core Developer<br>&nbsp;&nbsp;Office: +55 11 3529-6000<br>&nbsp;&nbsp;Mobile: +55 11 9287-5646<br>&nbsp;&nbsp;JBoss, a division of Red Hat @ <a href="http://www.jboss.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

www.jboss.com</a>
<br>_______________________________________________<br>rules-users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">
https://lists.jboss.org/mailman/listinfo/rules-users</a><br><br></blockquote></div><br>