I think it would be like this:

rule "Test" when $ca: CoApplicant()
               $co: Contract()
               eval ( $c1.getRelationship().equals("S") ||
                        $co.getState().equals("CO") ||
                        $co.getState().equals("IL") ))
       then
       ...
I am no expert but you also might be able to achieve what you want a little more efficiently with a global that ensures the consequence only executes once:

global boolean flag = true;
rule "Test" when (CoApplicant( relationship == "S" ) or (Contract ( state in ("CO", "IL"))))
               eval( flag )
       then
              flag = false;
       ...

[email protected] [1/16/2009 11:35 AM] wrote:

I understand that as this rule is written below it will be compiled into 2 subrules which both fire. I searched the archives and found a post where Mark Proctor suggested "Bind each pattern, and do the || field constraints in an eval.". I'm new to Drools, can someone elaborate on how I would do that with the rule below?

rule "Test" when (CoApplicant( relationship == "S" ) or (Contract ( state in ("CO", "IL"))))
        then
        ...

Thanks

Kent ------------------------------------------------------------------------

_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to