Inside eval() you must use code in the chosen semantic dialect (either
Java or MVEL). None of them have "not in" operator that is a DRL syntax
sugar.
So, you need to either properly write Java or MVEL code inside the eval,
or use a regular DRL constraint.
In this specific case, if you are asserting the Map into the working
memory, you can do something like:
rule XXX
when
Map( this['name'] not in ("amit","siddhartha") )
then
// do something
end
[]s
Edson
2007/9/11, Gaurav2007 <gaurav.a.joshi(a)capgemini.com>:
Hi All,
I am using drool4.0.1 in my application,
I have one map in global memory this map contains mapping of id and
value,i
want to validate these values.
but when i am using in and not in rule like:
eval(validatorMap.get("name") not
in("amit","siddhartha"))
where validatorMap is a map of id and value inserted in global memory.
it is giving following error:
org.drools.rule.InvalidRulePackage: Rule Compilation error : [Rule
name=Short Name, agendaGroup=MAIN, salience=0, no-loop=false]
com/telekurs/nva/mde/fe/ak/validation/Rule_Short_Name_0.java
(8:330) : The
left-hand side of an assignment must be a variable
com/telekurs/nva/mde/fe/ak/validation/Rule_Short_Name_0.java
(8:357) :
Syntax error on token "not", invalid AssignmentOperator
please help me how to validate value from a map using in and not in
operator
of drool.
Thanks.
--
View this message in context:
http://www.nabble.com/probliem-in-using--%22in%22-and-%22not-in%22-operat...
Sent from the drools - user mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @
www.jboss.com