Your description of what you think you have to do does not agree with much of the code you show.<br><br>- The rule name says that is depends on A.name == "bob", which isn't in the condition.<br>- The RHS setA( $a.getName() ) is obviusly in error because B.a is an A, not a String.<br>
- Why should B be modified, if the change only concerns A.name.<br><br>It is sufficient to change A.name. All Bs referencing that one A will continue to reference the modfied A.<br><br>-W<br><br><br><div class="gmail_quote">
2010/6/10 Fnu Mahalakshmi <span dir="ltr"><<a href="mailto:FMahalakshmi@nyx.com">FMahalakshmi@nyx.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div link="blue" vlink="purple" lang="EN-US">
<div>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">Hi,</span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">I have a list of items which I want to modify if condition
turns true. I tried forall but its not working::</span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;"> </span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">A{</span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">String Name</span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">}</span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">B{</span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">A a,</span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">}</span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;"> </span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">Rule “ modify B if A name = ‘bob’”</span></font></p>
<p class="MsoNormal" style=""><b><font color="#960000" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;">when</span></font></b><font face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New";"></span></font></p>
<p class="MsoNormal" style=""><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font><b><font color="#960000" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;">forall</span></font></b><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;">($a : A()</span></font><font face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New";"></span></font></p>
<p class="MsoNormal" style=""><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> $b : B( a == $a)</span></font><font face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New";"></span></font></p>
<p class="MsoNormal" style=""><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> )</span></font><font face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New";"></span></font></p>
<p class="MsoNormal" style=""><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font><b><font color="#960000" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;">then</span></font></b><font face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New";"></span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> modify($b){</span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> seta($a.getName())};</span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;">I have many B
objects pointing to same A object and when name of A is modified I want the
rule to fire and all B to also be modified.</span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;">What is wrong
above???</span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;">I tried this
too:</span></font></p>
<p class="MsoNormal" style=""><b><font color="#960000" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;">when</span></font></b><font face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New";"></span></font></p>
<p class="MsoNormal" style=""><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font><b><font color="#960000" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;">forall</span></font></b><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;">($a : A()</span></font><font face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New";"></span></font></p>
<p class="MsoNormal" style=""><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> B( a == $a)</span></font><font face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New";"></span></font></p>
<p class="MsoNormal" style=""><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> )</span></font><font face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New";"></span></font></p>
<p class="MsoNormal" style=""><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font><b><font color="#960000" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(150, 0, 0); font-weight: bold;">then</span></font></b><font face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New";"></span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> modify($b){ //
but then I cannot do this step.which is required</span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> seta($a.getName())};</span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;">Any Idea???</span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;"> </span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;">Thank you</span></font></p>
<p class="MsoNormal"><font color="black" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: black;">M</span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;"> </span></font></p>
</div>
<pre></pre>
<p></p><hr size="1">
<p><b><font color="green">Please consider the environment before printing this email.</font></b></p>
<p><b>Visit our website at <a href="http://www.nyse.com" target="_blank">http://www.nyse.com</a> <br>
*****************************************************************************
<br>
Note: The information contained in this message and any attachment to it is privileged, confidential and protected from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by replying to the message, and please delete it from your system. Thank you. NYSE Euronext.
</b></p><pre></pre></div>
<br>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a 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>