[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