This is due to a designed or accidental glitch in the LHS syntax.
An "and" CE may not contain an "or" CE as one of its operands; it
may only contain a parenthesized "or" (but all other CEs without
the additional decoration). This means that you must write
(or (and MyFact(id==1)
MyFact(id==2))
( # !
(or MyFact(id==3) MyFact(id==4))
) # !
)
The simplified version from Piotr's post is, of course, preferred.
Sadly, there is more than one discrepancy between the DRL syntax as presented in
the non-normative syntax diagrams shown in the Drools Expert manual and the
actual syntax as implemented in the DRL.g file.
-W
2010/5/24 Giovanni Motta <mottagio@gmail.com>
Hello, i had similar problems with or constructs, and decided to avoid them.Drools expert manual says that or constructs are internally rewritten, i suppose this mechanism is not fine-tuned.My 2 cents...
2010/5/24 Piotr Jedrychowski <pjedrychowski@proximetry.pl>
Hello.
I have a problem with such a condition after 'when':
(or (and MyFact(id==1) MyFact(id==2)) (or MyFact(id==3) MyFact(id==4)))
For this condition I got this error:
errors; [7,41]: [ERR 101] Line 7:41 no viable alternative at input 'or'
in rule "Sensor-1-ON"[7,64]: [ERR 102] Line 7:64 mismatched input
'MyFact' expecting ')' in rule "Sensor-1-ON"[7,84]: [ERR 102] Line 7:84
mismatched input ')' expecting 'then' in rule "Sensor-1-ON"
When I changed my condition to this:
(or (and MyFact(id==1) MyFact(id==2)) MyFact(id==3) MyFact(id==4))
everything is correct. Both conditions from logic point of view, are the
same, but the first one can't be compiled. Why?
Maybe someone had similar problem and could help me?
I'm using:
* JBoss 4.2.3.GA
* Drools 5.0
Regards,
Piotr
_______________________________________________
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
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users