[rules-users] Problem with Collection

mohanm mohanm.eee at gmail.com
Fri Apr 11 23:56:15 EDT 2014


Hi,

I am using Drools 5.5.0 Final Expert to do Alarm Co-relation. I was trying
to collect the facts in to the ArrayList collection. My drl file will look
like below. From the Rule I calling an Java method to access the collected
facts.

/rule "Rule [Alarm Collection]"
no-loop
   when
	$alarmColl : ArrayList() from collect(Alarm 
		 ( 
		 	JustInserted == true;
		 ))
		 
	then
	// act on $alarmColl
end/

while in my Java code I am loop through the collection to set an attribute
of the Alarm Object. But while I am trying to set this attribute in the
collection, the collection is getting updated and indexes are changed. Due
to which all the objects are not updated. Even I tried using the iterator to
access the ArrayList collection. Still the same issue.

/
while(index < alarmColl.size()){
			Alarm alarmObj=alarmColl.get(index)
	
			if(alarmObj.isJustInserted()) {
				alarmObj.setJustInserted(false);
				theScenario.getSession().update(alarmObj);
			}
			index++;
}/
			
			
How can I update the objects in collection without changing the index or any
other way to achieve this.




--
View this message in context: http://drools.46999.n3.nabble.com/Problem-with-Collection-tp4029219.html
Sent from the Drools: User forum mailing list archive at Nabble.com.


More information about the rules-users mailing list