As soon as you use eval(), you are in Java-land where String
comparisons should not be made using "==".
There's nothing wrong with the second form, i.e., you can write (using
Drools 5.3.0)
MyClass (getClassName() == "Class1")
although the simpler form is usually preferred:
MyClass( className == "Class1" )
-W
On 27/02/2012, aliosha79 <alex_orl1079(a)yahoo.it> wrote:
Hi,
i have some troubles to undestand how drools processes FACTS. I have a POJO
class resulted from an UnMarshal jaxb processing like this:
public MyClass {
protected String className = "Class1";
public getClassName(){
return className;
}
public setClassName(String className){
this.className = className
}
}
Now i have to compose a drl file with a rule like this:
when
$Class : MyClass()
eval ($Class.getClassName() == "Class1")
then
System.out.println("ok!!!");
end
This syntax doesn't rise errors BUT doesn't match the real name... no ok
message are printed.
when
$Class : MyClass (getClassName() == "Class1")
then
System.out.println("ok!!!");
end
This syntax raises me a null pointer exception!!!
What's the right syntax?
Can i use the accessor methods building drools facts?
Thanks a lot!
--
View this message in context:
http://drools.46999.n3.nabble.com/Drools-facts-using-POJO-accessor-method...
Sent from the Drools: User forum mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users