<br><br><div><span class="gmail_quote">2007/6/14, <a href="mailto:rules-users-request@lists.jboss.org">rules-users-request@lists.jboss.org</a> <<a href="mailto:rules-users-request@lists.jboss.org">rules-users-request@lists.jboss.org
</a>>:</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="direction: ltr;">Send rules-users mailing list submissions to<br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><br>To subscribe or unsubscribe via the World Wide Web, visit<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>or, via email, send a message with subject or body 'help' to<br> <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users-request@lists.jboss.org">
rules-users-request@lists.jboss.org</a><br><br>You can reach the person managing the list at<br> <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users-owner@lists.jboss.org">rules-users-owner@lists.jboss.org
</a><br><br>When replying, please edit your Subject line so it is more specific<br>than "Re: Contents of rules-users digest..."<br></div><br>Today's Topics:<br><br> 1. How to get value of global variable from one rule to another
<br> (Alexander Komissarov)<br> 2. RE: How to get value of global variable from one rule<br> toanother (Anstis, Michael (M.))<br> 3. Re: How to get value of global variable from one rule to<br> another (Edson Tirelli)
<br> 4. Running on z/OS... (jdepaul)<br><br><br>---------- Пересланное письмо ----------<br>From: "Alexander Komissarov" <<a href="mailto:aleks.komissarov@gmail.com">aleks.komissarov@gmail.com</a>><br>To:
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>Date: Thu, 14 Jun 2007 16:46:07 +0300<br>Subject: [rules-users] How to get value of global variable from one rule to another<br>Hello,<br><br>
Please give me advice for best way storing global variables.<br><br>global java.lang.Integer res;<br>global java.lang.Integer res2;<br>...<br><br>I've several number of rules. One rule has variable initialization
e.g.:<br><br>...<br>rule "AmountsAreNotNull" salience 20<br> when<br> < conditions ><br> then<br> ...<br> res = new Integer(a.compareTo(new BigDecimal(25)));<br> res = (res == -1)?0:res;
<br> res = (res == -1)?0:res;<br> res2 = new Integer(a.compareTo(b));<br> res2 = (res2 == -1)?0:res2;<br> ...<br>end<br><br>The values of these variables are proper and equal 1<br><br>Then next rule has comparing for res|res2 values, but they have lost their values (res == null and res2 == null)
<br><br>rule "CompareValues" salience 10<br> when<br> res:Integer(intValue == 0)<br> res2:Integer(intValue == 0)<br> result:List()<br> then<br> result.add(Boolean.TRUE);<br>end
<br clear="all">
<br>What decision you can advise me to save variables value between rules?<br>Thanks.<br>____________________<br>Regards,<br><span>Komissarov Alexander<br>mail: <a href="mailto:aleks.komissarov@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
aleks.komissarov@gmail.com
</a><br>icq: 239128267</span>
<br><br>---------- Пересланное письмо ----------<br>From: "Anstis, Michael \(M.\)" <<a href="mailto:manstis1@ford.com">manstis1@ford.com</a>><br>To: "Rules Users List" <<a href="mailto:rules-users@lists.jboss.org">
rules-users@lists.jboss.org</a>><br>Date: Thu, 14 Jun 2007 15:03:33 +0100<br>Subject: RE: [rules-users] How to get value of global variable from one rule toanother<br>
<div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">I believe globals are to be used in the RHS of a rule and
not the LHS which uses "normal" facts.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">I would suggest rule "AmountsAreNotNull" asserts new
objects that activate rule "CompareValue" or something
similar.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Saving variables between rules should be accomplished using
logically asserted facts.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">I hope this helps.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span> </div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Mike</font></span></div><br>
<blockquote style="margin-right: 0px;">
<div dir="ltr" align="left" lang="en-us">
<hr>
<font face="Tahoma" size="2"><b>From:</b> <a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users-bounces@lists.jboss.org</a>
[mailto:<a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users-bounces@lists.jboss.org</a>] <b>On Behalf Of </b>Alexander
Komissarov<br><b>Sent:</b> 14 June 2007 14:46<br><b>To:</b>
<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><b>Subject:</b> [rules-users] How to get value
of global variable from one rule toanother<br></font><br></div>
<div></div>Hello,<br><br>Please give me advice for best way storing global
variables.<br><br>global java.lang.Integer res;<br>global java.lang.Integer
res2;<br>...<br><br>I've several number of rules. One rule has variable
initialization e.g.:<br><br>...<br>rule "AmountsAreNotNull" salience
20<br> when<br> <
conditions ><br> then<br>
...<br> res = new Integer(a.compareTo(new
BigDecimal(25)));<br> res = (res ==
-1)?0:res; <br> res = (res ==
-1)?0:res;<br> res2 = new
Integer(a.compareTo(b));<br> res2 = (res2
== -1)?0:res2;<br> ...<br>end<br><br>The
values of these variables are proper and equal 1<br><br>Then next rule has
comparing for res|res2 values, but they have lost their values (res == null
and res2 == null) <br><br>rule "CompareValues" salience
10<br> when<br>
res:Integer(intValue == 0)<br>
res2:Integer(intValue == 0)<br>
result:List()<br> then<br>
result.add(Boolean.TRUE);<br>end <br clear="all"><br>What
decision you can advise me to save variables value between
rules?<br>Thanks.<br>____________________<br>Regards,<br><span>Komissarov
Alexander<br>mail: <a href="mailto:aleks.komissarov@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">aleks.komissarov@gmail.com </a><br>icq: 239128267</span>
</blockquote></div>
<br><br>---------- Пересланное письмо ----------<br>From: "Edson Tirelli" <<a href="mailto:tirelli@post.com">tirelli@post.com</a>><br>To: "Rules Users List" <<a href="mailto:rules-users@lists.jboss.org">
rules-users@lists.jboss.org</a>><br>Date: Thu, 14 Jun 2007 11:18:28 -0300<br>Subject: Re: [rules-users] How to get value of global variable from one rule to another<br><br> Globals are intended to provide a way to pass values in and out of the engine. Not for reasoning and exchange of values between rules.
<br> Values that are changed by rules and are reasoned over are clearly facts of your domain and should be modeled as such.
<br><br> []s<br> Edson<br><br><div><span class="gmail_quote">2007/6/14, Alexander Komissarov <<a href="mailto:aleks.komissarov@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">aleks.komissarov@gmail.com
</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello,<br><br>Please give me advice for best way storing global variables.<br><br>global java.lang.Integer res;<br>global java.lang.Integer res2;<br>...<br><br>I've several number of rules. One rule has variable initialization
e.g.:<br><br>...<br>rule "AmountsAreNotNull" salience 20<br> when<br> < conditions ><br> then<br> ...<br> res = new Integer(a.compareTo(new BigDecimal(25)));<br> res = (res == -1)?0:res;
<br> res = (res == -1)?0:res;<br> res2 = new Integer(a.compareTo(b));<br> res2 = (res2 == -1)?0:res2;<br> ...<br>end<br><br>The values of these variables are proper and equal 1<br><br>Then next rule has comparing for res|res2 values, but they have lost their values (res == null and res2 == null)
<br><br>rule "CompareValues" salience 10<br> when<br> res:Integer(intValue == 0)<br> res2:Integer(intValue == 0)<br> result:List()<br> then<br> result.add(Boolean.TRUE);<br>end
<br clear="all">
<br>What decision you can advise me to save variables value between rules?<br>Thanks.<br>____________________<br>Regards,<br><span><span>Komissarov Alexander<br>mail: <a href="mailto:aleks.komissarov@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
aleks.komissarov@gmail.com
</a><br>icq: 239128267</span>
</span><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>
<br><br>---------- Пересланное письмо ----------<br>From: jdepaul <<a href="mailto:jjdepaul@us.ibm.com">jjdepaul@us.ibm.com</a>><br>To: <a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
Date: Thu, 14 Jun 2007 08:42:15 -0700 (PDT)<br>Subject: [rules-users] Running on z/OS...<br><br>Is anyone running DROOLS on z/OS on a mainframe?! Any reason why it would<br>NOT run on it?!<br><br>James<br><br>--<br>View this message in context:
<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.nabble.com/Running-on-z-OS...-tf3922593.html#a11122860" target="_blank">http://www.nabble.com/Running-on-z-OS...-tf3922593.html#a11122860</a><br>Sent from the drools - user mailing list archive at
<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://Nabble.com" target="_blank">Nabble.com</a>.<br><br><br><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>Thanks all for explanations, but<br><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US">Also, I've tried to map these
values in the </span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US">rule "AmountsAreNotNull" </span></font><font color="black" face="Arial" size="2"><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">
salience 20</span></font><br><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US"> when<br> ...<br> then</span></font></p><p class="MsoNormal"><font face="Arial" size="2">
<span style="font-size: 10pt; font-family: Arial;" lang="EN-US">...</span></font></p><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US"><res, res2 initialization>
</span></font></p><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US">map.put("result",res);<br>map.put("result2",res2);<br></span></font></p>
...<font color="black" face="Arial" size="2"><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">
</span></font>
<p class="MsoNormal"><font color="black" face="Arial" size="2"><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">and check it in the
next rule:</span></font></p>
<p class="MsoNormal"><font color="black" face="Arial" size="2"><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">rule "CompareValues" salience 10<br></span></font></p><p class="MsoNormal">
<font color="black" face="Arial" size="2"><span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">when <br></span></font></p><font face="Courier New" size="2"><span style="font-size: 10pt; font-family: 'Courier New';" lang="EN-US">
map : Map( keySet contains
"result" )<br></span></font>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US">...<br></span></font></p><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US">
"keyset" couldn't found "result" and "result2" mapping</span></font></p><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US">but! when I've checked "keyset" in RHS part of this rule "keyset" HAS proper values of "result" and "result2":
<br></span></font></p><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US">...</span></font></p><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US">
then</span></font></p><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US">Iterator k = map.keySet().iterator();<br> while (k.hasNext()) <br> {<br>
String key = k.next().toString();<br> LOGGER.info("Key: " + key + "; Value: " + map.get(key).toString());<br> }</span></font></p><p class="MsoNormal"><font face="Arial" size="2">
<span style="font-size: 10pt; font-family: Arial;" lang="EN-US">...</span></font></p><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US">end</span></font></p><p class="MsoNormal">
<font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US">How I can check values of "result" and "result2" in LHS part of </span></font><font color="black" face="Arial" size="2">
<span style="font-size: 10pt; color: black; font-family: Arial;" lang="EN-US">rule "CompareValues"?</span></font></p>Thanks,<br>____________________<br>Regards,<br>Komissarov Alexander<br>mail: <a href="mailto:aleks.komissarov@gmail.com">
aleks.komissarov@gmail.com</a><br>icq: 239128267