Lindy,
"my understanding is that if you have 10 rules under same activation group
always the one with high salience will fire ignoring other rules. (correct
me if i am wrong.)"
The rule with the highest salience ***that matches (i.e., in your words:
is satisfied)*** will be fired and the others will be canceled, so I guess
that is exactly what you are looking for.
If I misunderstood your case, please explain it further.
[]s
Edson
2009/4/21 Lindy hagan <lindyhagan(a)gmail.com>
I don't know much about drools, am still evaluating drools, we
have a
similar scenario that as soon as a rule is satisfied, should not check for
other rules.
looking at the manual for activation-group , my understanding is that if
you have 10 rules under same activation group always the one with high
salience will fire ignoring other rules. (correct me if i am wrong.)
Probably we need to set some flag to check whether the previous rule is
processed or not.
2009/4/20 Edson Tirelli <tirelli(a)post.com>
>
> Take a look at the manual on "activation-group"s. They allow you to do
> that.
>
> Also, you can call fireAllRules(1) to fire only one rule, in case your
> whole rulebase is like that.
>
> []s
> Edson
>
> 2009/4/19 Manish1985 <pramanish(a)gmail.com>
>
>
>> Hi All,
>>
>> Assume that following is the case,
>>
>> rule "Rule1"
>>
>> when
>> t:Test(status==10)
>> Test(testValue > 90)
>>
>> then
>> t.percent=5;
>> modify(t);
>>
>> end
>>
>>
>> rule "Rule2"
>>
>> when
>> t:Test(status==10)
>> Test(testValue> 80)
>>
>> then
>> t.percent=10;
>> modify(t);
>>
>> end
>> rule "Rule3"
>> when
>> t:Test(status==10)
>> Test(testValue > 50)
>> then
>> t.percent=15;
>> modify(t);
>> end
>>
>> Here, based on each condition i will assign percentage value.
>> Assume that testValue is 100 and status is 10 so it will be evaluated
>> true
>> for each rule
>> but i dont want that. i want Rule1 to be evaluated and then it should
>> stop
>> executing other rules other wise percetage value will be different from
>> what
>> i want.
>> (15 instead of 5).
>>
>> I can do this by adding one more condition in every rule like
>> Test(percent==0)
>>
>> and initially i will intialize Test.percent by zero so only first Rule
>> will
>> be evaluated/executed.
>>
>> But is there any other way apart from these?
>>
>> One more thing is that in decision table i want to add OR between two
>> conditions.
>> How can i do that? please give me example for doing that.
>>
>> Thanks a lot in advance.
>>
>> Regards,
>> Manish
>>
>> --
>> View this message in context:
>>
http://www.nabble.com/I-want-only-first-rule-to-be-executed-even-more-tha...
>> Sent from the drools - user mailing list archive at
Nabble.com.
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)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(a)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
--
Edson Tirelli
JBoss Drools Core Development
JBoss, a division of Red Hat @