One rules is fired per cycle, so it depends the rules that it's fired first.
You are right it's totally up to the conflict resolution strategy.
On Fri, Aug 6, 2010 at 12:04 PM, Anstis, Michael (M.) <manstis1(a)ford.com>wrote:
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* <
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
_______________________________________________
rules-dev mailing list
rules-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev
--
- CTO @
http://www.plugtree.com
- MyJourney @
http://salaboy.wordpress.com
- Co-Founder @
http://www.jbug.com.ar
- Salatino "Salaboy" Mauricio -