I am using Jboss Rules 4.0.2 version.

I am trying to using or with binding. However the
following doesn't work
rule "RulesTest"
    # the if part
    activation-group  "ActivationGroup1"
    salience 50
    when
        $eventType: EventType(id ==
Constants.EVENT_DEVCOM_ID) 
        $result : Result()
        $param  : Parameter($thresh:threshold)
                          # difference exceeds threshold value and
it is still day time
        context: (or DevContext(difference > $thresh,
dayTime == true) 
                             DevContext(difference > $thresh, sleepy
== false, dayTime == false) ) 
                          
    then
        # do something here
        
end

I get rule compilation errors:
SEVERE: CheckedDroolsException
org.drools.CheckedDroolsException: There were errors
in the rule source: [320,18]: unknown:320:18
mismatched token:
[EMAIL PROTECTED],12142:12143='or',<34>,320:18]; expecting type
ID[321,15]: unknown:321:15 mismatched token:
[EMAIL PROTECTED],12215:12227='DevContext',<7>,321:15]; expecting
type RIGHT_PAREN[321,86]: unknown:321:86 mismatched
token: [EMAIL PROTECTED],12286:12286=')',<12>,321:86]; expecting
type THEN
        at
org.drools.compiler.RuleBaseLoader.makeRuleBase(RuleBaseLoader.java:6

Is this a known bug ?

I can work around by using the alternate syntax
suggested in the documentation which is:

or $context : DevContext(difference > $thresh, dayTime
== true) 
   $context : DevComContext(difference > $thresh,
sleepy == false, dayTime == false) ) 

Rahul.


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to