[rules-users] Inheritance-Like Design Question

Pavel Tavoda pavel.tavoda at gmail.com
Tue Mar 9 12:25:58 EST 2010


Aha, misunderstanding. Yes you can't use activation group if you want
execute more children rules. However you can use fact (Status) to
avoid evaluating parent rule. My suggestion:

Rule DEFAULT
salience -100
if A and ! Status(done) then DEFAULT end

Rule A
if A and B then SOMETHINGB; update(Status(done)) end

Rule B
if A or B then SOMETHINGB; update(Status(done)) end

Rule C
if A or C then SOMETHINGC; update(Status(done)) end

At beginning insert Status with e.g. "ready". It's possible to use
instead of update also insert but because you can fire more children
rules it will be waste of memory.

Hope this help

Pavel



More information about the rules-users mailing list