2007/6/14, [EMAIL PROTECTED] < [EMAIL PROTECTED]>:
Send rules-users mailing list submissions to rules-users@lists.jboss.org To subscribe or unsubscribe via the World Wide Web, visit https://lists.jboss.org/mailman/listinfo/rules-users or, via email, send a message with subject or body 'help' to [EMAIL PROTECTED] You can reach the person managing the list at [EMAIL PROTECTED] When replying, please edit your Subject line so it is more specific than "Re: Contents of rules-users digest..." Today's Topics: 1. How to get value of global variable from one rule to another (Alexander Komissarov) 2. RE: How to get value of global variable from one rule toanother (Anstis, Michael (M.)) 3. Re: How to get value of global variable from one rule to another (Edson Tirelli) 4. Running on z/OS... (jdepaul) ---------- Пересланное письмо ---------- From: "Alexander Komissarov" <[EMAIL PROTECTED]> To: rules-users@lists.jboss.org Date: Thu, 14 Jun 2007 16:46:07 +0300 Subject: [rules-users] How to get value of global variable from one rule to another Hello, Please give me advice for best way storing global variables. global java.lang.Integer res; global java.lang.Integer res2; ... I've several number of rules. One rule has variable initialization e.g.: ... rule "AmountsAreNotNull" salience 20 when < conditions > then ... res = new Integer(a.compareTo(new BigDecimal(25))); res = (res == -1)?0:res; res = (res == -1)?0:res; res2 = new Integer(a.compareTo(b)); res2 = (res2 == -1)?0:res2; ... end The values of these variables are proper and equal 1 Then next rule has comparing for res|res2 values, but they have lost their values (res == null and res2 == null) rule "CompareValues" salience 10 when res:Integer(intValue == 0) res2:Integer(intValue == 0) result:List() then result.add(Boolean.TRUE); end What decision you can advise me to save variables value between rules? Thanks. ____________________ Regards, Komissarov Alexander mail: [EMAIL PROTECTED] icq: 239128267 ---------- Пересланное письмо ---------- From: "Anstis, Michael \(M.\)" <[EMAIL PROTECTED]> To: "Rules Users List" <rules-users@lists.jboss.org> Date: Thu, 14 Jun 2007 15:03:33 +0100 Subject: RE: [rules-users] How to get value of global variable from one rule toanother I believe globals are to be used in the RHS of a rule and not the LHS which uses "normal" facts. I would suggest rule "AmountsAreNotNull" asserts new objects that activate rule "CompareValue" or something similar. Saving variables between rules should be accomplished using logically asserted facts. I hope this helps. Mike ------------------------------ *From:* [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] *On Behalf Of *Alexander Komissarov *Sent:* 14 June 2007 14:46 *To:* rules-users@lists.jboss.org *Subject:* [rules-users] How to get value of global variable from one rule toanother Hello, Please give me advice for best way storing global variables. global java.lang.Integer res; global java.lang.Integer res2; ... I've several number of rules. One rule has variable initialization e.g.: ... rule "AmountsAreNotNull" salience 20 when < conditions > then ... res = new Integer(a.compareTo(new BigDecimal(25))); res = (res == -1)?0:res; res = (res == -1)?0:res; res2 = new Integer(a.compareTo(b)); res2 = (res2 == -1)?0:res2; ... end The values of these variables are proper and equal 1 Then next rule has comparing for res|res2 values, but they have lost their values (res == null and res2 == null) rule "CompareValues" salience 10 when res:Integer(intValue == 0) res2:Integer(intValue == 0) result:List() then result.add(Boolean.TRUE); end What decision you can advise me to save variables value between rules? Thanks. ____________________ Regards, Komissarov Alexander mail: [EMAIL PROTECTED] icq: 239128267 ---------- Пересланное письмо ---------- From: "Edson Tirelli" <[EMAIL PROTECTED]> To: "Rules Users List" <rules-users@lists.jboss.org> Date: Thu, 14 Jun 2007 11:18:28 -0300 Subject: Re: [rules-users] How to get value of global variable from one rule to another 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. Values that are changed by rules and are reasoned over are clearly facts of your domain and should be modeled as such. []s Edson 2007/6/14, Alexander Komissarov <[EMAIL PROTECTED]>: > > Hello, > > Please give me advice for best way storing global variables. > > global java.lang.Integer res; > global java.lang.Integer res2; > ... > > I've several number of rules. One rule has variable initialization e.g.: > > ... > rule "AmountsAreNotNull" salience 20 > when > < conditions > > then > ... > res = new Integer(a.compareTo(new BigDecimal(25))); > res = (res == -1)?0:res; > res = (res == -1)?0:res; > res2 = new Integer(a.compareTo(b)); > res2 = (res2 == -1)?0:res2; > ... > end > > The values of these variables are proper and equal 1 > > Then next rule has comparing for res|res2 values, but they have lost > their values (res == null and res2 == null) > > rule "CompareValues" salience 10 > when > res:Integer(intValue == 0) > res2:Integer(intValue == 0) > result:List() > then > result.add(Boolean.TRUE); > end > > What decision you can advise me to save variables value between rules? > Thanks. > ____________________ > Regards, > Komissarov Alexander > mail: [EMAIL PROTECTED] > icq: 239128267 > _______________________________________________ > rules-users mailing list > rules-users@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > -- Edson Tirelli Software Engineer - JBoss Rules Core Developer Office: +55 11 3529-6000 Mobile: +55 11 9287-5646 JBoss, a division of Red Hat @ www.jboss.com ---------- Пересланное письмо ---------- From: jdepaul <[EMAIL PROTECTED]> To: rules-users@lists.jboss.org Date: Thu, 14 Jun 2007 08:42:15 -0700 (PDT) Subject: [rules-users] Running on z/OS... Is anyone running DROOLS on z/OS on a mainframe?! Any reason why it would NOT run on it?! James -- View this message in context: http://www.nabble.com/Running-on-z-OS...-tf3922593.html#a11122860 Sent from the drools - user mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Thanks all for explanations, but Also, I've tried to map these values in the rule "AmountsAreNotNull" salience 20 when ... then ... <res, res2 initialization> map.put("result",res); map.put("result2",res2); ... and check it in the next rule: rule "CompareValues" salience 10 when map : Map( keySet contains "result" ) ... "keyset" couldn't found "result" and "result2" mapping but! when I've checked "keyset" in RHS part of this rule "keyset" HAS proper values of "result" and "result2": ... then Iterator k = map.keySet().iterator(); while (k.hasNext()) { String key = k.next().toString(); LOGGER.info("Key: " + key + "; Value: " + map.get (key).toString()); } ... end How I can check values of "result" and "result2" in LHS part of rule "CompareValues"? Thanks, ____________________ Regards, Komissarov Alexander mail: [EMAIL PROTECTED] icq: 239128267
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users