the completeWorkItem method receives a Map with the results. You need to populate that map, in order the mapping works.<br><br><br><div class="gmail_quote">On Wed, Apr 21, 2010 at 1:22 PM, PAYET, Manuel <span dir="ltr">&lt;<a href="mailto:manuel.payet@capgemini.com">manuel.payet@capgemini.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hello everyone, I have a problem using result mapping in custom workitems when I try to set an attribute of an object as one of the result:<br>

I make the following mapping in Result Mapping of my workitem:<br>
<br>
Parameter     Variable<br>
message       workmodel.message<br>
<br>
<br>
and all I have is<br>
<br>
Could not find variable scope for variable workmodel.message<br>
when trying to complete Work Item workitem_test<br>
Continuing without setting variable.<br>
<br>
<br>
I hope, someone can help me, I tried all that I could think about...<br>
you will find below all my project, sorry for the long post...:<br>
<br>
<br>
<br>
/forum/src/main/java/mpayet/test/forum/App.java<br>
=======================================================================<br>
package mpayet.test.forum;<br>
<br>
import java.util.HashMap;<br>
import java.util.Map;<br>
<br>
import org.drools.KnowledgeBase;<br>
import org.drools.KnowledgeBaseFactory;<br>
import org.drools.builder.KnowledgeBuilder;<br>
import org.drools.builder.KnowledgeBuilderError;<br>
import org.drools.builder.KnowledgeBuilderErrors;<br>
import org.drools.builder.KnowledgeBuilderFactory;<br>
import org.drools.builder.ResourceType;<br>
import org.drools.io.ResourceFactory;<br>
import org.drools.runtime.StatefulKnowledgeSession;<br>
<br>
import workDefinitions.WorkitemTest;<br>
import workDefinitions.Workmodel;<br>
<br>
/**<br>
 * Hello world!<br>
 *<br>
 */<br>
public class App {<br>
        public static void main(String[] args) throws Exception {<br>
                System.out.println(&quot;Hello World!&quot;);<br>
                KnowledgeBase kbase = readKnowledgeBase();<br>
                StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();<br>
                final Map&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;();<br>
                map.put(&quot;workmodel&quot;, new Workmodel());<br>
                session.getWorkItemManager().registerWorkItemHandler(&quot;workitem_test&quot;, new WorkitemTest(session));<br>
                session.startProcess(&quot;flow&quot;, map);<br>
        }<br>
<br>
        private static KnowledgeBase readKnowledgeBase() throws Exception {<br>
<br>
                final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory<br>
                                .newKnowledgeBuilder();<br>
                kbuilder.add(ResourceFactory.newClassPathResource(&quot;flow.rf&quot;),<br>
                                ResourceType.DRF);<br>
<br>
                KnowledgeBuilderErrors errors = kbuilder.getErrors();<br>
                if (errors.size() &gt; 0) {<br>
                        for (KnowledgeBuilderError error : errors) {<br>
                                System.err.println(error);<br>
                        }<br>
                        throw new IllegalArgumentException(&quot;Could not parse knowledge.&quot;);<br>
                }<br>
                KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();<br>
                kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());<br>
<br>
                return kbase;<br>
        }<br>
}<br>
=======================================================================<br>
<br>
<br>
<br>
<br>
/forum/src/main/java/workDefinitions/WorkitemTest.java<br>
=======================================================================<br>
package workDefinitions;<br>
<br>
import java.util.HashMap;<br>
import java.util.Map;<br>
<br>
import org.drools.runtime.StatefulKnowledgeSession;<br>
import org.drools.runtime.process.WorkItem;<br>
import org.drools.runtime.process.WorkItemHandler;<br>
import org.drools.runtime.process.WorkItemManager;<br>
<br>
public class WorkitemTest implements WorkItemHandler {<br>
<br>
        final StatefulKnowledgeSession session;<br>
<br>
        public WorkitemTest(final StatefulKnowledgeSession session) {<br>
                this.session = session;<br>
        }<br>
<br>
        public void abortWorkItem(WorkItem workItem, WorkItemManager manager) {<br>
<br>
        }<br>
<br>
        public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {<br>
<br>
                final Map&lt;String, Object&gt; mapResult = new HashMap&lt;String, Object&gt;();<br>
                mapResult.put(&quot;message&quot;, &quot;message&quot;);<br>
                mapResult.put(&quot;nombre&quot;, 1);<br>
                manager.completeWorkItem(workItem.getId(), mapResult);<br>
        }<br>
}<br>
=======================================================================<br>
<br>
<br>
<br>
<br>
<br>
/forum/src/main/java/workDefinitions/Workmodel.java<br>
=======================================================================<br>
package workDefinitions;<br>
<br>
public class Workmodel {<br>
        private String message;<br>
<br>
        public String getMessage() {<br>
                return message;<br>
        }<br>
<br>
        public void setMessage(String message) {<br>
                this.message = message;<br>
        }<br>
<br>
}<br>
=======================================================================<br>
<br>
<br>
<br>
<br>
<br>
/forum/src/main/java/META-INF/DefinitionsWorkitem.conf<br>
=======================================================================<br>
import org.drools.process.core.datatype.impl.type.StringDataType;<br>
import org.drools.process.core.datatype.impl.type.IntegerDataType;<br>
<br>
[<br>
  // exemple de workitem<br>
  [<br>
    &quot;name&quot; : &quot;workitem_test&quot;,<br>
    &quot;parameters&quot; : [<br>
      &quot;typeObjet&quot; : new StringDataType(),<br>
      &quot;nombre&quot; : new IntegerDataType()<br>
    ],<br>
    &quot;displayName&quot; : &quot;workitem test&quot;,<br>
    &quot;icon&quot; : &quot;icons/icone_service.gif&quot;<br>
  ]<br>
<br>
]<br>
=======================================================================<br>
<br>
<br>
<br>
<br>
<br>
/forum/src/main/java/flow.rf<br>
=======================================================================<br>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br>
&lt;process xmlns=&quot;<a href="http://drools.org/drools-5.0/process" target="_blank">http://drools.org/drools-5.0/process</a>&quot;<br>
         xmlns:xs=&quot;<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>&quot;<br>
         xs:schemaLocation=&quot;<a href="http://drools.org/drools-5.0/process" target="_blank">http://drools.org/drools-5.0/process</a> drools-processes-5.0.xsd&quot;<br>
         type=&quot;RuleFlow&quot; name=&quot;flow&quot; id=&quot;flow&quot; package-name=&quot;com.mpayet.test&quot; routerLayout=&quot;1&quot; &gt;<br>
