Have you thought about using ruleflow to control the execution of the
rules? I'm guessing you could easilycontrol the decision tree type
behaviour you're describing.
Nick
Lindy hagan wrote:
I have around 8 to 9 conditions. Around 12 rules in each drl
file(files &rules will grow). This will make rule file complicated.
On Mon, Nov 23, 2009 at 1:19 PM, Wolfgang Laun
<wolfgang.laun(a)gmail.com <mailto:wolfgang.laun@gmail.com>> wrote:
Best to specify all conditions in full, with all relevant properties,
i.e., add sale != "Junion"/"Senior" in rules 2 and 4.
-W
On 11/23/09, Lindy hagan <lindyhagan(a)gmail.com
<mailto:lindyhagan@gmail.com>> wrote:
> I have 4 drl files in my app. Loading all the 4 files during
application
> startup.
> If any rule is satisfied in File 1,I don't want File 2 be
called.Should
> execute File 3 and 4.
> If rules in File 1 is not satisfied,want to call File 2 then
File 3 and 4.
>
> At present I am doing this way.Please let me know if this is ok
or if there
> is any better solution.
>
> Set an attribute when a rule is satisfied. (attribute is not
dummy,I need it
> in my app)
> Attribute is checked in each and every if it is null.
>
>
> Example File1.drl contains 2 rules.If first rule is satisfied,
don't want to
> execute second rule.So setting rule with a valid number.
>
>
> File1.drl
>
> rule "1.Age Factor and Junior"
> when
> d : CustomerDetail( rule == "" && sale ==
'Junior' &&
age in
> ("16","17"))
> then
> System.out.println("Junior and Age Satisfied ");
> d.setRule("1");
> end
>
> rule "2.Junior only Age Factor"
> when
> m : CustomerDetail( rule == "" && age in
("16","17"))
> then
> System.out.println("Only junior Age satisfied.");
> m.setRule("2");
> end
>
>
>
> File2.drl
>
> rule "3.Age Factor and Senior"
> when
> d : CustomerDetail( rule == "" && sale ==
'Senior' &&
age in
> ("70","75"))
> then
> System.out.println("Senior and Age Satisfied ");
> d.setRule("10");
> end
>
> rule "4.Senior only Age Factor "
> when
> m : CustomerDetail( rule == "" && age in
("70","75"))
> then
> System.out.println("Only senior Age satisfied.");
> m.setRule("11");
> end
>
> This one works but is it possible , If the rule 1 is satisfied,
rule2 is
> still executed.Is there any way we can stop rule2 from beinge
executed?
> Similary stop File2.drl being executed. Any suggestions?
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users
------------------------------------------------------------------------
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users