<br> Inside eval() you write plain java code, where == is the identity operator. When you write constraints, you are using DRL language where == calls .equals() method behind the scenes.<br><br> []s<br> Edson<br><br>
<div class="gmail_quote">2009/8/3 Shah, Malay <span dir="ltr"><<a href="mailto:Malay.Shah@morganstanley.com">Malay.Shah@morganstanley.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>
<div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Verdana" size="2">Minor correction in the rule:</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Verdana" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Verdana" size="2">The eval block is:</font></span></div><div class="im">
<div dir="ltr" align="left"><span><font color="#0000ff" face="Verdana" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font face="Verdana"><font color="#0000ff" size="2">eval(lastCapacity<span> <font color="#ff0000"><b>=</b></font></span><font color="#000000"><font color="#ff0000"><b>=</b></font> </font>null && entityOid ==
parentOid && msgType == "8")</font></font></span></div>
<div><span><font color="#0000ff" face="Verdana" size="2"></font></span> </div>
</div><div><span><font color="#0000ff" face="Verdana" size="2">instead of </font></span></div><div class="im">
<div><font color="#0000ff" face="Verdana" size="2"></font> </div>
<div><span><font size="2"><font face="Verdana"><font color="#0000ff">eval(lastCapacity<span> <font color="#ff0000"><b>!</b></font></span></font></font></font></span><span><font size="2"><font face="Verdana"><font color="#0000ff"><font color="#ff0000"><b>= </b></font>null &&
entityOid == parentOid && msgType ==
"8")</font></font></font></span></div>
<div dir="ltr" align="left"><font color="#0000ff" face="Verdana" size="2"></font><font color="#0000ff" face="Verdana" size="2"></font><font color="#0000ff" face="Verdana" size="2"></font><font color="#0000ff" face="Verdana" size="2"></font><br>
</div>
</div><div dir="ltr" align="left"><span><font color="#0000ff" face="Verdana" size="2">Any help is much appreciated.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Verdana" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Verdana" size="2">Thanks</font></span></div>
<div dir="ltr" align="left"><font color="#0000ff" face="Verdana" size="2"></font> </div>
<div style="color: black; font-family: arial;"><span style="font-size: 10pt;">Malay Shah</span><span style="font-weight: normal; font-size: 7.5pt;"><br></span></div>
<div><font color="#0000ff" face="Verdana" size="2"></font> </div><font color="#0000ff" face="Verdana" size="2"></font><font color="#0000ff" face="Verdana" size="2"></font><font color="#0000ff" face="Verdana" size="2"></font><br>
<div dir="ltr" align="left" lang="en-us">
<hr>
<font face="Tahoma" size="2"><b>From:</b> Shah, Malay (IDEAS) <br><b>Sent:</b>
Monday, August 03, 2009 4:18 PM<br><b>To:</b>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br><b>Subject:</b> Question on eval
block<br></font><br></div><div><div></div><div class="h5">
<div></div>
<div><span><font face="Verdana" size="2">Hi,</font></span></div>
<div><span><font face="Verdana" size="2"></font></span> </div>
<div><span><font face="Verdana" size="2">I am trying to use
eval block in one of the rules and am a bit confused about it. The rule is
something like this:</font></span></div>
<div><span><font face="Verdana" size="2"></font></span> </div>
<div><span>
<p align="left"><font face="Verdana" size="2">rule
"LastCapacity"<br>when<br> e:
Execution(lastCapacity:lastCapacity,parentOid:parentOid)<br>
eo:
ExecutionOrder(entityOid:entityOid,msgType:msgType,execType:execType)<br><b>
eval(lastCapacity </b><span><font color="#0000ff"> </font><font color="#000000"><b>!</b></font></span><b>= null &&
entityOid == parentOid && msgType == "8")</b><br>then</font></p>
<p align="left"><span></span><font face="Verdana" size="2">.<span>.................</span><br>end</font></p>
<p><span><font face="Verdana" size="2">where Execution and
ExecutionOrder are 2 objects that are linked by an ID. I expect eval to return
true for certain sets of objects that I send. But, the above rule exits without
running the consequence. On the other hand, when I write the rule
as:</font></span></p>
<p><span><font face="Verdana" size="2"> rule
"LastCapacity"<br>when<br> e:
Execution(lastCapacity:<b>lastCapacity==null</b>,parentOid:parentOid)<br>
eo: ExecutionOrder(entityOid:<b>entityOid == parentOid</b>,
<b>msgType == "8"</b>)<br>then</font></span></p>
<p><span><font face="Verdana" size="2">.............................<br>end</font></span></p></span></div>
<div><font face="Verdana" size="2"><span>the rule triggers
the consequence for same set of objects. I thought that if the expression
in eval block comes out to be true, the consequence will be triggered. Am I
missing something obvious here?</span></font></div>
<div><font face="Verdana" size="2"><span></span></font> </div>
<div><font face="Verdana" size="2"><span>Thanks</span></font></div>
<div><font face="Verdana" size="2"></font> </div>
<div style="color: black; font-family: arial;"><span style="font-size: 10pt;">Malay Shah<br></span></div></div></div></div><div><div></div><div class="h5">
<div>
<hr>
</div>
<p style="margin: 0in 0in 0pt; text-indent: 0in;"><span style="font-size: 8pt; color: gray;"><font color="gray" face="Arial" size="1">NOTICE: If received in error, please destroy, and notify sender. Sender does not intend to waive confidentiality or privilege. Use of this email is prohibited when received in error. We<span style="font-size: 7.5pt; color: gray;"> may monitor and store emails to the extent permitted by applicable law.</span></font></span></p>
<div></div></div></div></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><br clear="all"><br>-- <br> Edson Tirelli<br> JBoss Drools Core Development<br> JBoss by Red Hat @ <a href="http://www.jboss.com">www.jboss.com</a><br>