Thank’s for your sugession of using “not
in” instead of “not” but my problem is that “not”
can also come without “in”.
Actually I am making a generator of rule
file from expression like
((NOT (ENDS WITH
(G10.2, ",")))
((NOT
(G13.1 IN ("1","2","3"))) OR (G250.8 = Y)))
Where G13.2, G250.8, G10.2 are variables coming
from a map inserted in working memory.
I am accessing these variables from map.
My rules are as follows
This rule is working fine.
rule "Editable_G10.3"
when
((Map(
this["G10.3"] !=8))||(Map( this["G10.2"] ==19)))
then
System.out.println("comming
here----------------------------------------------------->");
End
This is
not working
rule "Mandatory_G10.3"
when
(not((Map(
this["G10.3"] !=8))||(Map( this["G10.2"] ==19))))
Then
System.out.println("comming
here----------------------------------------------------->");
End
In also tried following approaches:
1) eval(not((Map( this["G10.3"]
!=8))||(Map( this["G10.2"] ==19))))
2) eval(!((Map( this["G10.3"] !=8))||(Map(
this["G10.2"] ==19))))
But in both cases it is giving same error:
org.drools.rule.InvalidRulePackage: Rule Compilation error : [Rule
name=ValidationRuleExp_G10.3, agendaGroup=MAIN, salience=0, no-loop=false]
com/telekurs/nva/mde/fe/ak/validation/Rule_ValidationRuleExp_G10_3_0.java
(11:495) : Cannot use this in a static context
com/telekurs/nva/mde/fe/ak/validation/Rule_ValidationRuleExp_G10_3_0.java
(11:500) : Type mismatch: cannot convert from String to int
I am trying to find out some general
concept so that I can change just achieve the functionality of not.
Thanks
Gaurav
From:
rules-users-bounces@lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] On
Behalf Of Edson Tirelli
Sent: Wednesday, September 12,
2007 10:20 PM
To: Rules Users List
Subject: Re: [rules-users] How to
use not operator in drool.
Remove your "eval" and use "or" instead of
"||" for the OR CE.
Although, I feel that this is not what you want... what you want
is simply:
when
Map( this['city'] not in ( "mumbai", "
then
//...
end
[]s
Edson
2007/9/12, Gaurav2007 <gaurav.a.joshi@capgemini.com>:
Hi ALL,
I am using drool4.0.1 in my application i am able to use IN,OR,AND operator
but i am facing problem in using not operator.
my requirement of not operator is just like a not gate.
the way i am using it is :
eval(not((Map( this["city"] !="mumbai"))||(Map(
this["city"] =="
so can you please help me out to solve this problem:
should i use not operator or some thing else in drool.
Thanks,
--
View this message in context: http://www.nabble.com/How-to-use-not-operator-in-drool.-tf4430240.html#a12638430
Sent from the drools - user mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3529-6000
JBoss, a division of Red Hat @ www.jboss.com