<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> &lt;<a href="mailto:rules-users-request@lists.jboss.org">rules-users-request@lists.jboss.org
</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="direction: ltr;">Send rules-users mailing list submissions to<br>
 &nbsp; &nbsp; &nbsp; &nbsp;<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> &nbsp; &nbsp; &nbsp; &nbsp;<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 &#39;help&#39; to<br> &nbsp; &nbsp; &nbsp; &nbsp;<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> &nbsp; &nbsp; &nbsp; &nbsp;<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 &quot;Re: Contents of rules-users digest...&quot;<br></div><br>Today&#39;s Topics:<br><br> &nbsp; 1. How to get value of global variable from one rule to &nbsp; &nbsp; &nbsp;another
<br> &nbsp; &nbsp; &nbsp;(Alexander Komissarov)<br> &nbsp; 2. RE: How to get value of global variable from one rule<br> &nbsp; &nbsp; &nbsp;toanother (Anstis, Michael (M.))<br> &nbsp; 3. Re: How to get value of global variable from one rule &nbsp; &nbsp; to<br> &nbsp; &nbsp; &nbsp;another (Edson Tirelli)
<br> &nbsp; 4. Running on z/OS... (jdepaul)<br><br><br>---------- Пересланное письмо ----------<br>From:&nbsp;&quot;Alexander Komissarov&quot; &lt;<a href="mailto:aleks.komissarov@gmail.com">aleks.komissarov@gmail.com</a>&gt;<br>To:&nbsp;
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>Date:&nbsp;Thu, 14 Jun 2007 16:46:07 +0300<br>Subject:&nbsp;[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&#39;ve several number of rules. One rule has variable initialization 
e.g.:<br><br>...<br>rule &quot;AmountsAreNotNull&quot; salience 20<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt; conditions &gt;<br>&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ...<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res = new Integer(a.compareTo(new BigDecimal(25)));<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res = (res == -1)?0:res;
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res = (res == -1)?0:res;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res2 = new Integer(a.compareTo(b));<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res2 = (res2 == -1)?0:res2;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<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 &quot;CompareValues&quot; salience 10<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res:Integer(intValue == 0)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res2:Integer(intValue == 0)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; result:List()<br>&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 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:&nbsp;&quot;Anstis, Michael \(M.\)&quot; &lt;<a href="mailto:manstis1@ford.com">manstis1@ford.com</a>&gt;<br>To:&nbsp;&quot;Rules Users List&quot; &lt;<a href="mailto:rules-users@lists.jboss.org">
rules-users@lists.jboss.org</a>&gt;<br>Date:&nbsp;Thu, 14 Jun 2007 15:03:33 +0100<br>Subject:&nbsp;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 &quot;normal&quot; facts.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">I would suggest rule &quot;AmountsAreNotNull&quot; asserts new 
objects that&nbsp;activate rule &quot;CompareValue&quot; or something 
similar.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</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>&nbsp;</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>&nbsp;</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&#39;ve several number of rules. One rule has variable 
  initialization e.g.:<br><br>...<br>rule &quot;AmountsAreNotNull&quot; salience 
  20<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt; 
  conditions &gt;<br>&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 
  ...<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res = new Integer(a.compareTo(new 
  BigDecimal(25)));<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res = (res == 
  -1)?0:res; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res = (res == 
  -1)?0:res;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res2 = new 
  Integer(a.compareTo(b));<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res2 = (res2 
  == -1)?0:res2;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<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 &quot;CompareValues&quot; salience 
  10<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  res:Integer(intValue == 0)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  res2:Integer(intValue == 0)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
  result:List()<br>&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; 
  &nbsp;&nbsp;&nbsp; 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:&nbsp;&quot;Edson Tirelli&quot; &lt;<a href="mailto:tirelli@post.com">tirelli@post.com</a>&gt;<br>To:&nbsp;&quot;Rules Users List&quot; &lt;<a href="mailto:rules-users@lists.jboss.org">
rules-users@lists.jboss.org</a>&gt;<br>Date:&nbsp;Thu, 14 Jun 2007 11:18:28 -0300<br>Subject:&nbsp;Re: [rules-users] How to get value of global variable from one rule to another<br><br>&nbsp;&nbsp; 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>&nbsp;&nbsp; Values that are changed by rules and are reasoned over are clearly facts of your domain and should be modeled as such.
<br><br>&nbsp;&nbsp;&nbsp; []s<br>&nbsp;&nbsp;&nbsp; Edson<br><br><div><span class="gmail_quote">2007/6/14, Alexander Komissarov &lt;<a href="mailto:aleks.komissarov@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">aleks.komissarov@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;">
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&#39;ve several number of rules. One rule has variable initialization 
e.g.:<br><br>...<br>rule &quot;AmountsAreNotNull&quot; salience 20<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt; conditions &gt;<br>&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ...<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res = new Integer(a.compareTo(new BigDecimal(25)));<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res = (res == -1)?0:res;
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res = (res == -1)?0:res;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res2 = new Integer(a.compareTo(b));<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res2 = (res2 == -1)?0:res2;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<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 &quot;CompareValues&quot; salience 10<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res:Integer(intValue == 0)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; res2:Integer(intValue == 0)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; result:List()<br>&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 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>&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>---------- Пересланное письмо ----------<br>From:&nbsp;jdepaul &lt;<a href="mailto:jjdepaul@us.ibm.com">jjdepaul@us.ibm.com</a>&gt;<br>To:&nbsp;<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
Date:&nbsp;Thu, 14 Jun 2007 08:42:15 -0700 (PDT)<br>Subject:&nbsp;[rules-users] Running on z/OS...<br><br>Is anyone running DROOLS on z/OS on a mainframe?! &nbsp;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 &quot;AmountsAreNotNull&quot; </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">&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ...<br>&nbsp;&nbsp;&nbsp; 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">&lt;res, res2 initialization&gt;
</span></font></p><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-US">map.put(&quot;result&quot;,res);<br>map.put(&quot;result2&quot;,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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</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 &quot;CompareValues&quot; 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: &#39;Courier New&#39;;" lang="EN-US">
map : Map( keySet contains 
&quot;result&quot; )<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">
&quot;keyset&quot; couldn&#39;t found &quot;result&quot; and &quot;result2&quot; 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&#39;ve checked &quot;keyset&quot; in RHS part of this rule &quot;keyset&quot; HAS proper values of &quot;result&quot; and &quot;result2&quot;:
<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>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while (k.hasNext()) <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String key = k.next().toString();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; LOGGER.info(&quot;Key: &quot; + key + &quot;; Value: &quot; + map.get(key).toString());<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</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 &quot;result&quot; and &quot;result2&quot; 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 &quot;CompareValues&quot;?</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