[rules-users] (no subject)

Lindy hagan lindyhagan at gmail.com
Mon Nov 23 13:26:19 EST 2009


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 at 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 at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20091123/3053fb60/attachment.html 


More information about the rules-users mailing list