[rules-users] Adding two numbers
I have two properties on my class that I'd like to add together and compare results. I'm trying: when stub:PaymentStub(daysJuror + daysPanel 0) But this throws an error. Either daysJuror or daysPanel work, but adding them together doesn't. Isn't there a way to do this? Thanks! Thom Hehl Java Applications Architect Public Safety Justice Affiliated Computer Services, Inc. A Xerox Company 1733 Harrodsburg Road Lexington, KY 40504-3617 Tel 859.277.8800 x 144 Fax 859.277.2300 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Adding two numbers
Aha! That's it. Thanks! From: rules-users-boun...@lists.jboss.org [mailto:rules-users-boun...@lists.jboss.org] On Behalf Of Swindells, Thomas Sent: Wednesday, August 18, 2010 9:26 AM To: Rules Users List Subject: Re: [rules-users] Adding two numbers Have a look at eval(). From: rules-users-boun...@lists.jboss.org [mailto:rules-users-boun...@lists.jboss.org] On Behalf Of Hehl, Thomas Sent: 18 August 2010 14:22 To: rules-users@lists.jboss.org Subject: [rules-users] Adding two numbers I have two properties on my class that I'd like to add together and compare results. I'm trying: when stub:PaymentStub(daysJuror + daysPanel 0) But this throws an error. Either daysJuror or daysPanel work, but adding them together doesn't. Isn't there a way to do this? Thanks! Thom Hehl Java Applications Architect Public Safety Justice Affiliated Computer Services, Inc. A Xerox Company 1733 Harrodsburg Road Lexington, KY 40504-3617 Tel 859.277.8800 x 144 Fax 859.277.2300 ** This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postmas...@nds.com and delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes. To protect the environment please do not print this e-mail unless necessary. NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, United Kingdom. A company registered in England and Wales. Registered no. 3080780. VAT no. GB 603 8808 40-00 ** ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Drools in the real world
We are using drools in our production software for decision support. We mostly like the decision tables and how easy it is for me to allow a user to modify the rules for a particular installation without me having to write code. We are, in fact, continuing to expand our usage of drools for new facets of our application where the business rules are extremely complicated and vary widely by implementation. -Original Message- From: rules-users-boun...@lists.jboss.org [mailto:rules-users-boun...@lists.jboss.org] On Behalf Of ajay.gau...@rbs.com Sent: Friday, June 12, 2009 9:28 AM To: rules-users@lists.jboss.org Subject: [rules-users] Drools in the real world Are people actually using Drools Or Drools Flow in production? The traffic on this list seems way too low to suggest any serious industry consideration. OTOH, there are books out there for Drools. Which does suggest serious usage. What am I missing? Ajay Gautam *Please note that my email address may have changed. For all future correspondence, please use this address* This message (including any attachments) is confidential and/or privileged. It is to be used by the intended recipients only. If you have received it by mistake please notify the sender by return e-mail and delete this message from your system. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited. Please note that e-mails are inherently insecure and susceptible to change. The Royal Bank of Scotland Group, plc (RBS) and its US subsidiaries, and affiliates and subsidiary undertakings, including but not limited to, RBS plc New York and Connecticut Branches, RBS Securities Inc., ABN AMRO Bank N.V. New York and Chicago Branches and, ABN AMRO Incorporated, Citizens Financial Group, Inc. and RBS Citizens, N.A., shall not be liable for the improper or incomplete transmission of the information contained in this communication or Attachment nor for any delay in its receipt or damage to your system. RBS does not guarantee that the integrity of this communication has been maintained nor that this communication is free of viruses, interceptions or interference. RBS and its subsidiaries and affiliates do not guarantee the accuracy of any email or attachment, that an email will be received or that RBS or its affiliates and subsidiaries will respond to an email. RBS makes no representations that any information contained in this message (including any attachments) are appropriate for use in all locations or that transactions, securities, products, instruments or services discussed herein are available or appropriate for sale or use in all jurisdictions, or by all investors or counterparties. Those who utilize this information do so on their own initiative and are responsible for compliance with applicable local laws or regulations. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] variable binding without condition in Decision table
Nope, that's how it works. I wrote it up as a defect and it got closed because no one seemed to think it was an issue. So, since I don't have the time available to be a contributor, I decided not to complain. From: rules-users-boun...@lists.jboss.org [mailto:rules-users-boun...@lists.jboss.org] On Behalf Of k...@chryslerfinancial.com Sent: Thursday, May 21, 2009 9:05 AM To: Rules Users List Subject: [rules-users] variable binding without condition in Decision table I have a decision table where I need to bind a variable to use in the action. The problem is that the binding does not happen unless I apply a condition. What I want in the resulting rule is this: $serviceContract: CreditServiceContract ( ) This is what I want but does not work. The binding does not happen so the rule does not compile. This works but I hate to add an arbitrary condition just to accomplish a binding. I'm sure I am just missing something. Can someone point that out? Thanks Kent Symanzik image001.gifimage002.gif___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] single binding for or CE flagged by compiler
Not getting into whether this is a bad practice, the only language I've ever seen support this syntax is COBOL. Every other language I've worked in (and there are many) do not support this technique, so it seems reasonable that this syntax should be disallowed in drools as well. From: rules-users-boun...@lists.jboss.org [mailto:rules-users-boun...@lists.jboss.org] On Behalf Of Edson Tirelli Sent: Monday, March 16, 2009 9:58 AM To: Rules Users List Subject: Re: [rules-users] single binding for or CE flagged by compiler This is an old discussion. Single binding on or is a non-orthogonal special case on the language syntax that was introduced in the early days when we only had infix CEs. When we started to support prefix CE, the special case was not updated, and as a result, the single binding works only with infix. IMO, this syntax promotes bad practices and should be disallowed. Although, some people like it and it is still in there. Just to clarify why I think it promotes bad practice: * When you have the same object type for all the patterns inside an or group, you should be using constraint connector ||, not the or CE. Using your example: $t : Trigger( fa == 1 || == 2 ) // or any variation of the syntax. This keeps the network smaller and prevents unexpected behavior when the constraints are not mutually exclusive and in some cases people forget that the rule will fire once for each logical branch when using or. * If the object types are different, then you can't use single binding anyway: $o : ( Cheese() or Wine() ) // this will lead to ClassCastExceptions on the usage of $o. So, I really think that the single binding or fulfilled its purpose on Drools 3, when we didn't had all the flexibility in the language we have today. But now, the only thing it achieves is promoting bad practices. Just my 0.02c. []s Edson 2009/3/16 Wolfgang Laun wolfgang.l...@gmail.com As far as I know, this should work: package orel; import orel.Main.Trigger; rule ror1 when $t : (or Trigger(fa == 1) Trigger(fa == 2)) then System.out.println( fired + $t.getName() ); end This is what Drools-5.0.0 kbuilder.getErrors().toString() returns: [5,11]: [ERR 102] Line 5:11 mismatched input 'Trigger' expecting '(' in rule ror1 in pattern or[6,14]: [ERR 102] Line 6:14 mismatched input 'Trigger' expecting ')' in rule ror1[6,30]: [ERR 102] Line 6:30 mismatched input ')' expecting 'then' in rule ror1 Shouldn't toString() insert line ends? As it is, the result is pretty much useless. This works: rule ror1 when (or $t : Trigger(fa == 1) $t : Trigger(fa == 2)) then System.out.println( fired + $t.getName() ); end -W ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -- Edson Tirelli JBoss Drools Core Development JBoss, a division of Red Hat @ www.jboss.com ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] How to access data after rule fires
I've had problems with decision tables with anything that varied outside the type of getter and setter normally used. To do what you did, I set it up as: CONDITION ACTION Product brand setGoodBrand($param); Cases hoover match case TRUE Brand Check hoover Could be a case-sensitive thing too. From: rules-users-boun...@lists.jboss.org [mailto:rules-users-boun...@lists.jboss.org] On Behalf Of Costello, Robert Sent: Monday, January 12, 2009 5:32 PM To: Rules Users List Subject: RE: [rules-users] How to access data after rule fires I tried that and it returned false, which doesn't make sense to me since the rule firing is to set the value to true, and in the execution the rule does fire. StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession(); Product p = new Product(); p.setBrand(hoover); session.insert( p ); int u = session.fireAllRules(); System.out.println(u + many rules fired); System.out.println(is brand good? + p.isGoodBrand()); Here's a snippet of the rule (decision table) CONDITION ACTION Product brand setGoodBrand(true); Cases hoover match case Brand Check hoover And the console returns: 1 many rules fired is brand good? false Robert Costello Lead Systems Engineer IMA Performance E3- 279A 847.286.0910 -Original Message- From: rules-users-boun...@lists.jboss.org [mailto:rules-users-boun...@lists.jboss.org] On Behalf Of Edson Tirelli Sent: Monday, January 12, 2009 4:16 PM To: Rules Users List Subject: Re: [rules-users] How to access data after rule fires Can't you keep the reference to your object while firing the rules? MyObject x = ... ksession.insert( x ); ksession.fireAllRules(); boolean result = x.getBooleanAttribute(); []s Edson 2009/1/12 Costello, Robert rcos...@searshc.com So, how do I access data after the rules fire? If one has a rule which modifies a field on an object (a boolean, for example), and you want to return the object after the rules are complete, how do you do it? I tried this using a StatefulKnowledgeSession, getting an object collection after the rules fire, but I don't see that this works. Also googled the heck out of this and looked in all the documentation. I must be missing something, because the docs generally are pretty good. Any hints? Thanks in advance, Robert Costello ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -- Edson Tirelli JBoss Drools Core Development JBoss, a division of Red Hat @ www.jboss.com ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Java code Vs Drools
While it's always important to keep an eye on performance while writing code, the things that really cost money are stability and maintainability. You write your software so it's easy to maintain and reliable and next week someone will build a faster processor to run it on. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mark Proctor Sent: Wednesday, August 13, 2008 6:18 AM To: Rules Users List Subject: Re: [rules-users] Java code Vs Drools Corneil du Plessis wrote: Make sure when you do performance testing that you run through enough iterations so that the engine code benefits from HotSpot. Something to be aware of is that there are still many optimsation we can do to Drools. One of them is to take our interpretted Rete network and compile it down to bytecode, so that it would resemble something closer to hand written java. For tight looped stuff, that should give a nice perf increase. However mostly drools is fast enough so we are focusing on building out the platform and features, but we'll continue to improve performance slowly overtime - there is still so much more we can do. Mark -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Harsh Jetly Sent: 13 August 2008 11:03 To: rules-users@lists.jboss.org Subject: [rules-users] Java code Vs Drools I have been evaluating the rule engine (ie Drools 4.0.4). I have created an application which has about 20 rules . I insert about 500 arraylists into the working memory and each arraylist contains about 4 objects. The rule engine picks the object that is the best match from the arraylist and stores it . This processing takes about 0.953 secs . Now this very same scenario I have implemented in using java code (if ..else)...it takes about 0.016secs . I was expecting the rule engine to give a better performance. Considering the use of alpha node caching and other factors of the rete algorithm. This is how one of the rules look in the rule file : rule P1 110 salience 1 activation-group 1 when PriorityType( pricetype == 10,20,30,40,110 ) list :ArrayList( ) t:TlbObjectAttributeData( lngAttrTypeId == 110 ) from list then result.add(t); end Am I doing something wrong or this application is not harnessing the pluses of the rule engine . If so can you please tell me which kind of application should I build to highlight the performance of a rule engine . Appreciate it Regards Harsh Jetly SOA Center of Excellence __ ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Java code Vs Drools
What does this mean? Because of garbage collection? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Corneil du Plessis Sent: Wednesday, August 13, 2008 5:42 AM To: 'Rules Users List' Subject: RE: [rules-users] Java code Vs Drools Make sure when you do performance testing that you run through enough iterations so that the engine code benefits from HotSpot. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Harsh Jetly Sent: 13 August 2008 11:03 To: rules-users@lists.jboss.org Subject: [rules-users] Java code Vs Drools I have been evaluating the rule engine (ie Drools 4.0.4). I have created an application which has about 20 rules . I insert about 500 arraylists into the working memory and each arraylist contains about 4 objects. The rule engine picks the object that is the best match from the arraylist and stores it . This processing takes about 0.953 secs . Now this very same scenario I have implemented in using java code (if ..else)...it takes about 0.016secs . I was expecting the rule engine to give a better performance. Considering the use of alpha node caching and other factors of the rete algorithm. This is how one of the rules look in the rule file : rule P1 110 salience 1 activation-group 1 when PriorityType( pricetype == 10,20,30,40,110 ) list :ArrayList( ) t:TlbObjectAttributeData( lngAttrTypeId == 110 ) from list then result.add(t); end Am I doing something wrong or this application is not harnessing the pluses of the rule engine . If so can you please tell me which kind of application should I build to highlight the performance of a rule engine . Appreciate it Regards Harsh Jetly SOA Center of Excellence __ ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Java code Vs Drools
Sorry, I should have said for business software. Systems software requires a lot more performance tuning. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Hehl, Thomas Sent: Wednesday, August 13, 2008 7:46 AM To: 'Rules Users List' Subject: RE: [rules-users] Java code Vs Drools While it's always important to keep an eye on performance while writing code, the things that really cost money are stability and maintainability. You write your software so it's easy to maintain and reliable and next week someone will build a faster processor to run it on. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mark Proctor Sent: Wednesday, August 13, 2008 6:18 AM To: Rules Users List Subject: Re: [rules-users] Java code Vs Drools Corneil du Plessis wrote: Make sure when you do performance testing that you run through enough iterations so that the engine code benefits from HotSpot. Something to be aware of is that there are still many optimsation we can do to Drools. One of them is to take our interpretted Rete network and compile it down to bytecode, so that it would resemble something closer to hand written java. For tight looped stuff, that should give a nice perf increase. However mostly drools is fast enough so we are focusing on building out the platform and features, but we'll continue to improve performance slowly overtime - there is still so much more we can do. Mark -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Harsh Jetly Sent: 13 August 2008 11:03 To: rules-users@lists.jboss.org Subject: [rules-users] Java code Vs Drools I have been evaluating the rule engine (ie Drools 4.0.4). I have created an application which has about 20 rules . I insert about 500 arraylists into the working memory and each arraylist contains about 4 objects. The rule engine picks the object that is the best match from the arraylist and stores it . This processing takes about 0.953 secs . Now this very same scenario I have implemented in using java code (if ..else)...it takes about 0.016secs . I was expecting the rule engine to give a better performance. Considering the use of alpha node caching and other factors of the rete algorithm. This is how one of the rules look in the rule file : rule P1 110 salience 1 activation-group 1 when PriorityType( pricetype == 10,20,30,40,110 ) list :ArrayList( ) t:TlbObjectAttributeData( lngAttrTypeId == 110 ) from list then result.add(t); end Am I doing something wrong or this application is not harnessing the pluses of the rule engine . If so can you please tell me which kind of application should I build to highlight the performance of a rule engine . Appreciate it Regards Harsh Jetly SOA Center of Excellence __ ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Java code Vs Drools
Right, including optimization controls over garbage collection. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Corneil du Plessis Sent: Wednesday, August 13, 2008 8:50 AM To: 'Rules Users List' Subject: RE: [rules-users] Java code Vs Drools No HotSpot refers to the portion of the JVM that compiles java bytecode to native code and applies various optimisations over time depending on the frequency with which code is executed. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Hehl, Thomas Sent: 13 August 2008 13:47 To: 'Rules Users List' Subject: RE: [rules-users] Java code Vs Drools What does this mean? Because of garbage collection? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Corneil du Plessis Sent: Wednesday, August 13, 2008 5:42 AM To: 'Rules Users List' Subject: RE: [rules-users] Java code Vs Drools Make sure when you do performance testing that you run through enough iterations so that the engine code benefits from HotSpot. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Harsh Jetly Sent: 13 August 2008 11:03 To: rules-users@lists.jboss.org Subject: [rules-users] Java code Vs Drools I have been evaluating the rule engine (ie Drools 4.0.4). I have created an application which has about 20 rules . I insert about 500 arraylists into the working memory and each arraylist contains about 4 objects. The rule engine picks the object that is the best match from the arraylist and stores it . This processing takes about 0.953 secs . Now this very same scenario I have implemented in using java code (if ..else)...it takes about 0.016secs . I was expecting the rule engine to give a better performance. Considering the use of alpha node caching and other factors of the rete algorithm. This is how one of the rules look in the rule file : rule P1 110 salience 1 activation-group 1 when PriorityType( pricetype == 10,20,30,40,110 ) list :ArrayList( ) t:TlbObjectAttributeData( lngAttrTypeId == 110 ) from list then result.add(t); end Am I doing something wrong or this application is not harnessing the pluses of the rule engine . If so can you please tell me which kind of application should I build to highlight the performance of a rule engine . Appreciate it Regards Harsh Jetly SOA Center of Excellence __ ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Decision table not triggering
Outside of the WM. There are a number of rules in this decision table, but they all look just like this one. The way this works is that if it matches any of these rules, then it's an approved request. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Anstis, Michael (M.) Sent: Friday, August 08, 2008 3:54 AM To: Rules Users List Subject: RE: [rules-users] Decision table not triggering I think you might need to post more of your source if possible. Where are you setting PoolInfo.daysBeforeSummons to 5, outside WM and before fireAllRules or within the RHS of another rule? Thanks, Mike -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Hehl, Thomas Sent: 07 August 2008 21:41 To: 'Rules Users List' Subject: RE: [rules-users] Decision table not triggering Nope. Only one of each. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Greg Barton Sent: Thursday, August 07, 2008 4:33 PM To: Rules Users List Subject: Re: [rules-users] Decision table not triggering Is there more than one PoolInfo object in working memory? If so does any one of them match the rule? Also, the rule conditions would create a cartesian join because the PoolInfo and PostponementRequest are not logically related. In other words, if you had PoolInfo1, PoolInfo2, PostponementRequest1, PostponementRequest2 in working memory, and all matched the rule, you'd get the following rule firings: PoolInfo1, PostponementRequest1 PoolInfo1, PostponementRequest2 PoolInfo2, PostponementRequest1 PoolInfo2, PostponementRequest2 Probably not what you want. GreG --- Hehl, Thomas [EMAIL PROTECTED] wrote: I have a unit test that calls a decision table that generated the following rule with drools 4.0.7: #From row number: 10 rule postponePart_10 when PoolInfo(courtLocation == 101, daysBeforeSummons = 7, daysBeforeSummons = 999) postponementRequest: PostponementRequest(requestDaysAfterSummons = 30, requestDaysAfterSummons = 90, requestedDayOfWeek = 2, requestedDayOfWeek = 2) then postponementRequest.setAllowed(true); end This rule passes when daysBeforeSummons = 30. I then change the daysBeforeSummons to 5 and the rule still passes. I have debugged this and watched it run rule 10, so I don't know what else to do. Does this look like a bug? Thom Hehl Sr. eJuror Architect ACS: Government Solutions * Office (859) 277-8800 x 144 * [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 1733 Harrodsburg Road Lexington, KY 40504-3617 This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message and notify sender via e-mail at [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] or by telephone at 859-277-8800 ext. 144. Thank you. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Decision table not triggering
I have a unit test that calls a decision table that generated the following rule with drools 4.0.7: #From row number: 10 rule postponePart_10 when PoolInfo(courtLocation == 101, daysBeforeSummons = 7, daysBeforeSummons = 999) postponementRequest: PostponementRequest(requestDaysAfterSummons = 30, requestDaysAfterSummons = 90, requestedDayOfWeek = 2, requestedDayOfWeek = 2) then postponementRequest.setAllowed(true); end This rule passes when daysBeforeSummons = 30. I then change the daysBeforeSummons to 5 and the rule still passes. I have debugged this and watched it run rule 10, so I don't know what else to do. Does this look like a bug? Thom Hehl Sr. eJuror Architect ACS: Government Solutions * Office (859) 277-8800 x 144 * [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 1733 Harrodsburg Road Lexington, KY 40504-3617 This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message and notify sender via e-mail at [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] or by telephone at 859-277-8800 ext. 144. Thank you. attachment: image001.gif___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Decision table not triggering
Nope. Only one of each. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Greg Barton Sent: Thursday, August 07, 2008 4:33 PM To: Rules Users List Subject: Re: [rules-users] Decision table not triggering Is there more than one PoolInfo object in working memory? If so does any one of them match the rule? Also, the rule conditions would create a cartesian join because the PoolInfo and PostponementRequest are not logically related. In other words, if you had PoolInfo1, PoolInfo2, PostponementRequest1, PostponementRequest2 in working memory, and all matched the rule, you'd get the following rule firings: PoolInfo1, PostponementRequest1 PoolInfo1, PostponementRequest2 PoolInfo2, PostponementRequest1 PoolInfo2, PostponementRequest2 Probably not what you want. GreG --- Hehl, Thomas [EMAIL PROTECTED] wrote: I have a unit test that calls a decision table that generated the following rule with drools 4.0.7: #From row number: 10 rule postponePart_10 when PoolInfo(courtLocation == 101, daysBeforeSummons = 7, daysBeforeSummons = 999) postponementRequest: PostponementRequest(requestDaysAfterSummons = 30, requestDaysAfterSummons = 90, requestedDayOfWeek = 2, requestedDayOfWeek = 2) then postponementRequest.setAllowed(true); end This rule passes when daysBeforeSummons = 30. I then change the daysBeforeSummons to 5 and the rule still passes. I have debugged this and watched it run rule 10, so I don't know what else to do. Does this look like a bug? Thom Hehl Sr. eJuror Architect ACS: Government Solutions * Office (859) 277-8800 x 144 * [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 1733 Harrodsburg Road Lexington, KY 40504-3617 This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message and notify sender via e-mail at [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] or by telephone at 859-277-8800 ext. 144. Thank you. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] JSR-94 and JEE integration
I know nothing about jsr-94, but we use drools in a webapp, servlet side only. It seems to me you could simply put your rules into a stateless session bean. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Knoster Sent: Tuesday, June 10, 2008 4:46 AM To: rules-users@lists.jboss.org Subject: [rules-users] JSR-94 and JEE integration Hi, i would like to integrate drools in jee. to be more flexible i was loking at jsr-94. as i suppose jsr-94 only addresses j2se environment, my question is: how it is possible to use drools with this specs from an ejb3 session bean? my thoughts about this brought me to the idea of injecting the rules-administrator via resource annotation to prevent the container always doing a class.forname(..) lookup. to define a j2se resource in a jee container a jca might be the best way to integrate and to assure the jee specs will not be violated. but this seams a lot of overhead to me. how do u use drools in your jee applications when not relying on the brms? any help or ideas on integrating drools with jsr-94 in jee would be great. Knosta ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Old drools-spring project
If it helps, I am running Spring 2.5 with drools 4 and not having issues. _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lake Pancake Sent: Thursday, May 29, 2008 9:33 AM To: rules-users@lists.jboss.org Subject: [rules-users] Old drools-spring project I found this: http://docs.codehaus.org/display/DROOLS/Drools+Spring+Tutorial http://docs.codehaus.org/display/DROOLS/Drools+Spring+Tutorial The latest version available for drools-spring appears to be 2.5-beta-1. Is it stable and does it work with Drools 4 or should I stay away? Thanks ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Old drools-spring project
Really. What kinds of issues are you seeing for Spring? I am using decision tables and, as I stated earlier, it's working very well. _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mark Proctor Sent: Thursday, May 29, 2008 10:03 AM To: Rules Users List Subject: Re: [rules-users] Old drools-spring project Lake Pancake wrote: I found this: http://docs.codehaus.org/display/DROOLS/Drools+Spring+Tutorial http://docs.codehaus.org/display/DROOLS/Drools+Spring+Tutorial The latest version available for drools-spring appears to be 2.5-beta-1. Is it stable and does it work with Drools 4 or should I stay away? It does not work with drools 2.5. Paul Browne is working on spring integration with 4.0, but its slow progress due to not enough community involvement. Thanks _ ___ rules-users mailing list rules-users@lists.jboss.org mailto:rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Shadow facts(was JRules\Drools benchmarking)
I did some reading about shadow facts and I was thinking about turning them off, but it seems to be that if I use stateless sessions (session.execute()) that shadow facts are irrelevant. Is this true? _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Edson Tirelli Sent: Thursday, May 15, 2008 10:00 AM To: Rules Users List Subject: Re: [rules-users] JRules\Drools benchmarking... It seems you are using a good strategy to do your tests. But still, it is difficult to explain why one is slower than the other without seeing the actual test code. This is because all the engines have stronger and weaker spots. Just to mention one example, some engines (not talking specifically about drools and jrules, but about all engines) implement faster alpha evaluation, others implement faster beta (join) evaluation, others implement good optimizations for not() while others may focus on eval(), etc. It is up to the point that when comparing 2 engines, one performs better in hardware with a bigger L2 cache while the other performs better in hardware with a smaller L2 cache. So, best I can do without looking at the actual tests is provide you some tips: 1. First of all, are you using Drools 4.0.7? It is very important that you use this version over the previous ones. 2. Are you using stateful or stateless sessions? If you are using stateful sessions are you calling dispose() after using the session? If not, you are inflating your memory and certainly causing the engine to run slower over time. 3. Are you sharing the rulebase among multiple requests? The drools rulebase is designed to be shared and the compilation process is eager and pretty heavy compared to session creation. So, it pays off to create the rulebase once and share among requests. 4. Did you disabled shadow facts? Test cases usually use a really small fact base, so would not be much affected by shadow facts, but still, disabling them improves performance, but require some best practices to be followed. 5. Do your rules follow best practices (similar to SQL writing best practices), i.e., write the most constraining patterns first, write the most constraining restrictions first, etc? Do you write patterns in the same order among rules to maximize node sharing? I guess you do, but worth mentioning anyway. Anyway, just some tips. Regarding the jrules blog, I know it, but I make a bet with you. Download the manners benchmark to your machine, make sure the rules are the correct ones (not cheated ones), run the test on both engines and share the results. I pay you a beer if you get results similar to those published in the blog. :) My point is not that we are faster (what I know we are) or them are faster. My point is that perf benchmarks for rules engines are a really tricky matter, with lots of variables involved, that make every test case configuration unique. Try to reproduce in a different environment and you will get different performance rates between the engines. That is why, our recommendation is to always do what you are doing: try your own use case. Now, whatever you are trying, I'm sure it is possible to optimize if we see the test case, but is it worth it? Or the perf as it is already meets your requirements? Cheers, Edson PS: I'm serious about the beer... ;) run and share the results with us... 2008/5/15 mmquelo massi [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] : You r right... I have to tell you what I have done... I did not define a stand-alone benchmark like the Manners one. I benchmarked a real j2ee application. I have got jrules deployed with a resource adapter and drools deployed with simple jars libraries plus jbrms. Jrules uses a bres module which does the same trick jbrms does. Both of them are deployed on the same AS, in the same time, same machine (my laptop: dual core 2 duo 1.66, 2GB). Using the inversion of control pattern I found out how to switch the rule engine at run-time. So I can easily choose then rule engine to use between drools and jrules. Ofcourse thay have got two separate rule repositories but both of them persist the rules on the same DB which is Derby. The j2ee application I benchmarked sends a request object to the current rule engine and get back a reply from it. I just measured the elapsed time between the request and reply generation using drools first and the jrules. I did the measurements tens of times. Both rule engines implement the same rules and the Drools rules (which I personally implemented) are at least as optimized as the jrules ones. In the Jrules version of the rules there are a lot of Eval(...) blocks in the Drools version I did not use the Eval() at all but I just did pattern matching. If you want i can send you a more specific documentation but I hope this explanation will be enough to show you that the measurements I have done are not that bad. In any case I noticed that after a warming-up phase, the drools engine
RE: [rules-users] Shadow facts(was JRules\Drools benchmarking)
OK, I did. So that means I need to disable shadow facts? _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mark Proctor Sent: Thursday, May 15, 2008 12:22 PM To: Rules Users List Subject: Re: [rules-users] Shadow facts(was JRules\Drools benchmarking) Hehl, Thomas wrote: I did some reading about shadow facts and I was thinking about turning them off, but it seems to be that if I use stateless sessions (session.execute()) that shadow facts are irrelevant. Is this true? No, only if you turn on sequential mode. Mark _ From: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] ] On Behalf Of Edson Tirelli Sent: Thursday, May 15, 2008 10:00 AM To: Rules Users List Subject: Re: [rules-users] JRules\Drools benchmarking... It seems you are using a good strategy to do your tests. But still, it is difficult to explain why one is slower than the other without seeing the actual test code. This is because all the engines have stronger and weaker spots. Just to mention one example, some engines (not talking specifically about drools and jrules, but about all engines) implement faster alpha evaluation, others implement faster beta (join) evaluation, others implement good optimizations for not() while others may focus on eval(), etc. It is up to the point that when comparing 2 engines, one performs better in hardware with a bigger L2 cache while the other performs better in hardware with a smaller L2 cache. So, best I can do without looking at the actual tests is provide you some tips: 1. First of all, are you using Drools 4.0.7? It is very important that you use this version over the previous ones. 2. Are you using stateful or stateless sessions? If you are using stateful sessions are you calling dispose() after using the session? If not, you are inflating your memory and certainly causing the engine to run slower over time. 3. Are you sharing the rulebase among multiple requests? The drools rulebase is designed to be shared and the compilation process is eager and pretty heavy compared to session creation. So, it pays off to create the rulebase once and share among requests. 4. Did you disabled shadow facts? Test cases usually use a really small fact base, so would not be much affected by shadow facts, but still, disabling them improves performance, but require some best practices to be followed. 5. Do your rules follow best practices (similar to SQL writing best practices), i.e., write the most constraining patterns first, write the most constraining restrictions first, etc? Do you write patterns in the same order among rules to maximize node sharing? I guess you do, but worth mentioning anyway. Anyway, just some tips. Regarding the jrules blog, I know it, but I make a bet with you. Download the manners benchmark to your machine, make sure the rules are the correct ones (not cheated ones), run the test on both engines and share the results. I pay you a beer if you get results similar to those published in the blog. :) My point is not that we are faster (what I know we are) or them are faster. My point is that perf benchmarks for rules engines are a really tricky matter, with lots of variables involved, that make every test case configuration unique. Try to reproduce in a different environment and you will get different performance rates between the engines. That is why, our recommendation is to always do what you are doing: try your own use case. Now, whatever you are trying, I'm sure it is possible to optimize if we see the test case, but is it worth it? Or the perf as it is already meets your requirements? Cheers, Edson PS: I'm serious about the beer... ;) run and share the results with us... 2008/5/15 mmquelo massi [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] : You r right... I have to tell you what I have done... I did not define a stand-alone benchmark like the Manners one. I benchmarked a real j2ee application. I have got jrules deployed with a resource adapter and drools deployed with simple jars libraries plus jbrms. Jrules uses a bres module which does the same trick jbrms does. Both of them are deployed on the same AS, in the same time, same machine (my laptop: dual core 2 duo 1.66, 2GB). Using the inversion of control pattern I found out how to switch the rule engine at run-time. So I can easily choose then rule engine to use between drools and jrules. Ofcourse thay have got two separate rule repositories but both of them persist the rules on the same DB which is Derby. The j2ee application I benchmarked sends a request object to the current rule engine and get back a reply from it. I just measured the elapsed time between the request and reply generation using drools first and the jrules. I did the measurements tens of times. Both rule engines implement the same rules and the Drools rules (which I personally implemented) are at least as optimized
RE: [rules-users] Help in using drools
That would be one way to accomplish this. For your situation, though, I would use a stateless session since your servlets are stateless. One of the things I'd like to see changed in drools is that, while it does complicated processing and returns complex answers very well, it's difficult to return simple answers. I would like to see methods like fireRulesReturningBoolean kind of thing, but it would require a paradigm shift in the rules themselves. Alas! Anyway, I think that's how I'd handle it. I also construct wrappers around the basic data types to receive these answers. I wish Sun would implement the bean interface for Integer, Long, Character, String, etc. It would certainly be simple enough for them to do, and then we could just use those to hold the values coming back from our rules. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Stelarinc Sent: Thursday, May 08, 2008 6:03 AM To: rules-users@lists.jboss.org Subject: [rules-users] Help in using drools Hi, I would like to use drools in my application. However, there are a few things that I do not quite understand and whether it can fit my requirements. I have tried to search through the documentation and mailing list, but to no avail. Here is my situation. I am creating a web-based application which requires me to run certain rules for certain page. What I need is to pass all the information accumulated from the pages and pass it through a rule engine. Each rule will check the information and return string message(s) to the caller. Does drools fit in this requirements? From what I understand, I can create a stateful session, passing the information to the rule engine. But when I need to return the result, how do I do that? Do I pass an empty String List into the rule engine, and each rule will add the message to the List if there is an error? Thank you. Regards, Leonard Soetedjo Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Newbie question / NoSuchMethodError error
I'm not entirely sure I understand what you're saying, but you could write a new property that stores the int value and takes and returns a String. Anyway, glad you figured it out. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Cabou, Carl Sent: Thursday, May 08, 2008 10:41 AM To: Rules Users List Subject: RE: [rules-users] Newbie question / NoSuchMethodError error Thomas, I can not move the headings since I do receive 0 - 50 as a String and then I have to return an Integer. I've made a little program beside this to test my rule, I've launched it using java5, it worked fine, but it does crash using java1.4. I just found out the Integer.valueOf(int) is a new feature of java5. So I guess I must try to run my web application using java5. Carl. -Message d'origine- De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Hehl, Thomas Envoyé : jeudi 8 mai 2008 10:20 À : 'Rules Users List' Objet : RE: [rules-users] Newbie question / NoSuchMethodError error No, really, java uses the valueOf methods internally to try to convert the object specified (a String) into an Integer so it can do the comparison. You can't do selected == 0 - 50 because 0 - 50 is a String and you cant compare it to an Integer. So what are you trying to do? If you want selected to be in the range between 0 and 50 inclusive, then you need to change the heading in your decision table. Here's an example: daysBeforeSummons = $1, daysBeforeSummons = $2 and then you specify the data in your column as 0,50. Good luck! -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Cabou, Carl Sent: Thursday, May 08, 2008 10:12 AM To: Rules Users List Subject: RE: [rules-users] Newbie question / NoSuchMethodError error Thank you for answering Thomas. Here is the code below, nothing fancy: public void setSelected (Integer calculatedSetSelected) { this. calculatedSetSelected = calculatedSetSelected; } In fact, the problem IS that it is taking an Integer and some Drools Internal method want to convert it using Integer.valueOf, but there is no Integer.valueOf taking Integer. There is something weird, in the stack trace, I get : Caused by: java.lang.NoSuchMethodError: java.lang.Integer.valueOf(I)Ljava/lang/Integer; at AL_Calculation.Rule_ setSelecte_10_0.consequence(Unknown Source) There is a missing d before _10 ... Carl -Message d'origine- De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Hehl, Thomas Envoyé : jeudi 8 mai 2008 09:35 À : 'Rules Users List' Objet : RE: [rules-users] Newbie question / NoSuchMethodError error Yep. Post the code for setSelected(). I'm guessing it takes an Integer or int and you're passing it a String. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Cabou, Carl Sent: Thursday, May 08, 2008 9:23 AM To: rules-users@lists.jboss.org Subject: [rules-users] Newbie question / NoSuchMethodError error Greetings, I'm new to Drools and I've written a decision table based rule using excel. The rule validates ok and I've deployed my package fine. I've written a piece of code to test my rules, I want to set the calculatedRate to 125 when I get selected field equal to 0 - 50 : ... StatelessSession statelessSession = rb.newStatelessSession(); Data data=new Data(); data.setSelected(0 - 50); statelessSession.execute(data); // set private Integer field ... When I run the code I get a exeption : java.lang.NoSuchMethodError: java.lang.Integer.valueOf(I)Ljava/lang/Integer; I don't understand why Drools tries to convert to Integer something which is already Integer --- Here is the rules code. rule setCalculateRate_11 salience 65525 when Data(selected == 0 - 50) then object.setCalculatedRate(125); end -- The CalculatedRate field is a java.lang.Integer object. Does anybody has an idea ?? Regards, Carl. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] RE: Drools Tomcat
Please direct your e-mails to the list and I will respond if I can. I have used both tomcat 5.5 and tomcat 6 with Drools 4.x (4.04 I think) and it was completely transparent. I haven't published any advice, although I think the docs are a little lacking on decision tables, which is primarily how we're using drools. I simply haven't had time to augment them appropriately. Decision tables error messages also seem a little cryptic and I've mostly found solutions to problems by reading the rule again and guessing about what the problem is. Alas, nothing is perfect, but once you get your decision table set up, drools runs REALLY sweet! Good luck. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, April 25, 2008 5:29 PM To: [EMAIL PROTECTED] Subject: Drools Tomcat HI, Have you successfully installed drools with tomcat ? Do you any pointers or instructions published on any website ? What veriosn of tomcat did work for you ? tomcat 5.5 or 6.0 ? ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] OT:Order of operations
Anyone else use Please Excuse My Dear Aunt Sally? (Parentheses, Exponentiation, Multiplication, Division, Addition, Subtraction) _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Edson Tirelli Sent: Wednesday, April 09, 2008 2:39 PM To: Rules Users List Subject: Re: [rules-users] Order of operations Hi Joe, It seems someone skipped the elementary math lessons at school... :( Will open a JIRA for that. []s Edson 2008/4/9 Joe White [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] : I have a question regarding order of operations in the consequence of a rule when using the mvel dialect. When executed the Drl below provides Right =30.0 and Wrong =140.0. The only difference is the parens around the multiplying expressions, which shouldn't be necessary given order of operations. Is this a problem with the drools/mvel interaction or is it completely an issue with mvel? Is the general expectation that all expressions must be completely scoped by parens when using mvel? package test; dialect mvel rule test 11 when then double rightVal=((10-5)*2) + (5*(8-4)); double wrongVal=(10-5)*2 + 5*(8-4); System.out.println(Right =+rightVal); System.out.println(Wrong =+wrongVal); End After execution: Right =30.0 Wrong =140.0 Thank you for all of your help. We are using drools 4.0.4. http://4.0.4. Joe Also, I haven't figured out how it arrives at 140. The following format also produces 140, which seems a little more strange. double wrongVal=10-5*2 + 5*8-4; ___ rules-users mailing list rules-users@lists.jboss.org mailto:rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users https://lists.jboss.org/mailman/listinfo/rules-users -- Edson Tirelli JBoss Drools Core Development Office: +55 11 3529-6000 Mobile: +55 11 9287-5646 JBoss, a division of Red Hat @ www.jboss.com http://www.jboss.com ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] using drool in tomcat
1) install tomcat 2) place drools libraries in lib directory 3) write your webapp 4) write your rules If you have specific questions, I would be happy to help answer them. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Tuesday, April 08, 2008 10:11 AM To: rules-users@lists.jboss.org Subject: [rules-users] using drool in tomcat hi to all, I am new to drool but i want to learn drool,in my company it is told to use tomcat server so can any one tell me how to use it in step by step to generate a simple web application. Thanks in advance. u can mail me at [EMAIL PROTECTED] as well. with thanks refards kamalkant mail2web.com - Enhanced email for the mobile individual based on Microsoft(r) Exchange - http://link.mail2web.com/Personal/EnhancedEmail ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] NoSuchMethodError
OK, I upgraded to 4.0.2 and here is the updated error: java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult .getProblems()[Lorg/eclipse/jdt/core/compiler/CategorizedProblem; at org.drools.commons.jci.compilers.EclipseJavaCompiler$3.acceptResult(E clipseJavaCompiler.java:321) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:335) at org.drools.commons.jci.compilers.EclipseJavaCompiler.compile(EclipseJ avaCompiler.java:351) at org.drools.commons.jci.compilers.AbstractJavaCompiler.compile(Abstrac tJavaCompiler.java:51) at org.drools.rule.builder.dialect.java.JavaDialect.compileAll(JavaDiale ct.java:332) at org.drools.compiler.DialectRegistry.compileAll(DialectRegistry.java:6 0) at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:308 ) at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.j ava:167) I have found this function in the file core-3.2.3.v_686_R32x.jar in the drools/lib directory for 4.2. One of the things that has happened recently is that I have upgraded from 3.2 to 3.3.1. I thought this might be part of the problem, but I looked at the core jar for 3.3.1 and it has the same method. The thing that puzzles me is that I'm not including the core file in my distribution, but if that's the problem, why am I not getting a ClassNotFoundException? Thanks. _ From: Hehl, Thomas Sent: Monday, October 22, 2007 10:04 AM To: 'Rules Users List' Subject: NoSuchMethodError I am running 4.01 and I started get this exception on a new piece of code: java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult .getProblems()[Lorg/eclipse/jdt/core/compiler/CategorizedProblem; at org.drools.commons.jci.compilers.EclipseJavaCompiler$3.acceptResult(E clipseJavaCompiler.java:335) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:335) at org.drools.commons.jci.compilers.EclipseJavaCompiler.compile(EclipseJ avaCompiler.java:372) at org.drools.commons.jci.compilers.AbstractJavaCompiler.compile(Abstrac tJavaCompiler.java:51) at org.drools.rule.builder.dialect.java.JavaDialect.compileAll(JavaDiale ct.java:332) at org.drools.compiler.DialectRegistry.compileAll(DialectRegistry.java:6 0) at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:287 ) at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.j ava:160) at com.acs.gs.juror.workflow.RulesBasedWorkflowManager.init(RulesBasedWo rkflowManager.java:114) It is blowing up on this line of code: builder.addPackageFromDrl( new StringReader(drl) ); Which is the drl created from the spreadsheet compiler on the decision table. This rules class has been tested thoroughly under junit. It wasn't until I deployed the library into my webapp that this issue turned up. Does anyone have any idea what I should be doing next? Thanks. Thom Hehl Sr. eJuror Architect * Office (859) 277-8800 x 144 * [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] ACS, Inc. Government Solutions 1733 Harrodsburg Road Lexington, KY 40504-3617 This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message and notify sender via e-mail at [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] or by telephone at 859-277-8800 ext. 144. Thank you. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Basic questions about rule deployment
Just a note about URLs. URLs will automatically do base 64 encoding, which primarily means that all spaces are replaced with %20%. If you are using a URL to represent a file, make sure you test it with a file that has spaces somewhere in the path. I just learned this the hard way. You may need to convert your URL to a URI. Good luck! -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Fermion Sent: Thursday, October 11, 2007 5:29 AM To: rules-users@lists.jboss.org Subject: Re: [rules-users] Basic questions about rule deployment Thank you very much! I followed your advice and created URLs for my .drl and .dsl files. Then I created a new URLClassLoader instance with these two URLs. Finally I assigned this class loader to my packager builder using: myPackageBuilder.getPackageBuilderConfiguration().setClassLoader(myURLClassL oader); Absolute path names seem to be Ok, as long as one uses file: as a prefix to the URL string. I plan to use a config file to specify the locations of my rule files (dsl and drl). The location of the config file itself will then be defined by a command line argument. Thanks again! -- View this message in context: http://www.nabble.com/Basic-questions-about-rule-deployment-tf4601653.html#a 13152365 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Assigning variables in decision tables
Mark, You made a comment on my JIRA that I thought I'd post here for discussion: Mark Proctor commented on JBRULES-1155: --- anAnwer is a method/function that returns a boolean? Must admit I don't understand what you are trying to do there. Anyway if all you are trying to do is assign the results of a function/method call then why not just use an = assignment? BooleanAnswer = anAnswer(anAnswer.setAnswer(true)); Any valid java can used. What I'm really trying to do is simply return a boolean from a set of really complicated rules in my decision table. I run through the rules and if it passes, I return true. The reason I didn't do what you suggested above is b/c there is no documentation to suggest this is valid syntax and, after several postings to this list, no one responded to my requests on how to do this assignment. So, how do I do an assignment in a decision table to simply return a boolean? Otherwise, can you explain the syntax you posted to me. This doesn't look like any Java I've seen and I can't make heads or tails of how it should work. Thanks. Thom Hehl Sr. eJuror Architect * Office (859) 277-8800 x 144 * [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] ACS, Inc. Government Solutions 1733 Harrodsburg Road Lexington, KY 40504-3617 This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message and notify sender via e-mail at [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] or by telephone at 859-277-8800 ext. 144. Thank you. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Date - Effective Date - Expire in BRMS
Include them in your session as separate object(s) and make your references to those object instead of to constants. _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Knapp, Barry Sent: Thursday, September 13, 2007 2:22 PM To: Rules Users List Subject: [rules-users] Date - Effective Date - Expire in BRMS Where can the values for Effective date and Expiration date for a decision table? Is there some place in the BRMS to change these dates, so I do not need to update the rule sheet. Thanks Barry ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] NPE on DecisionTable rule
Hey, gang! I have a decision table that generated the following rule: {other rules removed} #From row number: 19 rule postponePart_19 when PoolInfo(courtLocation == 101) PoolInfo(statusCode = 0, statusCode = 2) PoolInfo(numberFta 1) PoolInfo(numberOfDeferralsPosted 2) PoolInfo(daysBeforeSummons= 2, daysBeforeSummons= 999) then answer.setAnswer(true); end I call these rules with the following code (I build the ruleBase at the beginning in the factory method to be used by everything: StatelessSession session = participantRuleBase.newStatelessSession(); //now create some test data PoolInfo pool = part.getActivePool(); BooleanAnswer answer = new BooleanAnswer(); Object[] rules = new Object[]{pool, answer}; session.execute(rules); return answer.isTrue(); BooleanAnswer is simply a convenience object I created to store the answer from the rules. (If anyone has a better way to do this, please let me know.) I got the following stack trace: java.lang.NullPointerException at com.acs.gs.juror.bo.Rule_postponePart_19_0.consequence(Rule_postponePart_19_ 0.java:6) at com.acs.gs.juror.bo.Rule_postponePart_19_0ConsequenceInvoker.evaluate(Rule_p ostponePart_19_0ConsequenceInvoker.java:20) at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:545) at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:509) at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.j ava:430) at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.j ava:402) at org.drools.reteoo.ReteooStatelessSession.execute(ReteooStatelessSession.java :128) I'm a newbie and have no idea what to do next. Please help. Thanks. Thom Hehl Sr. eJuror Architect * Office (859) 277-8800 x 144 * [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] ACS, Inc. Government Solutions 1733 Harrodsburg Road Lexington, KY 40504-3617 This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message and notify sender via e-mail at [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] or by telephone at 859-277-8800 ext. 144. Thank you. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Rule compilation errors under heavy load
Couldn't you use yield() to generate a context-switch? It would only happen in that spot, but should produce some good testing. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dean Jones Sent: Monday, July 16, 2007 5:48 AM To: Rules Users List Subject: Re: [rules-users] Rule compilation errors under heavy load On 7/14/07, Mark Proctor [EMAIL PROTECTED] wrote: We are going to need an integration test, to reproduce this, can you supply one? Okay, I've just converted the simple test that I added earlier to a Junit test. The test is not guaranteed to fail if there are thread safety errors, just very likely to fail (don't know if this is acceptable for you). Initially, I wrote a test which guaranteed that calls to the addPackage() and getPackage() methods were interleaved by different threads, but, annoyingly, this test passed. It seems that a context-switch halfway through one of these methods is necessary to provoke the problem (which is difficult to guarantee :-) Dean. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Rule compilation errors under heavy load
Yeah, me either. Welcome to Java!:) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dean Jones Sent: Monday, July 16, 2007 9:09 AM To: Rules Users List Subject: Re: [rules-users] Rule compilation errors under heavy load Hi Thomas, On 7/16/07, Hehl, Thomas [EMAIL PROTECTED] wrote: Couldn't you use yield() to generate a context-switch? It would only happen in that spot, but should produce some good testing. It's a good point about using yield(). I did use this originally, but for some reason it generated fewer errors than using some arbitrary sleep values. At the time, I explained this to myself as follows: yield() means that context switching happens at well-defined points, whereas when there are lots of sleeping threads waking up at arbitrary moments wanting to be run, context switching happens more randomly. I'm not sure if this explanation makes complete sense, though. Dean. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] matches operator
Also, Java is far stricter on syntax for regular expressions than anything else I've seen. You can't just test your stuff at a unix prompt or using grep to see if it works. That's just the first step. I generally use the vi find command. _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mark Proctor Sent: Monday, July 09, 2007 7:16 AM To: Rules Users List Subject: Re: [rules-users] matches operator Read up on regular expression, what you just wrote there is not valid. Mark Ashwini Joshi wrote: Hi, Has anyone used the matches operator? In our application we need to support startWith, endsWith operators for string variable. I am thinking of using matches operator. But the 'matches' operator is not working. I am trying the following code rule Hello World when m : Message(message matches Hello*) then System.out.println( Hello World); end And the value set in the message is Hello World. But it is not going into the then clause. If anyone has already used matches operator I would like to know how we can use it for startswith, endsWith. How do we specify the regular expression? Can we use * Thanks, Ashwini DISCLAIMER == This e-mail may contain privileged and confidential information which is the property of Persistent Systems Pvt. Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Pvt. Ltd. does not accept any liability for virus infected mails. _ ___ rules-users mailing list rules-users@lists.jboss.org mailto:rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] matches operator
Try ^Hello.* I think, I'm not very good with regular expressions. For more information, have a look at: http://www.regular-expressions.info/tutorial.html _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ashwini Joshi Sent: Monday, July 09, 2007 8:54 AM To: 'Rules Users List' Subject: RE: [rules-users] matches operator Can you please give me example of using matches operator for startswith? Thanks, Ashwini _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Hehl, Thomas Sent: Monday, July 09, 2007 5:31 PM To: 'Rules Users List' Subject: RE: [rules-users] matches operator Also, Java is far stricter on syntax for regular expressions than anything else I've seen. You can't just test your stuff at a unix prompt or using grep to see if it works. That's just the first step. I generally use the vi find command. _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mark Proctor Sent: Monday, July 09, 2007 7:16 AM To: Rules Users List Subject: Re: [rules-users] matches operator Read up on regular expression, what you just wrote there is not valid. Mark Ashwini Joshi wrote: Hi, Has anyone used the matches operator? In our application we need to support startWith, endsWith operators for string variable. I am thinking of using matches operator. But the 'matches' operator is not working. I am trying the following code rule Hello World when m : Message(message matches Hello*) then System.out.println( Hello World); end And the value set in the message is Hello World. But it is not going into the then clause. If anyone has already used matches operator I would like to know how we can use it for startswith, endsWith. How do we specify the regular expression? Can we use * Thanks, Ashwini DISCLAIMER == This e-mail may contain privileged and confidential information which is the property of Persistent Systems Pvt. Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Pvt. Ltd. does not accept any liability for virus infected mails. _ ___ rules-users mailing list rules-users@lists.jboss.org mailto:rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users https://lists.jboss.org/mailman/listinfo/rules-users DISCLAIMER == This e-mail may contain privileged and confidential information which is the property of Persistent Systems Pvt. Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Pvt. Ltd. does not accept any liability for virus infected mails. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] decision tables
You're not getting answers because you're not asking specific enough questions. Like, for example, what is not in the policy example provided that you need further help with. _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of kranthikumar dalai Sent: Tuesday, June 05, 2007 7:39 AM To: rules-users@lists.jboss.org Subject: [rules-users] decision tables Hi to every one, Can i examples of drools with decision tables. I gone through documentation. But can i have some other examples. Regards: Kranthi Dalai ( I posted so many querries regarding this, but no one answered..) ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Decision tables
Yes, you can give the spreadsheet to your HR people for modification. Please read: http://www.catb.org/~esr/faqs/smart-questions.html _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of kranthikumar dalai Sent: Tuesday, June 05, 2007 8:40 AM To: rules-users@lists.jboss.org Subject: [rules-users] Decision tables Hi To every one, I understood the pricing example. But problem is that i have to give the table to my HR-People that they can modify and update the rules. That's the question i am asking. Thanx Regards: Kranthi Dalai ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Drools 4.0 Decision tables
Does drools 4.0 ship with the insurance policy example like 3.0? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of suma Sent: Friday, May 25, 2007 6:17 AM To: rules-users@lists.jboss.org Subject: [rules-users] Drools 4.0 Decision tables Hi, Please help me with the Drools 4.0 Decision tables by giving realtime examples Regards, suma -- View this message in context: http://www.nabble.com/Drools-4.0-Decision-tables-tf3815280.html#a10800335 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] DSL OR DECISION TABLES
In my opinion, use a decision table if at all possible. They are easier to maintain and understand at a glance and can be reviewed by a power user instead of a programmer. I inject my decision table spreadsheet into my program using Spring so that I can switch it up if I need to. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of suma Sent: Thursday, May 24, 2007 7:40 AM To: rules-users@lists.jboss.org Subject: [rules-users] DSL OR DECISION TABLES Hi, I'm struck up here whether to go with DSL or decision tables.Please do tell me which one is the best one to proceed with and why. If DSL then please give me some examples. -- View this message in context: http://www.nabble.com/DSL-OR-DECISION-TABLES-tf3809558.html#a10782045 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] error compilation
If you download the jBoss rules with Dependencies file, it comes with string-template.jar. Use this. _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of fakhfakh ismail Sent: Thursday, May 03, 2007 6:03 AM To: jboss rules Subject: [rules-users] error compilation hello, when I execute my code an error is affiched [java] Exception in thread main java.lang.NoClassDefFoundError: org/antlr/stringtemplate/StringTemplateGroup [java] at org.drools.semantics.java.RuleBuilder.clinit(Unknown Source) [java] at org.drools.compiler.PackageBuilder.addRule(Unknown Source) [java] at org.drools.compiler.PackageBuilder.addPackage(Unknown Source) [java] at org.drools.compiler.PackageBuilder.addPackageFromDrl(Unknown Source) [java] at org.drools.jsr94.rules.admin.LocalRuleExecutionSetProviderImpl.createRuleExe cutionSet(Unknown Source) [java] at org.drools.jsr94.rules.admin.LocalRuleExecutionSetProviderImpl.createRuleExe cutionSet(Unknown Source) thank you for your help Best regards Ismail _ Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions ! Profitez des connaissances, des opinions et des expériences des internautes sur Yahoo! http://fr.rd.yahoo.com/evt=42054/*http:/fr.answers.yahoo.com Questions/Réponses. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] FW: Newbie: using a spreadsheet
Thank you! That was it! _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Steven Williams Sent: Tuesday, May 01, 2007 7:57 AM To: Rules Users List Subject: Re: [rules-users] FW: Newbie: using a spreadsheet In your Action column you should have: ACTION blank singleStatus.setAnswer($param); cheers Steve On 5/1/07, Hehl, Thomas [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: OK, here's my rules table: RuleTable Court CONDITION CONDITION ACTION singleStatus: SingleParticipantStatus singleStatus: SingleParticipantStatus singleStatus: SingleParticipantStatus statusType value singleStatus.setAnswer($param); And this generates a rule that looks like this, for example: then singleStatus: SingleParticipantStatus.singleStatus.setAnswer(statusOnly);; This generates an error b/c it doesn't know how to resolve SingleParticipantStatus.singleStatus.setAnswer, which is where the error below is coming from. So I changed the rule table to simply say: setAnswer($param); Which generates: then singleStatus: SingleParticipantStatus.setAnswer(statusOnly);; Which causes the non-static method error since setAnswer is an instance method. Can anyone tell me what I'm doing wrong? Thanks. _ From: Hehl, Thomas Sent: Monday, April 30, 2007 8:42 AM To: 'rules-users@lists.jboss.org mailto:rules-users@lists.jboss.org ' Subject: Newbie: using a spreadsheet I've been following the ExamplePricePolicy example and am attempting to build my own rules using a spreadsheet. In my spreadsheet rules, I have the following: ACTION singleStatus: SingleParticipantStatus singleStatus.setAnswer($param); This throws: org.drools.rule.InvalidRulePackage: Rule Compilation error SingleParticipantStatus.singleStatus cannot be resolved Rule Compilation error SingleParticipantStatus.singleStatus cannot be resolved Rule Compilation error SingleParticipantStatus.singleStatus cannot be resolved Rule Compilation error SingleParticipantStatus.singleStatus cannot be resolved Rule Compilation error SingleParticipantStatus.singleStatus cannot be resolved When I googled on this error, most of the occurrences appeared to be related to an import issue, but if I change the third line to: setAnswer($param); It blows up because it knows that setAnswer is not a static method, which tends to tell me that it found my class. I think I've parroted the example exactly and so I'm confused as to where to go with this issue. Thanks! ___ rules-users mailing list rules-users@lists.jboss.org mailto:rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users https://lists.jboss.org/mailman/listinfo/rules-users -- Steven Williams Supervising Consultant Object Consulting Office: 8615 4500 Mob: 0439 898 668 Fax: 8615 4501 [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] www.objectconsulting.com.au http://www.objectconsulting.com.au consulting | development | training | support our experience makes the difference ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users