<br>
  &lt;header&gt;<br>
    &lt;imports&gt;<br>
      &lt;import name=&quot;workDefinitions.Workmodel&quot; /&gt;<br>
    &lt;/imports&gt;<br>
    &lt;variables&gt;<br>
      &lt;variable name=&quot;workmodel&quot; &gt;<br>
        &lt;type name=&quot;org.drools.process.core.datatype.impl.type.ObjectDataType&quot; className=&quot;workDefinitions.Workmodel&quot; /&gt;<br>
      &lt;/variable&gt;<br>
    &lt;/variables&gt;<br>
  &lt;/header&gt;<br>
<br>
  &lt;nodes&gt;<br>
    &lt;actionNode id=&quot;13&quot; name=&quot;affichage variable&quot; x=&quot;16&quot; y=&quot;176&quot; width=&quot;161&quot; height=&quot;48&quot; &gt;<br>
        &lt;action type=&quot;expression&quot; dialect=&quot;mvel&quot; &gt;var model =(Workmodel)context.getVariable(&quot;workmodel&quot;)<br>
System.out.println(model.message)&lt;/action&gt;<br>
    &lt;/actionNode&gt;<br>
    &lt;end id=&quot;8&quot; name=&quot;End&quot; x=&quot;72&quot; y=&quot;256&quot; width=&quot;48&quot; height=&quot;48&quot; /&gt;<br>
    &lt;start id=&quot;1&quot; name=&quot;Start&quot; x=&quot;72&quot; y=&quot;16&quot; width=&quot;48&quot; height=&quot;48&quot; /&gt;<br>
    &lt;workItem id=&quot;20&quot; name=&quot;workitem test&quot; x=&quot;46&quot; y=&quot;97&quot; width=&quot;100&quot; height=&quot;48&quot; &gt;<br>
      &lt;work name=&quot;workitem_test&quot; &gt;<br>
        &lt;parameter name=&quot;nombre&quot; &gt;<br>
          &lt;type name=&quot;org.drools.process.core.datatype.impl.type.IntegerDataType&quot; /&gt;<br>
        &lt;/parameter&gt;<br>
        &lt;parameter name=&quot;typeObjet&quot; &gt;<br>
          &lt;type name=&quot;org.drools.process.core.datatype.impl.type.StringDataType&quot; /&gt;<br>
        &lt;/parameter&gt;<br>
      &lt;/work&gt;<br>
      &lt;mapping type=&quot;out&quot; from=&quot;message&quot; to=&quot;workmodel.message&quot; /&gt;<br>
    &lt;/workItem&gt;<br>
  &lt;/nodes&gt;<br>
<br>
  &lt;connections&gt;<br>
    &lt;connection from=&quot;20&quot; to=&quot;13&quot; /&gt;<br>
    &lt;connection from=&quot;13&quot; to=&quot;8&quot; /&gt;<br>
    &lt;connection from=&quot;1&quot; to=&quot;20&quot; /&gt;<br>
  &lt;/connections&gt;<br>
<br>
&lt;/process&gt;<br>
=====================================================================<br>
<br>
<br>
<br>
Thank you very much if you took the time to think about my problem,<br>
Manuel PAYET<br>
<br>
<br>
<br>
<br>
<br>
<br>
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is<br>
intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to<br>
read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message<br>
in error, please notify the sender immediately and delete all copies of this message.<br>
<br>
<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</blockquote></div><br><br clear="all"><br>-- <br> - <a href="http://salaboy.wordpress.com">http://salaboy.wordpress.com</a><br> - <a href="http://www.jbug.com.ar">http://www.jbug.com.ar</a><br> - Salatino &quot;Salaboy&quot; Mauricio -<br>