[rules-users] possible bug in latest SNAPSHOT - AccumulateFunction.init() is called when calling modify()

Michal Bali michalbali at gmail.com
Wed May 12 06:58:12 EDT 2010


Hi,

I may have found a bug with accumulate and 'modify(..)' function call. It
seems that once the modify(..) is called it indirectly calls
AccumulateFunction.init() which invalidates accumulated data. I have
included a simple test case:

I am using the latest snapshot of Drools 5.1.SNAPSHOT

I have created a sample Drools project and just modified the Sample.drl with
this:
-------------------------------------------------------------
import java.util.List;
import java.util.ArrayList;

declare Holder
  list : List
end

rule "Hello World"
when
m : Message( )
then
insert(new Holder());
end

rule "GoodBye"
when
$holder : Holder( list == null )
$messages : List() from accumulate(
$message: Message(), collectList($message) )
then
System.out.println($messages); //<-- here the $messages list has one element
modify($holder) {
setList($messages)
}
System.out.println($messages); //<-- here the $messages list is empty
end
-----------------------------------------------------

Let me know if you need more information. I can create a JIRA if needed.

Thank you!
Best regards,
Michal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100512/28f5aa80/attachment.html 


More information about the rules-users mailing list