Drools 流口水日期强制和条件或

Drools 流口水日期强制和条件或,drools,Drools,如果我尝试一个简单的Drools规则,使用日期类型上的条件,并使用条件OR(|),我会得到以下错误。如果我将|更改为&&,效果很好。这是一个错误,已知的限制还是我的规则有问题? 我正在使用Drools 5.5.0 Final 规则文件 package net.madhura.drools.rules import net.madhura.drools.DateContainer; dialect "mvel" rule "Test rule" when $container: Da

如果我尝试一个简单的Drools规则,使用日期类型上的条件,并使用条件OR(
|
),我会得到以下错误。如果我将
|
更改为
&&
,效果很好。这是一个错误,已知的限制还是我的规则有问题? 我正在使用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
错误

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']

无法分析表达式日期>=“2013年10月15日”| | date=“2013年10月15日”| | date显然这是一个Drools错误,现已修复。Bug报告是

显然这是一个Drools Bug,现已修复。错误报告是

错误说明您无法比较日期和字符串,与OR运算符无关。在比较两个日期实例时,您是否尝试过OR?@JAndy根据Drools dates()文档,日期可以这样比较。此外,如果我将| |改为&,它会正常工作。是的,你是对的。根据文档,它应该可以工作。Drools问题跟踪器中的类似问题:(应该在5.5.0中修复,您已经在使用;可能是回归?)错误表示您无法比较日期和字符串,与OR运算符无关。在比较两个日期实例时,您是否尝试过OR?@JAndy根据Drools dates()文档,日期可以这样比较。此外,如果我将| |改为&,它会正常工作。是的,你是对的。根据文档,它应该可以工作。Drools问题跟踪器中的类似问题:(应该是在5.5.0中修复的,您已经在使用它了;可能是一个回归?)
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']