[rules-users] Collecting items in a List
devan.vanreenen at gmail.com
devan.vanreenen at gmail.com
Thu Dec 20 08:16:24 EST 2012
I'm not sure what I did earlier, but when executing the below rules, I get
the desired results. I insert 20 Alert objects and the rule collects alerts
according to a specific case number, rules and output below
Rules
rule 'Group alerts for a specific case'
dialect 'java'
when
Alert( $caseNumber : caseNumber, $alertNo: alertNo )
$list : List( ) from collect($alert : Alert( caseNumber == $caseNumber))
then
insertLogical($list);
end
rule 'Print inserted lists'
salience -10
dialect 'java'
when
$list : List( )
then
System.out.println("******Printing list******: ");
System.out.println("******List hashCode: " + $list.hashCode());
for(Object o : $list){
System.out.println(o);
}
end
Output
******Printing list******:
******List hashCode: -1902211073
Alert [caseNumber=1021567, alertNo=1]
Alert [caseNumber=1021567, alertNo=2]
Alert [caseNumber=1021567, alertNo=8]
******Printing list******:
******List hashCode: -68071555
Alert [caseNumber=1012283, alertNo=1]
Alert [caseNumber=1012283, alertNo=2]
Alert [caseNumber=1012283, alertNo=6]
Alert [caseNumber=1012283, alertNo=2]
Alert [caseNumber=1012283, alertNo=8]
Alert [caseNumber=1012283, alertNo=2]
******Printing list******:
******List hashCode: -485211774
Alert [caseNumber=1022621, alertNo=6]
Alert [caseNumber=1022621, alertNo=6]
Alert [caseNumber=1022621, alertNo=6]
Alert [caseNumber=1022621, alertNo=2]
Alert [caseNumber=1022621, alertNo=1]
Alert [caseNumber=1022621, alertNo=2]
Alert [caseNumber=1022621, alertNo=2]
Alert [caseNumber=1022621, alertNo=8]
******Printing list******:
******List hashCode: 1815474720
Alert [caseNumber=55506677, alertNo=1]
Alert [caseNumber=55506677, alertNo=2]
Alert [caseNumber=55506677, alertNo=6]
--
View this message in context: http://drools.46999.n3.nabble.com/Collecting-items-in-a-List-tp4021256p4021267.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
More information about the rules-users
mailing list