[rules-users] I want only first rule to be executed even more than one rule are fulfilling the LHS
Lindy hagan
lindyhagan at gmail.com
Tue Apr 21 14:15:06 EDT 2009
nope, I am not looking for that.
This is my requirement: If I have 10 rules say from rule 1 to rule 10. If
rule 3 is satisfied, should not check for rule 4 to rule 10.
We cannot achieve the above scenario using "activation-groups".
2009/4/21 Edson Tirelli <tirelli at post.com>
>
> 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 at 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 at 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 at 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-than-one-rule-are-fulfilling-the-LHS-tp23080560p23080560.html
>>>> Sent from the drools - user mailing list archive at Nabble.com.
>>>>
>>>> _______________________________________________
>>>> rules-users mailing list
>>>> rules-users at 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 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
>>
>>
>
>
> --
> Edson Tirelli
> JBoss Drools Core Development
> JBoss, a division of Red Hat @ www.jboss.com
>
> _______________________________________________
> 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/20090421/9ccdf40e/attachment.html
More information about the rules-users
mailing list