[jboss-svn-commits] JBL Code SVN: r22696 - labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Sep 11 20:12:40 EDT 2008


Author: KrisVerlaenen
Date: 2008-09-11 20:12:40 -0400 (Thu, 11 Sep 2008)
New Revision: 22696

Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessWorkItemTest.java
Log:
 - extended work item test

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessWorkItemTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessWorkItemTest.java	2008-09-11 23:41:32 UTC (rev 22695)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/ProcessWorkItemTest.java	2008-09-12 00:12:40 UTC (rev 22696)
@@ -11,15 +11,17 @@
 import org.drools.RuleBaseFactory;
 import org.drools.WorkingMemory;
 import org.drools.compiler.PackageBuilder;
+import org.drools.process.core.context.variable.VariableScope;
 import org.drools.process.instance.ProcessInstance;
 import org.drools.process.instance.WorkItem;
 import org.drools.process.instance.WorkItemHandler;
 import org.drools.process.instance.WorkItemManager;
+import org.drools.process.instance.context.variable.VariableScopeInstance;
 import org.drools.rule.Package;
 
 public class ProcessWorkItemTest extends TestCase {
     
-    public void testOnEntryExit() {
+    public void testWorkItem() {
         PackageBuilder builder = new PackageBuilder();
         Reader source = new StringReader(
             "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
@@ -34,6 +36,9 @@
     		"        <type name=\"org.drools.process.core.datatype.impl.type.StringDataType\" />\n" +
     		"        <value>John Doe</value>\n" +
     		"      </variable>\n" +
+    		"      <variable name=\"MyObject\" >\n" +
+    		"        <type name=\"org.drools.process.core.datatype.impl.type.ObjectDataType\" className=\"java.lang.Object\" />\n" +
+    		"      </variable>\n" +
     		"    </variables>\n" +
             "  </header>\n" +
             "\n" +
@@ -55,7 +60,12 @@
             "        <parameter name=\"Comment\" >\n" +
             "          <type name=\"org.drools.process.core.datatype.impl.type.StringDataType\" />\n" +
             "        </parameter>\n" +
+            "        <parameter name=\"Attachment\" >\n" +
+            "          <type name=\"org.drools.process.core.datatype.impl.type.ObjectDataType\" className=\"java.lang.Object\" />\n" +
+            "        </parameter>\n" +
             "      </work>\n" +
+            "      <mapping type=\"in\" from=\"MyObject\" to=\"Attachment\" />" +
+            "      <mapping type=\"out\" from=\"Result\" to=\"MyObject\" />" +
             "    </workItem>\n" +
             "    <end id=\"3\" name=\"End\" />\n" +
             "  </nodes>\n" +
@@ -84,13 +94,20 @@
         
         Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("UserName", "Jane Doe");
+        parameters.put("MyObject", "SomeString");
         processInstance = workingMemory.startProcess("org.drools.actions", parameters);
         assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
         workItem = handler.getWorkItem();
         assertNotNull(workItem);
         assertEquals("Jane Doe", workItem.getParameter("ActorId"));
-        workingMemory.getWorkItemManager().completeWorkItem(workItem.getId(), null);
+        assertEquals("SomeString", workItem.getParameter("Attachment"));
+        Map<String, Object> results = new HashMap<String, Object>();
+        results.put("Result", "SomeOtherString");
+        workingMemory.getWorkItemManager().completeWorkItem(workItem.getId(), results);
         assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
+        VariableScopeInstance variableScope = (VariableScopeInstance)
+        	processInstance.getContextInstance(VariableScope.VARIABLE_SCOPE);
+        assertEquals("SomeOtherString", variableScope.getVariable("MyObject"));
     }
     
     private static class TestWorkItemHandler implements WorkItemHandler {




More information about the jboss-svn-commits mailing list