[rules-users] Multiple rule violation

Wolfgang Laun wolfgang.laun at gmail.com
Wed Nov 27 03:05:41 EST 2013


That's all very vague (and please check "violated" in your
dictionary), but see below:

On 27/11/2013, Chaturvedi Dewashish <dewashish at nirvana-sol.com> wrote:
>
> I insert two facts
>
> - obj1 (on which rules needs to be validated, used in when part),
>
> - obj2 (to retrieve output, used in then part)
>
>
>
> Let's say there are two rules Rule1 and Rule2 for this fact type and both
> of
> them get violated. In this case I am getting only one instance of updated
> obj2.

I can't say much without seeing the rule. Clearly, if there is only
one obj2 and if it is updated in both "then" parts, it may not reflect
the actual state of affairs.

>
> I need two instances of obj2 as both rules are violated. So, that I can
> perform operation on based on those.

As the purpose of obj2 is not clear, I  refrain from suggesting
anything. If obj2 should contain data depending on the rule, you'll
need one for each rule. If, however, it should reflect the changes
made on obj1, you need one obj2 for each obj1, and it should, somehow,
be related to it.

>
>
> I have also seen on internet that DROOLS skips checking for other rules if
> any one gets violated.

Unless you interfere, it does not stop working if there are still
unfired rules with true (matching) left hand sides.

> So, requirement is as
>
> 1. DROOLS should check for all rules (What is performance cost for this.
> Does fire all rules work this way?)

Q1: It depends. Q2: Yes, as the documentation says...

>
> 2. All instances of obj2 to perform actions accordingly (What is best way
> to
> do this. Should I insert an array of this type? If so please, say how to
> achieve this?)

Absolutely unclear.

>
> Nirvana Solutions

Love that name ;-)

-W


More information about the rules-users mailing list