[rules-users] ForEach element cannot see CollectionExpression
sam.squire at paretopartners.com
sam.squire at paretopartners.com
Tue Sep 21 06:00:09 EDT 2010
Hello there,
I am experimenting with Drools. I seem to be having problems with making
the ForEach element to work. It cannot 'see' the mappings created when I
start the process. I am hand coding the XML flow files and using the
schema (and documentation) to help me.
The problem seems to be in the flow file before the rule file is even
executed. Is this the correct way to pass a collection to the process?
// the collection to iterate over
Collection<BusinessObject> pending = new ArrayList<BusinessObject>();
pending.add(new BusinessObject());
pending.add(new BusinessObject());
// the parameters for the process
Map<String, Object> params = new HashMap<String, Object>();
params.put("pending", pending);
ksession.startProcess("org.processor", params);
ksession.fireAllRules();
In the rule file, I have:
<forEach id="2" name="processor" variableName="current"
collectionExpression="pending" >
<in-ports>
<in-port type="DROOLS_DEFAULT" nodeId="6"
nodeInType="DROOLS_DEFAULT" />
</in-ports>
<out-ports>
<out-port type="DROOLS_DEFAULT" nodeId="8"
nodeOutType="DROOLS_DEFAULT" />
</out-ports>
<nodes>
<start id="6" name="test" />
<actionNode id="7">
<action type="expression" dialect="mvel">
System.out.println(current);
</action>
</actionNode>
<end id="8" name="done"/>
</nodes>
<connections>
<connection from="6" to="7" />
<connection from="7" to="8" />
</connections>
</forEach>
I cannot tell if the scope inside the ForEach > nodes is separate from the
outer-scope, can I use the same IDs?
The error I receive:
Exception in thread "main" java.lang.IllegalArgumentException: Could not
find collection params
What am I doing wrong?
Regards,
S. Squire
This message may contain confidential and privileged information and is intended solely for the use of the named addressee. Access, copying or re-use of the e-mail or any information contained therein by any other person is not authorised. If you are not the intended recipient please notify us immediately by returning the e-mail to the originator and then immediately delete this message. Although we attempt to sweep e-mail and attachments for viruses, we do not guarantee that either are virus-free and accept no liability for any damage sustained as a result of viruses.
Please refer to http://www.bnymellon.com/disclaimer/piml.html for certain disclosures.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100921/dc59acfb/attachment.html
More information about the rules-users
mailing list