For the operations "a contains b" and "b memberOf a", operand a must
be a Collection or array; your MyObjectList is neither.
5.3.0 had less strict compile time checks; 5.4.0 fixed this.
I am surprised that this ever executed correctly. Did it really, with
the rule and classes exactly as shown?
-W
On 16/08/2012, abr <alexis.brouard(a)haulogy.net> wrote:
Hi everyone,
I've tried to go from Drools 5.3.0.Final to 5.4.0.Final and some strange
errors appeared on constraints using the after evaluator and the ||
operator.
For instance, considering these 2 objects :
public class MyObject {
private Date myDate;
public MyObject(Date myDate) {
super();
this.myDate = myDate;
}
public Date getMyDate() {
return myDate;
}
public void setMyDate(Date myDate) {
this.myDate = myDate;
}
}
public class MyObjectList {
private List<MyObject> myObjectList;
public MyObjectList() {
super();
this.myObjectList = new ArrayList<MyObject>();
}
public List<MyObject> getMyObjectList() {
return myObjectList;
}
public void setMyObjectList(List<MyObject> myObjectList) {
this.myObjectList = myObjectList;
}
public void addObject(MyObject myObject) {
this.myObjectList.add(myObject);
}
}
This rule:
rule "Sample rule"
when
CurrentDate( $now: now )
$list: MyObjectList()
$obj: MyObject(
this memberOf $list,
( myDate == null ||
myDate after[ 5d ] $now ) )
then
System.out.println( "Sample rule activated" );
end
Provokes the following error:
Unable to Analyse Expression $list contains this && ( myDate == null ||
after0.evaluate( myDate, $now ) ):
[Error: unable to resolve method using strict-mode:
com.sample.MyObject.after0()]
[Near : {... ( myDate == null || after0.evaluate( myDate, $now ....}]
^ : [Rule name='Sample rule']
This worked very well in Drools 5.3.0.Final.
The strangest thing about this issue is that, if I change the || into a &&,
compilation works correctly!
Is there some configuration specific to Drools 5.4.0.Final that I've missed
in the release notes?
Thanks in advance for your help.
Best,
Alexis
--
View this message in context:
http://drools.46999.n3.nabble.com/Trouble-using-operator-and-after-evalua...
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