[rules-users] How to limit results from a collect statement

pentarious cristiano.giuffrida at gmail.com
Wed Aug 8 07:08:01 EDT 2007


Does anyone know a method to limit the number of results from a collect
statement? I was just wondering how to do something like this:
$myList : List() from collect( MyObject(myField == "something") ) limit 3
//it should put in $myList just the first 3 objects retrieved
I'm quite sure there is nothing in Drools which can natively support
something like that. So, how to do that, if needed? I tried this, but it
seems not to be working (I can't understand why, though):
$myList : List() from collect( MyObject(myField == "something") )
$myObject : MyObject() from $myList
eval( $myList.indexOf($myObject) < 3 )
Indeed, it doesn't work because the link beetween $myList and $myObject
seems to be released during any execution of the rule (In fact
$myList.contains($myObject) returns false! Again, I can't understand why...)

Any advice would be really appreciated!

Regards,

CG
-- 
View this message in context: http://www.nabble.com/How-to-limit-results-from-a-collect-statement-tf4235669.html#a12051112
Sent from the drools - user mailing list archive at Nabble.com.




More information about the rules-users mailing list