Thanks, I'll do that. In the meantime I still need to get the job done asap. Can you provide me an example to implement such a logic using an inline-eval and global (which variable should be global?)? And just out of curiosity can you explain me why this code doesn't work (basically why, after the second line, $myList.contains($myObject) would return false):
> $myList : List() from collect( MyObject(myField == "something") )
> $myObject : MyObject() from $myList
> eval( $myList.indexOf($myObject) < 3 )
To me, this code seems to be just fine (in real Java it would be), so I can't understand why it doesn't work here. Maybe I am missing something or the DRL-Java code mapping done by a rule compiler is not so simple to figure out.
Regards,
CG
There is no supported way to do this. You could use an inline-eval
against a global, but that is very clunkey. However it does seem like a
good feature idea for a future release, open a jira and I'll look into
getting it included.
Mark
pentarious wrote:
> 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
>
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users