[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] DROOLS AND SPRING INTEGRATION
Hi, Could u please help me in drools and spring integration by giving some examples Thanks, suma -- View this message in context: http://www.nabble.com/DROOLS-AND-SPRING-INTEGRATION-tf3809566.html#a10782082 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
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
[rules-users] Dynamic loading of rules
Hi to all, We wrote all the rules for leave application system. In which way we can organize and store all the rules in database. Can i have any example snippets of DAO implemention in drools rules. Regards: Kranthi Dalai ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Dynamic loading of rules
Kranthi, I don't know if there is any example available, but it should be as straight forward as either saving your DRL as text in the database or serializing your rulebases in blob fields. Alternativelly, if you are not looking for immediate production, I would recommend you take a look at the BRMS. It has a repository of rules that has the capabilities for rule asset management, including storage/retrieval, versioning and cathegorization. It is not production ready yet, but shall be in some weeks and you may want to take a look if it fits your needs. []s Edson 2007/5/24, kranthikumar dalai [EMAIL PROTECTED]: Hi to all, We wrote all the rules for leave application system. In which way we can organize and store all the rules in database. Can i have any example snippets of DAO implemention in drools rules. Regards: Kranthi Dalai ___ 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Spring integration with Drools
Hi to all, Can i have any simple project that is developed under spring and drools 2.1 and java with Database. Regards: Kranthi Dalai ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] DSL OR DECISION TABLES
Both are good solutions, otherwise we wouldn't offer them :) So it all depends more on your problem domain. Mark suma wrote: 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. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] JBoss Rules IDE Error on StringEvaluator
Ronald, I see now. Version 3.0.x still used integer codes for operators and that is the reason the error message is saying operator '50'. So, the problem is you are trying to use = (operator 50) with a string attribute: public static final int EQUAL= 1; public static final int NOT_EQUAL= 10; public static final int LESS = 20; public static final int LESS_OR_EQUAL= 30; public static final int GREATER = 40; public static final int GREATER_OR_EQUAL = 50; public static final int CONTAINS = 60; public static final int MATCHES = 70; public static final int EXCLUDES = 80; Version 4.0 already uses type safe enums for operators, so message will be better. Back to your problem, I guess we should add support for comparisons between strings using the java lexicographic order. We don't do it as of today. What you can do as a work around is to use a predicate: MyFact( $s: strAttr - ( $s.compareTo( $otherValue ) = 0 ) ) May I ask you please to open a JIRA with a feature request to support comparison for string objects? Thank you, Edson 2007/5/24, Ronald R. DiFrango [EMAIL PROTECTED]: Edson, I am using 3.0.5 of the IDE which is the latest version I could find on the update site. I have asked when the newer version might be posted, but I never did hear an answer back. Ron On 5/23/07, Edson Tirelli [EMAIL PROTECTED] wrote: Ronald, When you write an expression for a String attribute like: Person( name Edson ) It should raise an exception saying: Operator '' does not exists for StringEvaluator. Although, he is saying Operator '50'?!?! What version of drools are you using? []s Edson 2007/5/23, Ronald R. DiFrango [EMAIL PROTECTED]: Anyone ever seen this error in the IDE: Severity and DescriptionPathResourceLocationCreation TimeId Operator '50' does not exist for StringEvaluator RtvDecisionEngine/src/rules/com/circuitcity/rtvcrms/rulesrtv.drl Unknown117995431763829080 And if so what do you do about it? My rules file is just under 1000 lines [and growing] and shows no other errors. ___ 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 -- 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] JBoss Rules IDE Error on StringEvaluator
Edson, Actually, I am glad it caught it, because that was not my intent at all. I was a global search and replace issue on my part. If you added in support for these operations, I still think a warning would be in order because that may not be what you intended, I am considering the move to 4.0.x series, but I have hard deadline and am being risk averse at this point. Ron On 5/24/07, Edson Tirelli [EMAIL PROTECTED] wrote: Ronald, I see now. Version 3.0.x still used integer codes for operators and that is the reason the error message is saying operator '50'. So, the problem is you are trying to use = (operator 50) with a string attribute: public static final int EQUAL= 1; public static final int NOT_EQUAL= 10; public static final int LESS = 20; public static final int LESS_OR_EQUAL= 30; public static final int GREATER = 40; public static final int GREATER_OR_EQUAL = 50; public static final int CONTAINS = 60; public static final int MATCHES = 70; public static final int EXCLUDES = 80; Version 4.0 already uses type safe enums for operators, so message will be better. Back to your problem, I guess we should add support for comparisons between strings using the java lexicographic order. We don't do it as of today. What you can do as a work around is to use a predicate: MyFact( $s: strAttr - ( $s.compareTo( $otherValue ) = 0 ) ) May I ask you please to open a JIRA with a feature request to support comparison for string objects? Thank you, Edson 2007/5/24, Ronald R. DiFrango [EMAIL PROTECTED]: Edson, I am using 3.0.5 of the IDE which is the latest version I could find on the update site. I have asked when the newer version might be posted, but I never did hear an answer back. Ron On 5/23/07, Edson Tirelli [EMAIL PROTECTED] wrote: Ronald, When you write an expression for a String attribute like: Person( name Edson ) It should raise an exception saying: Operator '' does not exists for StringEvaluator. Although, he is saying Operator '50'?!?! What version of drools are you using? []s Edson 2007/5/23, Ronald R. DiFrango [EMAIL PROTECTED]: Anyone ever seen this error in the IDE: Severity and DescriptionPathResourceLocationCreation TimeId Operator '50' does not exist for StringEvaluator RtvDecisionEngine/src/rules/com/circuitcity/rtvcrms/rulesrtv.drl Unknown117995431763829080 And if so what do you do about it? My rules file is just under 1000 lines [and growing] and shows no other errors. ___ 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 -- 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 ___ 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] JBoss Rules IDE Error on StringEvaluator
Yes, we know error messages are still not good and we are working on improving them. []s Edson 2007/5/24, Ronald R. DiFrango [EMAIL PROTECTED]: On a similar note, it would be good if the line numbers were displayed so I could find the error much easier. [I do not that is TONS easier than in the old 2.x days] On 5/24/07, Ronald R. DiFrango [EMAIL PROTECTED] wrote: Edson, Actually, I am glad it caught it, because that was not my intent at all. I was a global search and replace issue on my part. If you added in support for these operations, I still think a warning would be in order because that may not be what you intended, I am considering the move to 4.0.x series, but I have hard deadline and am being risk averse at this point. Ron On 5/24/07, Edson Tirelli [EMAIL PROTECTED] wrote: Ronald, I see now. Version 3.0.x still used integer codes for operators and that is the reason the error message is saying operator '50'. So, the problem is you are trying to use = (operator 50) with a string attribute: public static final int EQUAL= 1; public static final int NOT_EQUAL= 10; public static final int LESS = 20; public static final int LESS_OR_EQUAL= 30; public static final int GREATER = 40; public static final int GREATER_OR_EQUAL = 50; public static final int CONTAINS = 60; public static final int MATCHES = 70; public static final int EXCLUDES = 80; Version 4.0 already uses type safe enums for operators, so message will be better. Back to your problem, I guess we should add support for comparisons between strings using the java lexicographic order. We don't do it as of today. What you can do as a work around is to use a predicate: MyFact( $s: strAttr - ( $s.compareTo( $otherValue ) = 0 ) ) May I ask you please to open a JIRA with a feature request to support comparison for string objects? Thank you, Edson 2007/5/24, Ronald R. DiFrango [EMAIL PROTECTED]: Edson, I am using 3.0.5 of the IDE which is the latest version I could find on the update site. I have asked when the newer version might be posted, but I never did hear an answer back. Ron On 5/23/07, Edson Tirelli [EMAIL PROTECTED] wrote: Ronald, When you write an expression for a String attribute like: Person( name Edson ) It should raise an exception saying: Operator '' does not exists for StringEvaluator. Although, he is saying Operator '50'?!?! What version of drools are you using? []s Edson 2007/5/23, Ronald R. DiFrango [EMAIL PROTECTED]: Anyone ever seen this error in the IDE: Severity and DescriptionPathResourceLocation Creation TimeId Operator '50' does not exist for StringEvaluator RtvDecisionEngine/src/rules/com/circuitcity/rtvcrms/rules rtv.drlUnknown117995431763829080 And if so what do you do about it? My rules file is just under 1000 lines [and growing] and shows no other errors. ___ 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 -- 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 ___ 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 -- 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Spring integration with Drools
why are you using drools 2.1? Mark kranthikumar dalai wrote: Hi to all, Can i have any simple project that is developed under spring and drools 2.1 and java with Database. Regards: Kranthi Dalai ___ 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] Fwd: More Fun with JBoss Rules IDE and JBoss Rules in general
-- Forwarded message -- From: Ronald R. DiFrango [EMAIL PROTECTED] Date: May 24, 2007 10:48 AM Subject: More Fun with JBoss Rules IDE and JBoss Rules in general To: [EMAIL PROTECTED] All, I am now getting the following error: The type Rule_RNR_QtyRNR_Adjustment_Qty___100__Tolerance_0 is already definedRtvDecisionEngine/src/rules/com/circuitcity/rtvcrms/rules rtv.drlline 758118001784758629221 But I do not have this defined twice, well at least not in my mind. Here are the two rule names that are conflicting: RNR Qty == RNR Adjustment Qty : 100% Tolerance RNR Qty = RNR Adjustment Qty : 100% Tolerance So it appears as though the rule names are not taking into account special characters. Is this to be expected? Ron ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] multi restriction connective field constraints with and |
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossRules The version has been jumped from 3.1 to 4.0, due to an API change and so many new features: Ronald R. DiFrango wrote: I read in the blog spot [http://markproctor.blogspot.com/2007_02_01_archive.html] that multi restriction connective field constraints with and | will be available in 3.1. Yet I do not see a 3.1 release any where. Has this been moved into the 4.x release? ___ 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-user] More Fun with JBoss Rules IDE and JBoss Rules in general
Ronald, Special characters in the rule names are replaced by '_' as a class will be created with that name. So yes, the given names will generate conflicts. I'm not sure we can do much about it, as transparently generating unique names may cause silent unexpected problems. For now, my recommendation would be for you to use a valid character to differentiate rule names (like prefixing them with numbers or letters, etc). If you or anyone have any better idea on how to handle such situations, just suggest and we can analyze the viability of implementing it. []s Edson 2007/5/24, Ronald R. DiFrango [EMAIL PROTECTED]: All, I am now getting the following error: The type Rule_RNR_QtyRNR_Adjustment_Qty___100__Tolerance_0 is already definedRtvDecisionEngine/src/rules/com/circuitcity/rtvcrms/rules rtv.drlline 758118001784758629221 But I do not have this defined twice, well at least not in my mind. Here are the two rule names that are conflicting: RNR Qty == RNR Adjustment Qty : 100% Tolerance RNR Qty = RNR Adjustment Qty : 100% Tolerance So it appears as though the rule names are not taking into account special characters. Is this to be expected? Ron -- 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Re: [drools-user] More Fun with JBoss Rules IDE and JBoss Rules in general
Edson, One someone else on my team came up with is using abbreviated names like: LE for = GE for = EQ for == etc., etc., etc. Ron On 5/24/07, Edson Tirelli [EMAIL PROTECTED] wrote: Ronald, Special characters in the rule names are replaced by '_' as a class will be created with that name. So yes, the given names will generate conflicts. I'm not sure we can do much about it, as transparently generating unique names may cause silent unexpected problems. For now, my recommendation would be for you to use a valid character to differentiate rule names (like prefixing them with numbers or letters, etc). If you or anyone have any better idea on how to handle such situations, just suggest and we can analyze the viability of implementing it. []s Edson 2007/5/24, Ronald R. DiFrango [EMAIL PROTECTED]: All, I am now getting the following error: The type Rule_RNR_QtyRNR_Adjustment_Qty___100__Tolerance_0 is already defined RtvDecisionEngine/src/rules/com/circuitcity/rtvcrms/rulesrtv.drl line 758118001784758629221 But I do not have this defined twice, well at least not in my mind. Here are the two rule names that are conflicting: RNR Qty == RNR Adjustment Qty : 100% Tolerance RNR Qty = RNR Adjustment Qty : 100% Tolerance So it appears as though the rule names are not taking into account special characters. Is this to be expected? Ron -- 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 ___ 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] Re: [drools-user] More Fun with JBoss Rules IDE and JBoss Rules in general
Just a thought -- you could always do something like include the string's hashcode in the rulename, to ensure that two names that are similar with special-character differences won't conflict with each other. On 5/24/07, Edson Tirelli [EMAIL PROTECTED] wrote: Ronald, Special characters in the rule names are replaced by '_' as a class will be created with that name. So yes, the given names will generate conflicts. I'm not sure we can do much about it, as transparently generating unique names may cause silent unexpected problems. For now, my recommendation would be for you to use a valid character to differentiate rule names (like prefixing them with numbers or letters, etc). If you or anyone have any better idea on how to handle such situations, just suggest and we can analyze the viability of implementing it. []s Edson 2007/5/24, Ronald R. DiFrango [EMAIL PROTECTED]: All, I am now getting the following error: The type Rule_RNR_QtyRNR_Adjustment_Qty___100__Tolerance_0 is already defined RtvDecisionEngine/src/rules/com/circuitcity/rtvcrms/rulesrtv.drl line 758118001784758629221 But I do not have this defined twice, well at least not in my mind. Here are the two rule names that are conflicting: RNR Qty == RNR Adjustment Qty : 100% Tolerance RNR Qty = RNR Adjustment Qty : 100% Tolerance So it appears as though the rule names are not taking into account special characters. Is this to be expected? Ron -- 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -- Geoffrey Wiseman ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Re: [drools-user] More Fun with JBoss Rules IDE and JBoss Rules in general
Geoffrey, that is actually a nice Idea... :) Will look at implementing it. Thanks, Edson 2007/5/24, Geoffrey Wiseman [EMAIL PROTECTED]: Just a thought -- you could always do something like include the string's hashcode in the rulename, to ensure that two names that are similar with special-character differences won't conflict with each other. On 5/24/07, Edson Tirelli [EMAIL PROTECTED] wrote: Ronald, Special characters in the rule names are replaced by '_' as a class will be created with that name. So yes, the given names will generate conflicts. I'm not sure we can do much about it, as transparently generating unique names may cause silent unexpected problems. For now, my recommendation would be for you to use a valid character to differentiate rule names (like prefixing them with numbers or letters, etc). If you or anyone have any better idea on how to handle such situations, just suggest and we can analyze the viability of implementing it. []s Edson 2007/5/24, Ronald R. DiFrango [EMAIL PROTECTED] : All, I am now getting the following error: The type Rule_RNR_QtyRNR_Adjustment_Qty___100__Tolerance_0 is already defined RtvDecisionEngine/src/rules/com/circuitcity/rtvcrms/rulesrtv.drl line 758118001784758629221 But I do not have this defined twice, well at least not in my mind. Here are the two rule names that are conflicting: RNR Qty == RNR Adjustment Qty : 100% Tolerance RNR Qty = RNR Adjustment Qty : 100% Tolerance So it appears as though the rule names are not taking into account special characters. Is this to be expected? Ron -- 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -- Geoffrey Wiseman ___ 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] assertLogical only retracted once
Hello, I am trying to use assertLogical in combination with a WorkingMemoryEventListener in order to have business rules drive my application: if conditions, then do something; if conditions not true anymore, then do something else. However, it seems that if the rule is activated multiple times, then becomes unsupported, only one of the assertLogical'ed facts is retracted, as illustrated in the example below. Does anyone know how to get around that problem? I thought assertLogical would be an elegant solution but maybe there is a better way? Kind regards Alexandre To reproduce the problem: With the JBoss Rules 3.0.6 IDE, I have started with a test project with the Eclipse Wizard and modified it as listed below. Date facts are used simply to ensure unequality. DRL: import com.sample.DroolsTest.Message; import java.util.Date; rule Hello World when $i : Message ( status 4 ) then assertLogical(new Date()); end Java: workingMemory.addEventListener(new DebugWorkingMemoryEventListener()); Message message = new Message(); message.setStatus( 10 ); FactHandle fh = workingMemory.assertObject( message ); workingMemory.fireAllRules(); Thread.sleep(2000); message.setStatus( 6 ); workingMemory.modifyObject(fh, message); workingMemory.fireAllRules(); Thread.sleep(2000); message.setStatus( 2 ); workingMemory.modifyObject(fh, message); workingMemory.fireAllRules(); Output: [ObjectAsserted: handle=[fid:1:1]; [EMAIL PROTECTED] [ObjectAsserted: handle=[fid:2:2]; object=Thu May 24 19:19:01 CEST 2007] [ObjectModified: handle=[fid:1:3]; [EMAIL PROTECTED]; [EMAIL PROTECTED] [ObjectAsserted: handle=[fid:3:4]; object=Thu May 24 19:19:03 CEST 2007] [ObjectModified: handle=[fid:1:5]; [EMAIL PROTECTED]; [EMAIL PROTECTED] [ObjectRetracted: handle=[fid:3:4]; old_object=Thu May 24 19:19:03 CEST 2007] ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Migration from 3.0.5 to 4.0.0
Any catches in migrating from 3.0.5 to 4.0.0? Anything special if you have a JBoss Rules Eclipse project when upgrading? ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Re: [drools-user] More Fun with JBoss Rules IDE and JBoss Rules in general
Yeah, I like that idea as well! On 5/24/07, Edson Tirelli [EMAIL PROTECTED] wrote: Geoffrey, that is actually a nice Idea... :) Will look at implementing it. Thanks, Edson 2007/5/24, Geoffrey Wiseman [EMAIL PROTECTED]: Just a thought -- you could always do something like include the string's hashcode in the rulename, to ensure that two names that are similar with special-character differences won't conflict with each other. On 5/24/07, Edson Tirelli [EMAIL PROTECTED] wrote: Ronald, Special characters in the rule names are replaced by '_' as a class will be created with that name. So yes, the given names will generate conflicts. I'm not sure we can do much about it, as transparently generating unique names may cause silent unexpected problems. For now, my recommendation would be for you to use a valid character to differentiate rule names (like prefixing them with numbers or letters, etc). If you or anyone have any better idea on how to handle such situations, just suggest and we can analyze the viability of implementing it. []s Edson 2007/5/24, Ronald R. DiFrango [EMAIL PROTECTED] : All, I am now getting the following error: The type Rule_RNR_QtyRNR_Adjustment_Qty___100__Tolerance_0 is already defined RtvDecisionEngine/src/rules/com/circuitcity/rtvcrms/rulesrtv.drl line 758118001784758629221 But I do not have this defined twice, well at least not in my mind. Here are the two rule names that are conflicting: RNR Qty == RNR Adjustment Qty : 100% Tolerance RNR Qty = RNR Adjustment Qty : 100% Tolerance So it appears as though the rule names are not taking into account special characters. Is this to be expected? Ron -- 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -- Geoffrey Wiseman ___ 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 ___ 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] Migration from 3.0.5 to 4.0.0
I tried the same thing but could not migrate cleanly. I dropped the plugin in the plugin directory and restarted eclipse. I see two Rule icons in my eclipse workspace. I closed it and deleted the 3.0.5plugin from the plugin directory but it still would not go away. Not sure how to get rid of it. -Krishnan. On 5/24/07, Ronald R. DiFrango [EMAIL PROTECTED] wrote: Any catches in migrating from 3.0.5 to 4.0.0? Anything special if you have a JBoss Rules Eclipse project when upgrading? ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -- Sivaramakrishna Iyer Krishnan (Anand) Never assume the obvious is true. - William Safire ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Class loader issue with dynamically generated classes and JBoss AS
We’re having a class loader issue compiling rules that use dynamically generated java beans as facts when deploying our application on JBoss Application Server, versions 4.0.3SP1 and 4.0.5. We’re using JBoss Rules 4.0.0.MR2 and the Janino compiler. When deploying to WebLogic 9.2, there are no issues compiling or executing those same rules. We’ve tried setting the class loader several different ways, including using the method Edson suggests in his blog entry on using dynamically generated classes. The issue seems to be with the JBoss class loader UnifiedClassLoader3, which contains a list of blacklisted classes. If I cast the context class loader to UnifiedClassLoader3, and call ‘ clearBlackLists()’ before compiling the rules, the rules compile and execute without any issues. Otherwise, I get the error ‘Unable to resolve ObjectType 'NameOfGeneratedClass'’. My question is has anyone run across this issue before, or does anyone have a solution to this problem that doesn’t require application server specific code (casting and calling the clearBlackLists method)? Thank you, Jordan Parker ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Writing JAVA functions in [when] condition of the dsl file
from what I understand, in the when clause you can only have predicates. So, you can create a function that does that and somehow returns a boolean and then evaluate the boolean to be true using eval. -Krishnan. On 5/23/07, Rajesh.Sachin10 [EMAIL PROTECTED] wrote: We can write the Java functions in [then] condition of the dsl file. Is it possible to write JAVA functions / JAVA kind of coding in the [when] condition of dsl file? eg: [when] for(int i = 0; i 3; i++) { System.out.println(i); } [then] Log {message} -- View this message in context: http://www.nabble.com/Writing-JAVA-functions-in--when--condition-of-the-dsl-file-tf3806720.html#a10773355 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 -- Sivaramakrishna Iyer Krishnan (Anand) Never assume the obvious is true. - William Safire ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Re: [drools-user] More Fun with JBoss Rules IDE and JBoss Rules in general
Unless I never looked at the name except in the source code, I don't see the much point in having two names that can be distinguished (due to hashcode inclusion) but have been semantically disconnected from the source code rules. If an error occurs in one of those rules, how will you know which one the message refers to? How will you make sense out of the log? It makes more sense to me to replace non-alphanumeric characters with alphanumerics as Ron's team member proposed. Ronald R. DiFrango's message received 5/24/2007 1:46 PM: Yeah, I like that idea as well! On 5/24/07, *Edson Tirelli* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Geoffrey, that is actually a nice Idea... :) Will look at implementing it. Thanks, Edson 2007/5/24, Geoffrey Wiseman [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]: Just a thought -- you could always do something like include the string's hashcode in the rulename, to ensure that two names that are similar with special-character differences won't conflict with each other. ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Migration from 3.0.5 to 4.0.0
You probably need to start eclipse with a '-clean' option or something like that... Regarding the migration, there are some changes that are not backward compatible, but it should not be too difficult to do it. The main one is that 3.0.x automatically wraps any primitive value into the corresponding wrapper class (example: int into Integer). As 4.0 now supports primitive types, you must remove the unwrapping calls (.intValue(), .doubleValue(), etc). Also, to create a working memory, use newStatefulSession() method instead of the newWorkingMemory() method. Anyone willing to help writing a migration how to (even partial) would be most welcome and I'm sure a lot of people would benefit. It is possible to do it in the WIKI so we have a collaborative effort. []s Edson 2007/5/24, Krishnan [EMAIL PROTECTED]: I tried the same thing but could not migrate cleanly. I dropped the plugin in the plugin directory and restarted eclipse. I see two Rule icons in my eclipse workspace. I closed it and deleted the 3.0.5plugin from the plugin directory but it still would not go away. Not sure how to get rid of it. -Krishnan. On 5/24/07, Ronald R. DiFrango [EMAIL PROTECTED] wrote: Any catches in migrating from 3.0.5 to 4.0.0? Anything special if you have a JBoss Rules Eclipse project when upgrading? ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -- Sivaramakrishna Iyer Krishnan (Anand) Never assume the obvious is true. - William Safire ___ 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Cannot retrieve an existing WorkingMemory from RuleBase
Seems like a hashcode() problem... can you get a self contained test case and open a JIRA for it? []s Edson 2007/5/24, Jones, Alan R [EMAIL PROTECTED]: Hi, I have a method in my code that creates a RuleBase, then adds a new WorkingMemory. I then put that that RuleBase into a Hashtable for later use. Another method receives a Fact along with a reference for an associated rulebase. One these are received, I get the rulebase from the hashtable, then use Set iterator to retrieve the working memory i originally created. At this point I would assert the fact into the retrieved WorkingMemory. However, i get a null pointer, that is, there is no WorkingMemory inside (returned by the Iterator) the RuleBase any longer. Any ideas what is going on? What is even more strange, when I step through the code in debug mode (MyEclipse), it works fine. Just doesn't work at normal runtime. Thanks, Alan J ___ 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Writing JAVA functions in [when] condition of the dsl file
Rules are supposed to be declarative in nature. You should never need to add control statements, neither to the LHS (when), nor to the RHS (then), although, the RHS being a java code block allows you to do it... but it is usually code smell... Think about what you are doing and check if you are not trying to use drools as a scripting language... Following may help: http://markproctor.blogspot.com/2007/03/writing-better-rules.html []s Edson 2007/5/23, Rajesh.Sachin10 [EMAIL PROTECTED]: We can write the Java functions in [then] condition of the dsl file. Is it possible to write JAVA functions / JAVA kind of coding in the [when] condition of dsl file? eg: [when] for(int i = 0; i 3; i++) { System.out.println(i); } [then] Log {message} -- View this message in context: http://www.nabble.com/Writing-JAVA-functions-in--when--condition-of-the-dsl-file-tf3806720.html#a10773355 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 -- 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
RE: [rules-users] Cannot retrieve an existing WorkingMemory fromRuleBase
Okay. In the meantime a simple workaround (for those that may find it useful) is to put the newly added WorkingMemory into a separate hashtable of WorkingMemories (sp?). WHen Facts come in, I just retrieve the appropriate workingMemory per the incoming identifier, assert the Fact and fire all rules. Have to hold two Hashtables, but as a short term fix it seems to work ok. Thanks, Alan J From: Edson Tirelli [mailto:[EMAIL PROTECTED] Sent: Thursday, May 24, 2007 1:56 PM To: Rules Users List Subject: Re: [rules-users] Cannot retrieve an existing WorkingMemory fromRuleBase Seems like a hashcode() problem... can you get a self contained test case and open a JIRA for it? []s Edson 2007/5/24, Jones, Alan R [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] : Hi, I have a method in my code that creates a RuleBase, then adds a new WorkingMemory. I then put that that RuleBase into a Hashtable for later use. Another method receives a Fact along with a reference for an associated rulebase. One these are received, I get the rulebase from the hashtable, then use Set iterator to retrieve the working memory i originally created. At this point I would assert the fact into the retrieved WorkingMemory. However, i get a null pointer, that is, there is no WorkingMemory inside (returned by the Iterator) the RuleBase any longer. Any ideas what is going on? What is even more strange, when I step through the code in debug mode (MyEclipse), it works fine. Just doesn't work at normal runtime. Thanks, Alan J ___ 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 ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Re: [drools-user] More Fun with JBoss Rules IDE and JBoss Rules in general
On 5/24/07, Scott Reed [EMAIL PROTECTED] wrote: Unless I never looked at the name except in the source code, I don't see the much point in having two names that can be distinguished (due to hashcode inclusion) but have been semantically disconnected from the source code rules. If an error occurs in one of those rules, how will you know which one the message refers to? How will you make sense out of the log? It makes more sense to me to replace non-alphanumeric characters with alphanumerics as Ron's team member proposed. Yeah, it's true that including a hashcode allows you to go from the real name to a unique generated one, but doesn't really help you go back the other way, unless you ALSO store the original name as a string in the rule, where you can use it to refer to the rule by name in exceptions and so forth. An alpha replacement could be difficult given the number of potential non-alpha characters. The other option, probably more work, would simply be to improve the validation and error reporting such that it was clear which two special-characters-included rules conflicted, and why they conflict. e.g. RNR Qty == RNR Adjustment Qty : 100% Tolerance has the same translated rules name as RNR Qty = RNR Adjustment Qty : 100% Tolerance; please rename one of these rules. That'd make the problem a little more clear, but I don't like it as much. Anyway -- I'm not writing the code, so I'll just let Edson et. al figure it out. :) - Geoffrey -- Geoffrey Wiseman ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] JBRMS
Yes, as discussed, you need to add import statements for the types you want the BRMS to be aware of - if you like, create a feature request jira for auto importing. I deliberately didn't do it cause I thought it would cause more confusion, but perhaps I was wrong. Also, the video on the blog: http://markproctor.blogspot.com I made shows this. Michael. On 5/24/07, Marcos Tengelmann [EMAIL PROTECTED] wrote: Hi, We are trying the new module that came on new Drools, and it is an amazing work on such time frame. Congratulations Well, during our tests, we uploaded a Jar to the tool, and one problem we have identified is that NOT all classes of the model are available as FACTS. My question here is: Is there any kind of contraints in order to BRMS to find all classes? Is there any restriction? What are the basic thing my class must have in order to appear in the GUI of the BRMS as an available fact? The other question is: How could us contribute (If any interest on this, of course) , with the module? In particular we are looking for internationalization stuff. It is very important for us, and I think might be interesting for others users. Thanks ___ 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] Rule Modeling
yes that was a deliberate decision at this stage. May reconsider if there is good reason. Its not something we want to expose directly in a GUI, at least not without some formula pallette to help people build and validate simple formula like expressions. On 5/23/07, Chris Woodrow [EMAIL PROTECTED] wrote: Hi, I have been trying to do some rule generation using RuleModel class. The thing is I did not find out how to generate an eval condition. Maybe I am not using the proper class. Thanks Chris ___ 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] Sudoku Example Errors
Errors like that are not normal, and definitely indicates a bug (ie not a compile error or anything - not something you should have to debug). So some more information is needed like versions, how you are running it, where the example came from etc (as there are a few versions floating around). On 5/25/07, Ming Fang [EMAIL PROTECTED] wrote: Hi, I'm getting many of these errors when running the Sudoku Example java.lang.NullPointerException at org.drools.reteoo.ReteTuple.get(ReteTuple.java:71) at org.drools.common.InstanceNotEqualsConstraint $InstanceNotEqualsConstraintContextEntry.updateFromTuple (InstanceNotEqualsConstraint.java:112) at org.drools.common.TripleBetaConstraints.updateFromTuple (TripleBetaConstraints.java:146) at org.drools.reteoo.NotNode.assertTuple(NotNode.java:108) at org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple (SingleTupleSinkAdapter.java:29) at org.drools.reteoo.NotNode.assertTuple(NotNode.java:121) at org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple (SingleTupleSinkAdapter.java:29) at org.drools.reteoo.NotNode.assertTuple(NotNode.java:121) at org.drools.reteoo.CompositeTupleSinkAdapter.createAndPropagateAssertTupl e(CompositeTupleSinkAdapter.java:73) at org.drools.reteoo.LeftInputAdapterNode.assertObject (LeftInputAdapterNode.java:144) at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject (CompositeObjectSinkAdapter.java:317) at org.drools.reteoo.ObjectTypeNode.assertObject( ObjectTypeNode.java: 183) at org.drools.reteoo.Rete.assertObject(Rete.java:121) at org.drools.reteoo.ReteooRuleBase.assertObject( ReteooRuleBase.java: 201) at org.drools.reteoo.ReteooWorkingMemory.doAssertObject (ReteooWorkingMemory.java:70) at org.drools.common.AbstractWorkingMemory.assertObject (AbstractWorkingMemory.java:735) at org.drools.base.DefaultKnowledgeHelper.assertObject (DefaultKnowledgeHelper.java:72) at org.drools.base.DefaultKnowledgeHelper.assertObject (DefaultKnowledgeHelper.java:66) at org.drools.examples.sudoku.Rule_Rule_1__If_a_field_has_the_value_0__it_i s_empty__remove_it_and_insert_the_PossibleValues_0.consequence (Rule_Rule_1__If_a_field_has_the_value_0__it_is_empty__remove_it_and_ins ert_the_PossibleValues_0.java:8) at org.drools.examples.sudoku.Rule_Rule_1__If_a_field_has_the_value_0__it_i s_empty__remove_it_and_insert_the_PossibleValues_0ConsequenceInvoker.eva luate (Rule_Rule_1__If_a_field_has_the_value_0__it_is_empty__remove_it_and_ins ert_the_PossibleValues_0ConsequenceInvoker.java:22) at org.drools.common.DefaultAgenda.fireActivation( DefaultAgenda.java: 497) at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java :461) at org.drools.common.AbstractWorkingMemory.fireAllRules (AbstractWorkingMemory.java:372) at org.drools.common.AbstractWorkingMemory.fireAllRules (AbstractWorkingMemory.java:353) at org.drools.examples.sudoku.SudokuExample.testWithInput (SudokuExample.java:52) at org.drools.examples.sudoku.SudokuExample.main( SudokuExample.java:94) Besides the fact that these errors are naturally bad, this points out the issue of Drools being very difficult debug when bad things happen. Can somebody give some tips of Drool debugging techniques? Thanks, --ming ___ 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: DSL OR DECISION TABLES
Hi, Could u please help me with an Real time examples .Very Urgent Regards, suma Hehl, Thomas wrote: 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 -- View this message in context: http://www.nabble.com/DSL-OR-DECISION-TABLES-tf3809558.html#a10797400 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