If I try a simple Drools rule with conditions on date type and uses conditional OR (||
) I get the following error. If I change ||
to &&
it works fine. Is this a bug, known limitation or something wrong with my rule?
I am using Drools 5.5.0 Final
Rule file
package net.madhura.drools.rules
import net.madhura.drools.DateContainer;
dialect "mvel"
rule "Test rule"
when
$container: DateContainer(
date >= "15-Oct-2013" || date <= "01-Oct-2013"
)
then
System.out.println("working");
end
DateContainer class
package net.madhura.drools;
import java.util.Date;
public class DateContainer {
private Date date;
public DateContainer(Date date) {
this.date = date;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}
Errors
Unable to Analyse Expression date >= "15-Oct-2013" || date <= "01-Oct-2013":
[Error: Comparison operation requires compatible types. Found class java.util.Date and class java.lang.String]
[Near : {... date >= "15-Oct-2013" || date <= "01-Oct-2013" ....}]
^
[Line: 9, Column: 1] : [Rule name='Test rule']