[rules-users] Can get "not equal" (!=) to work but not "equal" (==) in LHS
Davide Sottara
dsotty at gmail.com
Tue Feb 5 12:41:09 EST 2013
Are you setting the focus on the agenda group appropriately?
Remember that, with lock-on-active, you'll also have to TOGGLE the focus....
I tested the rules on 5.5.1-snapshot and everything seems to work,
which version are you using?
Davide
On 02/05/2013 09:50 AM, BenjaminWolfe wrote:
> Background: I’m a business user. Dev wrote the fact model and the initial
> rule set. I can’t configure the fact model, the agenda groups, or the java
> code that fires the rules. I can change the rules within the .drl file. My
> question has to do with those rules.
>
> The application is run as a web service. Each call has just one Autopolicy
> in its own stateless session. An Autopolicy has one or more Vehicles, and a
> Vehicle has one or more Package of insurance coverages. Autopolicy objects
> come in with a random float (RandomGenId) between 0 and 1. Based on that
> random float we assign the object to an experiment group (RuleFlowId).
> Based on the experiment group we then set the value of the packages. (See
> the code below.)
>
> Below, rules 0A and 0B work when I use ruleFlowId != “test” and ruleFlowId
> !=“control” respectively, but they don’t work with the much more
> straightforward approach of ruleFlowId == “control” and ruleFlowId == “test”
> (respectively). Does anybody have an idea why?
>
> Thank you!
>
> -------------------------------------------
>
> rule "control group"
> agenda-group "Rules-Recommendation"
> salience 999998
> no-loop true
> lock-on-active true
> dialect "mvel"
> when
> $autoPolicy : Autopolicy(randomGenId< 0.5)
> then
> modify($autoPolicy) {setRuleFlowId("control")}; // Default ruleFlowId is
> “1”
> logger.debug("control group set");
> end
>
> rule "test group"
> agenda-group "Rules-Recommendation"
> salience 999997
> no-loop true
> lock-on-active true
> dialect "mvel"
> when
> $autoPolicy : Autopolicy(randomGenId>= 0.5)
> then
> modify($autoPolicy) {setRuleFlowId("test")}; // Default ruleFlowId is
> “1”
> logger.debug("test group set");
> end
>
> rule "Rule 0A: Set Packages for Control Group"
> agenda-group "Rules-Recommendation"
> no-loop true
> lock-on-active true
> dialect "mvel"
> when
> $autoPolicy : Autopolicy(ruleFlowId != "test")
> $vehicles : Vehicles()
> $packages : Packages()
> $vehicle : Vehicle() from $vehicles.Vehicle
> then
> // set $packages
> logger.debug("Rule 0A fired");
> end
>
> rule "Rule 0B: Set Packages for Test Group"
> agenda-group "Rules-Recommendation"
> no-loop true
> lock-on-active true
> dialect "mvel"
> when
> $autoPolicy : Autopolicy(ruleFlowId != "control")
> $vehicles : Vehicles()
> $packages : Packages()
> $vehicle : Vehicle() from $vehicles.Vehicle
> then
> // set $packages
> logger.debug("Rule 0B fired");
> end
>
>
>
> --
> View this message in context: http://drools.46999.n3.nabble.com/Can-get-not-equal-to-work-but-not-equal-in-LHS-tp4022074.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
More information about the rules-users
mailing list