Here is the actual reason why I wanted to know the difference between those 2.
rule "Remove smaller or non-overriden"
dialect "java"
when
L : Response( $r : value && status != "override" )
(Response( value > $r ) or Response( status == "override"))
then
retract( L );
end
The above rule performs what I intended. It retains the Response with the largest value or it the one that has an override status (if one exists)
But I am getting a different behaviour for this one
rule "Remove smaller or non-overriden"
dialect "java"
when
L : Response( $r : value && status != "override" )
Response( value > $r || status == "override" )
then
retract( L );
end
This rule seems to retain both the objects, the overriden and the largest value
Could you explain to me how they are diffrent.
Thanks
Jai
One is a field constraint disjointed connected the other is a Conditional Element 'or'. Details of both are covered in the manual. Suffice to say the first is like writting if ( stmt1.attrib1 == "X" || smt1.attrib1 == "Y" ) whil the ohte results in two separate rules, one checking "X" and the other checking "Y", both rules can match and fire.
Mark
Jai Vasanth wrote:Hi,
What is the difference between the following 2 statements
stmt1 : FactA( attrib1 == "X" || attrib1 =="Y")
stmt2: FactA( attrib1 =="X") or FactA(attrib1 =="Y")
Thanks
Jai
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users