[rules-users] Help -- Conditional Logic in DRL
new2drools
rkbeach at gmail.com
Tue Jun 16 10:22:18 EDT 2009
Greg,
Thanks much for your suggestion...I think this will help!!
Should have thought of this approach, before posting...
Thanks again!
Greg Barton wrote:
>
>
> Note to drools devs: I didn't put the original poster up to this. :)
>
> Globals should be considered immutable, so shouldn't be used in this way.
> You could do it with an object asserted in working memory, though.
>
> Just as good, though, you can use this kind of pattern to replicate else
> logic:
>
> rule "EverythingMatches"
> when
> Condition0
> Condition1
> Condition2
> then
> ...
> end
>
> rule "ElseAtCondition2"
> when
> Condition0
> Condition1
> !Condition2
> then
> ...
> end
>
> rule "ElseAtCondition1"
> when
> Condition0
> !Condition1
> then
> ...
> end
>
> rule "ElseAtCondition0"
> when
> !Condition0
> then
> ...
> end
>
> --- On Mon, 6/15/09, Scott Reed <sreed at avacoda.com> wrote:
>
>> From: Scott Reed <sreed at avacoda.com>
>> Subject: Re: [rules-users] Help -- Conditional Logic in DRL
>> To: "Rules Users List" <rules-users at lists.jboss.org>
>> Date: Monday, June 15, 2009, 10:19 PM
>> Looks like 5 rules with a global flag
>> might work:
>>
>> global boolean flag = false;
>>
>> rule "name1"
>> when
>> (condition1 == true )
>> (flag == false)
>> then
>> consequence1();
>> flag = true;
>> end
>>
>> ...
>>
>> rule "name5"
>> when
>> (condition5 == true )
>> (flag == false)
>> then
>> consequence5();
>> flag = true;
>> end
>>
>> Does that work for you?
>>
>> Vishy [6/15/2009 11:06 PM] wrote:
>> > Hi All,
>> >
>> > I am new to drools...and am trying to figure out as to
>> how I can
>> > represent the following logic in a DRL file.
>> >
>> > if (condition1) {
>> >
>> > if (condition2) {
>> >
>> > } else if (condition3) {
>> >
>> > } else if (condition 4) {
>> >
>> > } else if (condition 5) {
>> >
>> > }
>> >
>> > }
>> >
>> > In DSL, a typical rule is represented as follows:
>> >
>> > rule "name"
>> >
>> > when
>> > condition is true
>> > then
>> > consequence
>> >
>> > end
>> >
>> > How can I represent the above mentioned if - else
>> logic in DSL? Or is
>> > it not possible?
>> >
>> > If it is not, can you please suggest any alternative?
>> >
>> > Thanks much!!
>> > _______________________________________________
>> > rules-users mailing list
>> > rules-users at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
--
View this message in context: http://www.nabble.com/Help----Conditional-Logic-in-DRL-tp24046912p24055432.html
Sent from the drools - user mailing list archive at Nabble.com.
More information about the rules-users
mailing list