Drools 比较两个列表后如何制作列表
我正在尝试使用以下代码收集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() )
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。。。
结束
(我还没有测试过这个。)