<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">...Always change the huge signature... sorry...<DIV><BR class="khtml-block-placeholder"></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Edson,</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">   I tried what you said, but it is not the same... cant get the expected result.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">With agenda-group the can control de flow, but outside the rules (auto-focus didnt work well),</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">and before that I prefer to use rule-flow-group (and use the GUI).</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">What Im trying to get is a set of rules that dont depend on flows or sequences to work together, because</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">this set of rules can be large and I dont want the business user have to check all rules to know how to write</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">the next rule... they must be writen in an independent way, but work together...</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">lock-on-active didnt work either to get that result, because when I use it stops activations, so the update(fact) actually</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">has no effect on other rules... I need to put wm.setFocus("group1");wm.setFocus("group2");..etc. at the java code...</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I dont want to do that...</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Maybe you can help me...</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">an example will be this...(pseudo code)</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">rule "base vacation days"</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>when</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>e: Employee( yearsInCompany &gt; 1)</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>then</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>e.setVacationDays(10);</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>update(e);</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">end</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">rule "seniors extra vacation days"</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>when</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>e: Employee( yearsInCompany &gt; 4, vd: vacationDays)</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>then</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>e.setVacationDays(vd+2);</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>update(e);</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">end</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">rule "old-employee extra vacation days"</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>when</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>e: Employee( yearsInCompany &gt; 10, vd: vacationDays)</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>then</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>e.setVacationDays(vd+4);</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN><SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN>update(e);</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">end</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">....and so on....</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">So I need the business ppl write this rules without knowing the rest of the rules... I think this is</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">the idea of having a rule-system...</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Helvetica; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Thanks.<SPAN class="Apple-tab-span" style="white-space:pre">        </SPAN></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><BR class="khtml-block-placeholder"></DIV><DIV><BR><DIV><DIV>On 03-07-2007, at 16:40, Edson Tirelli wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><BR>   Felipe,<BR><BR>   Thanks. I'm working on it.<BR><BR>   BTW, I forgot to mention, what you are doing to control rules is a not a good way to do it. You should try agenda-group+lock-on-active rule attributes instead. <BR>   Look at the conway's game of life as an example, and maybe help us document the feature... :)<BR><BR>   []s<BR>   Edson<BR><BR><DIV><SPAN class="gmail_quote">2007/7/3, Felipe Piccolini &lt;<A href="mailto:felipe.piccolini@bluesoft.cl"> felipe.piccolini@bluesoft.cl</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 style=""><DIV style="margin: 0px;">Edson,</DIV> <DIV style="margin: 0px; min-height: 14px;"><BR></DIV><DIV style="margin: 0px;">Thanks for the reply... it is nasty... </DIV><DIV style="margin: 0px; min-height: 14px;"><BR></DIV><DIV style="margin: 0px;">Jira created...</DIV> <DIV style="margin: 0px;"><A href="http://jira.jboss.com/jira/browse/JBRULES-966" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jira.jboss.com/jira/browse/JBRULES-966</A></DIV><DIV style="margin: 0px; min-height: 14px;"> <BR></DIV><DIV style="margin: 0px;">Thanks</DIV><DIV><BR></DIV><DIV>PD: duplicated email because I forgot to cut the huge-company-signature... :)</DIV><DIV><SPAN class="e" id="q_1138d97184c6edd7_1"><BR><DIV><DIV>On 03-07-2007, at 14:18, Edson Tirelli wrote: </DIV><BR><BLOCKQUOTE type="cite"><BR>   Felipe,<BR><BR>   Ok, this is a nasty damn bug. :(<BR><BR>   I'm working on a solution for it right now. May I ask you please to open a JIRA for it and attach your code bellow? <BR><BR>   Thank you,<BR>        Edson <BR><BR><DIV><SPAN class="gmail_quote">2007/7/3, Felipe Piccolini &lt;<A href="mailto:felipe.piccolini@bluesoft.cl" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> felipe.piccolini@bluesoft.cl</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><DIV style="margin: 0px;">I know I already asked this in a previous email, but no answer and diferent subject... so I'll ask again  </DIV><DIV style="margin: 0px;"><BR></DIV><DIV style="margin: 0px;">I have an issue using update in 2 rules that update the same object... a loop is created even when I try to </DIV><DIV style="margin: 0px;">avoid the loop adding an extra condition to each rule... Im inserting an ArrayList as a fact too, so I can check </DIV><DIV style="margin: 0px;">the extra condition...</DIV><DIV style="margin: 0px;"> <BR></DIV><DIV style="margin: 0px;">Can anyone tell me how to fix this?</DIV><DIV style="margin: 0px;"><BR></DIV><DIV style="margin: 0px;"> Consider this:</DIV><DIV style="margin: 0px;">//-------RULES----------------------------- </DIV><DIV style="margin: 0px;"><FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;">package</SPAN></FONT><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;"> cl.bluesoft.test</SPAN></FONT></DIV> <DIV style="margin: 0px; min-height: 15px;"><BR></DIV><DIV style="margin: 0px;"><FONT color="#817e21" face="Monaco" size="3"><SPAN style="font-size: 11px;"> #list any import classes here.</SPAN></FONT></DIV><DIV style="margin: 0px;"> <FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;">import</SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> java.util.List</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT color="#821313" face="Monaco" size="3"> <SPAN style="font-size: 11px;">import</SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> java.util.ArrayList </SPAN></FONT></DIV><DIV style="margin: 0px; min-height: 15px;"><BR></DIV><DIV style="margin: 0px;"> <FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;">import</SPAN></FONT><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;"> cl.bluesoft.test.rules.Fact</SPAN></FONT></DIV><DIV style="margin: 0px; min-height: 15px;"> <BR></DIV><DIV style="margin: 0px;"><FONT color="#817e21" face="Monaco" size="3"><SPAN style="font-size: 11px;"> #declare any global variables here</SPAN></FONT></DIV><DIV style="margin: 0px; min-height: 15px;"><BR></DIV><DIV style="margin: 0px;"> <FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;">rule</SPAN> </FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> </SPAN></FONT><FONT color="#3a7c1c" face="Monaco" size="3"><SPAN style="font-size: 11px;"> "test update A"</SPAN></FONT></DIV><DIV style="margin: 0px;"> <FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">    </SPAN></FONT><FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;"> salience</SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> 699</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">    </SPAN></FONT><FONT color="#821313" face="Monaco" size="3"> <SPAN style="font-size: 11px;">no-loop</SPAN></FONT> <FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> </SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><FONT color="#821313" face="Monaco" size="3"> <SPAN style="font-size: 11px;"> when</SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> $f : Fact($n: number &gt; 0)</SPAN> </FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">$list: ArrayList( this </SPAN></FONT><FONT color="#821313" face="Monaco" size="3"> <SPAN style="font-size: 11px;">excludes</SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> </SPAN></FONT><FONT color="#3a7c1c" face="Monaco" size="3"> <SPAN style="font-size: 11px;">"key1" </SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">)</SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><FONT color="#821313" face="Monaco" size="3"> <SPAN style="font-size: 11px;"> then</SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> System.out.println(</SPAN></FONT> <FONT color="#3a7c1c" face="Monaco" size="3"><SPAN style="font-size: 11px;">"A-fact number1:"</SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">+$f.getNumber()+ </SPAN></FONT><FONT color="#3a7c1c" face="Monaco" size="3"> <SPAN style="font-size: 11px;">" list 1:"</SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">+$list);</SPAN></FONT></DIV><DIV style="margin: 0px;"> <SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">         </SPAN><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">$list.add(</SPAN></FONT><FONT color="#3a7c1c" face="Monaco" size="3"><SPAN style="font-size: 11px;"> "key1"</SPAN></FONT><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;">);</SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;">$f.setNumber($n + 1); </SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN><FONT color="#821313" face="Monaco" size="3"> <SPAN style="font-size: 11px;">update</SPAN></FONT> <FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> ($f);</SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">         </SPAN><FONT color="#821313" face="Monaco" size="3"> <SPAN style="font-size: 11px;">update</SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> ($list);</SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">         </SPAN><SPAN style="white-space: pre;">         </SPAN><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">System.out.println(</SPAN></FONT><FONT color="#3a7c1c" face="Monaco" size="3"><SPAN style="font-size: 11px;">"A-fact number2:" </SPAN></FONT><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;">+$f.getNumber()+</SPAN></FONT><FONT color="#3a7c1c" face="Monaco" size="3"><SPAN style="font-size: 11px;">" list 2:"</SPAN></FONT><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;"> +$list);</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;">end</SPAN></FONT></DIV><DIV style="margin: 0px; min-height: 15px;"> <BR></DIV><DIV style="margin: 0px; min-height: 15px;"> <BR></DIV><DIV style="margin: 0px;"><FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;">rule</SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> </SPAN></FONT><FONT color="#3a7c1c" face="Monaco" size="3"> <SPAN style="font-size: 11px;">"test update B"</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">     </SPAN></FONT><FONT color="#821313" face="Monaco" size="3"> <SPAN style="font-size: 11px;">salience</SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> 699</SPAN></FONT></DIV><DIV style="margin: 0px;"> <FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">     </SPAN></FONT><FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;">no-loop</SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">  </SPAN></FONT></DIV><DIV style="margin: 0px;"> <SPAN style="white-space: pre;">        </SPAN><FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;">when</SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">         </SPAN><SPAN style="white-space: pre;">         </SPAN><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">$f : Fact($n: number &gt; 1)</SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN> <SPAN style="white-space: pre;">        </SPAN> <FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">$list: ArrayList( this </SPAN></FONT><FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;">excludes </SPAN></FONT><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;"> </SPAN></FONT><FONT color="#3a7c1c" face="Monaco" size="3"><SPAN style="font-size: 11px;">"key2"</SPAN></FONT><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;">)</SPAN> </FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;">then</SPAN></FONT></DIV><DIV style="margin: 0px;"> <SPAN style="white-space: pre;">         </SPAN><SPAN style="white-space: pre;">        </SPAN><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">System.out.println(</SPAN></FONT><FONT color="#3a7c1c" face="Monaco" size="3"><SPAN style="font-size: 11px;"> "B-fact number1:" </SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">+$f.getNumber()+</SPAN></FONT><FONT color="#3a7c1c" face="Monaco" size="3"><SPAN style="font-size: 11px;">" list 1:" </SPAN></FONT><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;">+$list);</SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;"> $list.add(</SPAN></FONT><FONT color="#3a7c1c" face="Monaco" size="3"><SPAN style="font-size: 11px;">"key2"</SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> );</SPAN></FONT></DIV><DIV style="margin: 0px;"> <SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">$f.setNumber($n + 1);</SPAN></FONT> </DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">         </SPAN><SPAN style="white-space: pre;">        </SPAN><FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;">update</SPAN></FONT><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;"> ($f);</SPAN></FONT> </DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN><FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;"> update</SPAN></FONT><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;"> ($list);</SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;"> System.out.println(</SPAN></FONT><FONT color="#3a7c1c" face="Monaco" size="3"><SPAN style="font-size: 11px;">"B-fact number2:"</SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> +$f.getNumber()+ </SPAN></FONT><FONT color="#3a7c1c" face="Monaco" size="3"><SPAN style="font-size: 11px;">" list 2:"</SPAN></FONT><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">+$list);</SPAN></FONT> </DIV><DIV style="margin: 0px;"> <FONT color="#821313" face="Monaco" size="3"><SPAN style="font-size: 11px;">end</SPAN></FONT></DIV><DIV style="margin: 0px; min-height: 15px;"><FONT color="#821313"><BR></FONT></DIV><DIV style="margin: 0px;"> //-------FACT----------------------------- </DIV><DIV style="margin: 0px;">public class Fact implements Serializable {</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>private static final long serialVersionUID = 331627137981862975L; </DIV><DIV style="margin: 0px; min-height: 14px;"> <SPAN style="white-space: pre;">        </SPAN><BR></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>private int number;</DIV><DIV style="margin: 0px; min-height: 14px;"> <SPAN style="white-space: pre;">        </SPAN> <BR></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>public Fact(int number){</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">         </SPAN>this.number <SPAN style="white-space: pre;">        </SPAN>= number;</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>}</DIV><DIV style="margin: 0px; min-height: 14px;"><SPAN style="white-space: pre;">         </SPAN><BR></DIV> <DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>public Fact(){</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN>this(0);</DIV> <DIV style="margin: 0px;"> <SPAN style="white-space: pre;">        </SPAN>}</DIV><DIV style="margin: 0px; min-height: 14px;"><BR></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>/**</DIV><DIV style="margin: 0px;"> <SPAN style="white-space: pre;">         </SPAN> * @return the number</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN> */</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>public int getNumber() { </DIV><DIV style="margin: 0px;"> <SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN>return number;</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>}</DIV><DIV style="margin: 0px; min-height: 14px;"> <BR> </DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>/**</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN> * @param number the number to set</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">         </SPAN> */</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>public void setNumber(int number) {</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">         </SPAN>this.number = number;</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>}</DIV><DIV style="margin: 0px; min-height: 14px;"><SPAN style="white-space: pre;">        </SPAN><BR></DIV><DIV style="margin: 0px;"> }</DIV><DIV style="margin: 0px; min-height: 15px;"><FONT color="#821313"><BR></FONT></DIV><DIV style="margin: 0px;">//------TEST---------</DIV><DIV style="margin: 0px;">public class TestUpdateFact implements Serializable { </DIV><DIV style="margin: 0px; min-height: 14px;"><BR></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>private static final long serialVersionUID = -574789596641083743L;</DIV><DIV style="margin: 0px; min-height: 14px;"> <BR></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>/**</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN> * @param args</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">         </SPAN> */</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN>public static void main(String[] args) {</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">         </SPAN><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">RuleBase ruleBase = RuleBaseFactory.newRuleBase();</SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">         </SPAN><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">Package pkg = builder.getPackage();</SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">         </SPAN><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">.... </SPAN></FONT></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN>WorkingMemory session = ruleBase.getStatefulSession();</DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN>...etc etc...</DIV><DIV style="margin: 0px; min-height: 14px;"><BR></DIV><DIV style="margin: 0px;"> <SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN>List list = new ArrayList();</DIV><DIV style="margin: 0px; min-height: 14px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">         </SPAN><BR></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN>Fact fact1 = new Fact(1);</DIV><DIV style="margin: 0px; min-height: 14px;"><BR></DIV><DIV style="margin: 0px;"> <SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN>session.fireAllRules();</DIV><DIV style="margin: 0px; min-height: 14px;"><BR></DIV><DIV style="margin: 0px;"><SPAN style="white-space: pre;">         </SPAN><SPAN style="white-space: pre;">        </SPAN>....etc, etc...</DIV><DIV style="margin: 0px; min-height: 14px;"><SPAN style="white-space: pre;">        </SPAN><SPAN style="white-space: pre;">        </SPAN><BR></DIV><DIV style="margin: 0px;"> <SPAN style="white-space: pre;">        </SPAN>}</DIV><DIV style="margin: 0px; min-height: 14px;"><BR></DIV><DIV style="margin: 0px;">}</DIV><DIV style="margin: 0px; min-height: 14px;"><BR></DIV><DIV style="margin: 0px;">//--------OUTPUT------------ </DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">A-fact number1:1 list 1:[]</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> A-fact number2:2 list 2:[key1]</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">B-fact number1:2 list 1:[key1]</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;">B-fact number2:3 list 2:[key1, key2]</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">A-fact number1:3 list 1:[key1, key2]</SPAN></FONT> </DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">A-fact number2:4 list 2:[key1, key2, key1]</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;"> B-fact number1:4 list 1:[key1, key2, key1]</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">B-fact number2:5 list 2:[key1, key2, key1, key2]</SPAN></FONT></DIV><DIV style="margin: 0px;"> <FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">A-fact number1:5 list 1:[key1, key2, key1, key2]</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">A-fact number2:6 list 2:[key1, key2, key1, key2, key1] </SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">B-fact number1:6 list 1:[key1, key2, key1, key2, key1]</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;">B-fact number2:7 list 2:[key1, key2, key1, key2, key1, key2]</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">A-fact number1:7 list 1:[key1, key2, key1, key2, key1, key2] </SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">A-fact number2:8 list 2:[key1, key2, key1, key2, key1, key2, key1]</SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;">B-fact number1:8 list 1:[key1, key2, key1, key2, key1, key2, key1]</SPAN></FONT></DIV><DIV style="margin: 0px; min-height: 15px;"><BR></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"> <SPAN style="font-size: 11px;">.... for ever.....</SPAN></FONT></DIV><DIV style="margin: 0px; min-height: 15px;"><BR></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">So I have a loop... only when I use update and both rules...  condition about the </SPAN></FONT></DIV><DIV style="margin: 0px;"><FONT face="Monaco" size="3"><SPAN style="font-size: 11px;">list not containing "key1" and "key2" seems not properly chequed... I dont know...</SPAN></FONT> </DIV><DIV style="margin: 0px; min-height: 14px;"><BR></DIV><DIV style="margin: 0px;">Can somebody help me? Am I missing something here?</DIV><DIV style="margin: 0px; min-height: 14px;"><BR></DIV><DIV style="margin: 0px;"> Thanks.</DIV><BR><DIV> <SPAN style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"> <DIV><SPAN style="text-decoration: underline;"><SPAN>                                                                        </SPAN></SPAN><DIV><FONT size="3"><SPAN style="font-size: 13px;"><B style="font-size: 13px; font-weight: bold;"> <SPAN style="font-size: 13px; font-weight: bold;">Felipe Piccolini M.</SPAN></B></SPAN></FONT></DIV><DIV><A href="mailto:felipe.piccolini@bluesoft.cl" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> <SPAN style="color: rgb(0, 0, 238);">felipe.piccolini@bluesoft.cl</SPAN></A></DIV><BR></DIV><DIV><BR></DIV><BR></SPAN> </DIV><BR></DIV><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>  Edson Tirelli<BR>  Software Engineer - JBoss Rules Core Developer<BR>  Office: +55 11 3529-6000<BR>  Mobile: +55 11 9287-5646<BR>  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><DIV style="margin: 0px;">_______________________________________________</DIV><DIV style="margin: 0px;"> rules-users mailing list</DIV><DIV style="margin: 0px;"><A href="mailto:rules-users@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users@lists.jboss.org</A></DIV><DIV style="margin: 0px;"> <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></DIV> </BLOCKQUOTE></DIV><BR><DIV> <SPAN style="border-collapse: separate; border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"> <DIV><SPAN style="text-decoration: underline;"><SPAN>                                                                        </SPAN></SPAN><DIV><FONT size="3"><SPAN style="font-size: 13px;"><B style="font-size: 13px; font-weight: bold;"> <SPAN style="font-size: 13px; font-weight: bold;">Felipe Piccolini M.</SPAN></B></SPAN></FONT></DIV><DIV><A href="mailto:felipe.piccolini@bluesoft.cl" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> <SPAN style="color: rgb(0, 0, 238);">felipe.piccolini@bluesoft.cl</SPAN></A></DIV><BR></DIV><DIV><BR></DIV><BR></SPAN> </DIV><BR></SPAN></DIV></DIV><BR>_______________________________________________<BR>rules-dev mailing list <BR><A onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</A><BR><A onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank"> https://lists.jboss.org/mailman/listinfo/rules-dev</A><BR><BR></BLOCKQUOTE></DIV><BR><BR clear="all"><BR>-- <BR>  Edson Tirelli<BR>  Software Engineer - JBoss Rules Core Developer<BR>  Office: +55 11 3529-6000<BR>  Mobile: +55 11 9287-5646 <BR>  JBoss, a division of Red Hat @ <A href="http://www.jboss.com">www.jboss.com</A><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">rules-dev mailing list</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="https://lists.jboss.org/mailman/listinfo/rules-dev">https://lists.jboss.org/mailman/listinfo/rules-dev</A></DIV> </BLOCKQUOTE></DIV><BR><DIV> <SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><DIV><SPAN class="Apple-style-span" style="text-decoration: underline;; -khtml-text-decorations-in-effect: underline; "><SPAN class="Apple-style-span" style="-khtml-text-decorations-in-effect: underline; ">                                                                        </SPAN></SPAN><DIV><FONT class="Apple-style-span" size="3"><SPAN class="Apple-style-span" style="font-size: 13px;"><B style="font-size: 13px; font-weight: bold; "><SPAN class="Apple-style-span" style="font-size: 13px; font-weight: bold; ">Felipe Piccolini M.</SPAN></B></SPAN></FONT></DIV><DIV><A href="mailto:felipe.piccolini@bluesoft.cl"><SPAN class="Apple-style-span" style="color: rgb(0, 0, 238); -khtml-text-decorations-in-effect: underline; ">felipe.piccolini@bluesoft.cl</SPAN></A></DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"></DIV><BR class="Apple-interchange-newline"></SPAN> </DIV><BR></DIV></BODY></HTML>