Drools 比较两个列表后如何制作列表

Drools 比较两个列表后如何制作列表,drools,business-rules,Drools,Business Rules,我正在尝试使用以下代码收集drools中的一些对象: rule "Evalua Anexo 10" salience 300 when jul: ArchJuliano() reg551: Registro551( fraccAne10 : getFraccion() ) from jul.getListReg551() exists ( Anexo10( getFraccion() == fraccAne10 ) from jul.getListFraccAne10() )

我正在尝试使用以下代码收集drools中的一些对象:

rule "Evalua Anexo 10" salience 300 when
  jul: ArchJuliano()
  reg551: Registro551( fraccAne10 : getFraccion() ) from jul.getListReg551() 
    exists ( Anexo10( getFraccion() == fraccAne10 ) from jul.getListFraccAne10() )
then
  // get pojo reg551   
end
当7月存在fraccAne10时,上述规则将针对每个注册表551触发一次。getListFraccAne10。但是,我只想获得Registro551的列表,而不是对象

rule "Evalua Anexo 10" salience 300 when
  jul: ArchJuliano()
  listOfReg551: List() from collect (
   Registro551( fraccAne10 : getFraccion() ) from jul.getListReg551() 
   exists ( Anexo10( getFraccion() == fraccAne10 ) from jul.getListFraccAne10() )
  )
then
  // trying to get List<Registro551>
  // fires error: mismatched input 'exists' in rule name-of-rule
end
规则“Evalua Anexo 10”显著性300
七月:大朱利安诺()
listOfReg551:collect中的列表()(
7月的Registro551(fraccAne10:getFraccion())getListReg551()
存在(从7月开始的Anexo10(getFraccion()==fraccAne10)。getListFraccAne10()
)
然后
//正在尝试获取列表
//引发错误:规则的规则名称中存在不匹配的输入“exists”
结束
事实:

public class Anexo10 {
  private String fraccion;
  // getters and setters

public class Registro551 {
  private String fraccion;
  // getters and setters

public class ArchJuliano {
  private List<Anexo10> listFraccAne10;
  private List<Registro551> listReg551;
  // getters and setters
公共类Anexo10{
私有字符串分形;
//接球手和接球手
公共类注册表551{
私有字符串分形;
//接球手和接球手
公共级大朱利亚诺酒店{
私人名单10;
私人名单listReg551;
//接球手和接球手
非常感谢。

规则“Evalua Anexo 10”
rule "Evalua Anexo 10"
when
  jul: ArchJuliano( $lAne: listFraccAne10, $lReg: listReg551 )
  accumulate( Anexo10( $fA: fraccion ) from $lAne;
              $fraccionsA: collectSet($fA) )
  accumulate( Registro551( $fR: fraccion memberOf $fraccionsA ) from $lReg;
              $fraccionsR: collectList($fR) )
then
  ...List<Registro551> $fraccionsR...
end
什么时候 七月:ArchJuliano($lAne:listFraccAne10,$lReg:listReg551) 从$lAne中累积(Anexo10($fA:fraccion); $fraccionsA:collectSet($fA)) 从$lReg累积(注册号551($fR:fraccion memberOf$fraccionsA); $fraccionsR:collectList($fR)) 然后 …列出$fraccionsR。。。 结束
(我还没有测试过这个。)