流口水约会强迫和条件或 [英] Drools date coercion and conditional OR
本文介绍了流口水约会强迫和条件或的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我尝试在日期类型上使用条件的简单Drools规则并使用条件OR( ||
),则会出现以下错误。如果我将 ||
更改为& ,则效果很好。这是错误,已知限制还是我的规则有问题?
我正在使用Drools 5.5.0 Final
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
规则文件
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类
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;
}
}
错误
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']
推荐答案
显然,这是一个Drools错误,现已修复。错误报告位于此处
Apparently this is a Drools bug which is now fixed. Bug report is here
这篇关于流口水约会强迫和条件或的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文