The fix for 1115 and fix for 1204 you're working will not help me unless 1203 is fixed, because all versions of code after 4.0.0 are affected by 1203, and it is a showstopper for me since I use JDK dynamic proxies as facts.
<br><br>-Chris<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; Do you really need to &quot;collect&quot; all these facts? Are you doing anything with these lists? It would be easier if you can show me the full rule, but seems to me that maybe you can avoid some or all of these collects. Remember that collect is a heavy CE, so it is always good to avoid when possible.
<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; Anyway, there should be no problem if you use eval(). The problem in JBRULES-1204 only affects memberOf operator, since the fix I implemented in <a href="http://jira.jboss.org/jira/browse/JBRULES-1115" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://jira.jboss.org/jira/browse/JBRULES-1115
</a> fixed the eval()s.<br><br>&nbsp;&nbsp;&nbsp; I will fix 1204 asap.<br><br>&nbsp;&nbsp;&nbsp; []s<div><span class="e" id="q_1151a4d393bec539_1"><br>&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;">Edson,<br><br>So now my dilemma is that I cannot use 4.0.0 due to JBRULES-1204, but I cannot use 
4.0.1 or 4.0.2-SNAPSHOT due to JBRULES-1203.&nbsp; Below is an actual block from my rule.&nbsp; I&#39;d like to transform it into something like &quot;TestEval2&quot; from my example, but it is more complicated.&nbsp; Can it be rewritten like &quot;TestEval2&quot;?
<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $sorties: ArrayList() from collect (AirPlanSortie(event == $currentEvent, spare == false, superSpare == false))<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $statuses: ArrayList($sortieSize: size) from collect (SortieStatus(state != 
SortieState.CANCELLED, $sortie1: sortie, eval ($sorties.contains($sortie1))))<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $launches: ArrayList(size &gt; 0, size == $sortieSize) from collect (LaunchAircraftStatus(launched == true, $sortie0: sortie, eval($sortie0.getEvent().equals($currentEvent))))
<br><span><br>-Chris<br><br><br></span><div><span><span class="gmail_quote">On 9/18/07, <b class="gmail_sendername">Edson Tirelli</b> &lt;<a href="mailto:tirelli@post.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

tirelli@post.com</a>&gt; wrote:</span></span><div><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>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 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></blockquote></span></div></div><br>
<br>_______________________________________________<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></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>
</span></div><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>