[rules-dev] IRC: interesting topic: use of lists using "from" in LHS and iterated over in RHS

Anstis, Michael (M.) manstis1 at ford.com
Fri Aug 6 11:04:57 EDT 2010


HI,

There was an interesting discussion today on IRC; a user "jochen"
reported NPEs when trying to iterate lists in the RHS constructed in the
LHS using "from collect".

I was wondering how Drools handles lists constructed in the LHS; if the
list contained 5 elements but another rule retracted one of those
elements would the list available in the RHS contain 4 or 5 elements?

Here's a simplification of what was posted at
http://pastebin.com/yKGSxFkA

Rule 1
when
	$cheese : ArrayList() from collect(CheeseFact());
then
	for(int i=0; i<$cheese.size(); i++) {
		//Something useful...
	}
end

What if there was another rule that did something like this:-

Rule 2
When 
	$cf : CheeseFact(type == "chedder")
Then
	retract($cf);
end

What would be the list Rule 1 iterates?

I'd assume since I believe activation execution to be serial it would
depend on the agenda's conflict resolution strategy or rule salience?

What would be the learned opinion?

With kind regards,

Mike
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20100806/7d95a969/attachment.html 


More information about the rules-dev mailing list