Drools收集模式问题

时间:2009-04-29 11:01:41

标签: java drools

我有像这样的规则LHS

when 
    $location : Location() 
    $cabinets : ArrayList() from collect ( Cabinet() from $location.elements() )
then

当我在RHS中打印@cabinets的内容时,我发现它包含所有元素(也就是那些不属于类的内容)。

我想从$ location> elements()收集ontly cabinet。

我做错了什么?

2 个答案:

答案 0 :(得分:-1)

我想你会说点什么

Cabinet(class == Cabinet.class)

我不认为Drools正在对内阁类进行明确的类型检查,因为你已经将它们付诸实施。

答案 1 :(得分:-1)

你的问题是关于'来自'模式,而不是'收集'模式。

以下规则应该有助于测试:

when 
  $location : Location() 
  $cabinet : Cabinet() from $location.elements()
then

这个规则应该针对每个内阁开火。

您可以尝试在rule-users user list

上发布您的问题