我正试图在Drools上创建一条规则。 我目前的代码是:
rule "Test Rule #1"
when
obj1 : MyObject ( )
map : ArrayList (size < 1) from collect ( HashMap ( values ( House ( windows = 3) ) ) ) from obj1.getHouses()
then
// Do something
end
我要做的是:检查HashMap中是否有任何有3个窗口的房屋。如果没有// Do something
。
要做到这一点,我试图访问obj1.getHouses()这是一个HashMap&lt;字符串,列表&lt;房屋及GT;取代。然后我正在检查这个HashMap值,并为有3个窗口的House过滤它。
但是这段代码有问题。我收到了这个错误:
无法分析表达式值(House(windows = 3)): java.lang.Class无法强制转换为org.mvel2.util.MethodStub]
有人可以帮忙吗? 提前谢谢。
答案 0 :(得分:0)
{{1}}
您需要解开哈希映射中值的列表。然后,您可以检查具有三个窗口的房屋的结果列表。
由于您没有提供设置演示的所有代码,因此该规则未经测试。