[jbpm-commits] JBoss JBPM SVN: r1935 - in jbossbpm/spec/trunk/modules: dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model and 13 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Aug 19 15:15:15 EDT 2008
Author: thomas.diesler at jboss.com
Date: 2008-08-19 15:15:14 -0400 (Tue, 19 Aug 2008)
New Revision: 1935
Added:
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataMarshallerTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataMarshallerTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataTest.java
Removed:
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/samples/
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/samples/
Modified:
jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java
jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java
jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBAssignment.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/activity/ActivityPropertyTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessPropertyTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/task/TaskExecutionHandlerTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/synchronization/SynchronizationTest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataAPITest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataAPITest.java
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/pattern/control/synchronization/pattern-control-synchronization-api10.xml
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/pattern/data/casedata/pattern-data-case-data-api10.xml
jbossbpm/spec/trunk/modules/testsuite/src/test/resources/pattern/data/taskdata/pattern-data-task-data-api10.xml
Log:
Use Assignment instead of ExecutionHandler
Modified: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessMarshaller.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -474,7 +474,7 @@
JAXBAssignment jaxbAss = new JAXBAssignment();
jaxbAss.setAssignTime(ass.getAssignTime());
jaxbAss.setFrom(getJAXBExpression(ass.getFrom()));
- jaxbAss.setTo(getJaxbProperty(ass.getTo()));
+ jaxbAss.setTo(ass.getTo().getName());
return jaxbAss;
}
Modified: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/ProcessUnmarshaller.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -129,8 +129,8 @@
for (JAXBAssignment jaxbAss : jaxbProc.getAssignments())
{
JAXBExpression jaxbFrom = jaxbAss.getFrom();
- JAXBProperty jaxbTo = jaxbAss.getTo();
- procBuilder.addAssignment(jaxbAss.getAssignTime(), jaxbFrom.getLang(), jaxbFrom.getBody(), jaxbTo.getName());
+ String jaxbTo = jaxbAss.getTo();
+ procBuilder.addAssignment(jaxbAss.getAssignTime(), jaxbFrom.getLang(), jaxbFrom.getBody(), jaxbTo);
}
// Process FlowObjects
@@ -157,8 +157,8 @@
for (JAXBAssignment jaxbAss : jaxbFlowObject.getAssignments())
{
JAXBExpression jaxbFrom = jaxbAss.getFrom();
- JAXBProperty jaxbTo = jaxbAss.getTo();
- procBuilder.addAssignment(jaxbAss.getAssignTime(), jaxbFrom.getLang(), jaxbFrom.getBody(), jaxbTo.getName());
+ String jaxbTo = jaxbAss.getTo();
+ procBuilder.addAssignment(jaxbAss.getAssignTime(), jaxbFrom.getLang(), jaxbFrom.getBody(), jaxbTo);
}
}
Modified: jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBAssignment.java
===================================================================
--- jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBAssignment.java 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/dialects/api10/src/main/java/org/jboss/bpm/dialect/api10/model/JAXBAssignment.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -40,17 +40,17 @@
@XmlType(name = "Assignment")
public class JAXBAssignment
{
- JAXBProperty to;
+ String to;
JAXBExpression from;
AssignTime assignTime;
- public JAXBProperty getTo()
+ public String getTo()
{
return to;
}
@XmlElement
- public void setTo(JAXBProperty to)
+ public void setTo(String to)
{
this.to = to;
}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/activity/ActivityPropertyTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/activity/ActivityPropertyTest.java 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/activity/ActivityPropertyTest.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -24,7 +24,6 @@
// $Id$
import java.io.IOException;
-import java.util.Collection;
import org.jboss.bpm.model.EventDetail;
import org.jboss.bpm.model.Message;
@@ -32,12 +31,9 @@
import org.jboss.bpm.model.Process;
import org.jboss.bpm.model.ProcessBuilder;
import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.model.Property;
import org.jboss.bpm.model.TaskBuilder;
-import org.jboss.bpm.runtime.ExecutionContext;
-import org.jboss.bpm.runtime.ExecutionHandler;
-import org.jboss.bpm.runtime.Token;
-import org.jboss.bpm.runtime.Attachments.Key;
+import org.jboss.bpm.model.Assignment.AssignTime;
+import org.jboss.bpm.model.Expression.ExpressionLanguage;
import org.jboss.bpm.test.DefaultEngineTestCase;
/**
@@ -52,7 +48,6 @@
*/
public class ActivityPropertyTest extends DefaultEngineTestCase
{
- @SuppressWarnings("unchecked")
public void testActivityPropertyRead() throws Exception
{
Process proc = getProcess();
@@ -62,37 +57,19 @@
Message endMessage = getMessages().get(0);
assertNotNull("EndMessage expected", endMessage);
assertEquals("bar", endMessage.getPropertyValue("foo"));
-
- Property prop = endMessage.getProperty("attKeys");
- Collection<Key> attKeys = prop.getValue(Collection.class);
- assertEquals(1, attKeys.size());
- Key key = attKeys.iterator().next();
- assertEquals("ActivityProperties.TaskA.foo", key.getNamePart());
}
protected Process getProcess() throws IOException
{
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
procBuilder.addProcess("ActivityProperties").addStartEvent("Start").addSequenceFlow("TaskA");
- MessageBuilder msgBuilder = procBuilder.addMessage("EndMessage");
- msgBuilder.addToRef(getMessageListenerID()).addProperty("foo", null, true).addProperty("attKeys", null, true);
- TaskBuilder taskBuilder = procBuilder.addTask("TaskA").addExecutionHandler(TaskA.class);
+ TaskBuilder taskBuilder = procBuilder.addTask("TaskA");
taskBuilder.addProperty("foo", "bar").addSequenceFlow("End");
+ taskBuilder.addAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "ActivityProperties_TaskA_foo", "foo");
procBuilder.addEndEvent("End").addEventDetail(EventDetail.EventDetailType.Message).addMessageRef("EndMessage");
+ MessageBuilder msgBuilder = procBuilder.addMessage("EndMessage");
+ msgBuilder.addToRef(getMessageListenerID()).addProperty("foo", null, true);
Process proc = procBuilder.getProcess();
return proc;
}
-
- @SuppressWarnings("serial")
- public static class TaskA implements ExecutionHandler
- {
- public void execute(Token token)
- {
- ExecutionContext exContext = token.getExecutionContext();
- Object attValue = exContext.getAttachment("ActivityProperties.TaskA.foo");
- Collection<Key> attKeys = exContext.getAttachmentKeys();
- exContext.addAttachment("foo", attValue);
- exContext.addAttachment("attKeys", attKeys);
- }
- }
}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -30,14 +30,16 @@
import org.jboss.bpm.model.EventBuilder;
import org.jboss.bpm.model.EventDetail;
import org.jboss.bpm.model.Gateway;
+import org.jboss.bpm.model.Message;
+import org.jboss.bpm.model.MessageBuilder;
import org.jboss.bpm.model.Process;
import org.jboss.bpm.model.ProcessBuilder;
import org.jboss.bpm.model.ProcessBuilderFactory;
import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.model.TaskBuilder;
+import org.jboss.bpm.model.Assignment.AssignTime;
+import org.jboss.bpm.model.Expression.ExpressionLanguage;
import org.jboss.bpm.model.Signal.SignalType;
-import org.jboss.bpm.runtime.ExecutionContext;
-import org.jboss.bpm.runtime.ExecutionHandler;
-import org.jboss.bpm.runtime.Token;
import org.jboss.bpm.test.DefaultEngineTestCase;
/**
@@ -67,7 +69,9 @@
proc.waitForEnd();
// Verify the result
- assertEquals("TaskA", TaskC.taskValue);
+ Message endMessage = getMessages().get(0);
+ assertNotNull("EndMessage expected", endMessage);
+ assertEquals("TaskA", endMessage.getPropertyValue("taskValue"));
}
public void testGateB() throws Exception
@@ -87,7 +91,9 @@
proc.waitForEnd();
// Verify the result
- assertEquals("TaskB", TaskC.taskValue);
+ Message endMessage = getMessages().get(0);
+ assertNotNull("EndMessage expected", endMessage);
+ assertEquals("TaskB", endMessage.getPropertyValue("taskValue"));
}
public void testInvalidToken() throws Exception
@@ -127,7 +133,9 @@
proc.waitForEnd();
// Verify the result
- assertEquals("TaskA", TaskC.taskValue);
+ Message endMessage = getMessages().get(0);
+ assertNotNull("EndMessage expected", endMessage);
+ assertEquals("TaskA", endMessage.getPropertyValue("taskValue"));
}
public Process getProcess() throws IOException
@@ -135,13 +143,18 @@
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
EventBuilder eventBuilder = procBuilder.addProcess(getName()).addStartEvent("StartA");
eventBuilder.addEventDetail(EventDetail.EventDetailType.Signal).addSignalRef(SignalType.SYSTEM_START_TRIGGER, "A").addSequenceFlow("TaskA");
- procBuilder.addTask("TaskA").addExecutionHandler(TaskA.class).addSequenceFlow("Merge");
+ TaskBuilder taskBuilder = procBuilder.addTask("TaskA");
+ taskBuilder.addAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskA'", "taskValue");
+ taskBuilder.addSequenceFlow("Merge");
eventBuilder = procBuilder.addStartEvent("StartB");
eventBuilder.addEventDetail(EventDetail.EventDetailType.Signal).addSignalRef(SignalType.SYSTEM_START_TRIGGER, "B").addSequenceFlow("TaskB");
- procBuilder.addTask("TaskB").addExecutionHandler(TaskB.class).addSequenceFlow("Merge");
- procBuilder.addGateway("Merge", Gateway.GatewayType.Exclusive).addSequenceFlow("TaskC");
- procBuilder.addTask("TaskC").addExecutionHandler(TaskC.class).addSequenceFlow("End");
- procBuilder.addEndEvent("End");
+ taskBuilder = procBuilder.addTask("TaskB");
+ taskBuilder.addAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskB'", "taskValue");
+ taskBuilder.addSequenceFlow("Merge");
+ procBuilder.addGateway("Merge", Gateway.GatewayType.Exclusive).addSequenceFlow("End");
+ procBuilder.addEndEvent("End").addEventDetail(EventDetail.EventDetailType.Message).addMessageRef("EndMessage");
+ MessageBuilder msgBuilder = procBuilder.addMessage("EndMessage");
+ msgBuilder.addToRef(getMessageListenerID()).addProperty("taskValue", null, true);
Process proc = procBuilder.getProcess();
return proc;
}
@@ -170,36 +183,4 @@
}
}
}
-
- @SuppressWarnings("serial")
- public static class TaskA implements ExecutionHandler
- {
- public void execute(Token token)
- {
- ExecutionContext exContext = token.getExecutionContext();
- exContext.addAttachment("taskValue", "TaskA");
- }
- }
-
- @SuppressWarnings("serial")
- public static class TaskB implements ExecutionHandler
- {
- public void execute(Token token)
- {
- ExecutionContext exContext = token.getExecutionContext();
- exContext.addAttachment("taskValue", "TaskB");
- }
- }
-
- @SuppressWarnings("serial")
- public static class TaskC implements ExecutionHandler
- {
- public static Object taskValue;
-
- public void execute(Token token)
- {
- ExecutionContext exContext = token.getExecutionContext();
- taskValue = exContext.getAttachment("taskValue");
- }
- }
}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeTest.java 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeTest.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -30,14 +30,16 @@
import org.jboss.bpm.model.EventBuilder;
import org.jboss.bpm.model.EventDetail;
import org.jboss.bpm.model.Gateway;
+import org.jboss.bpm.model.Message;
+import org.jboss.bpm.model.MessageBuilder;
import org.jboss.bpm.model.Process;
import org.jboss.bpm.model.ProcessBuilder;
import org.jboss.bpm.model.ProcessBuilderFactory;
import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.model.TaskBuilder;
+import org.jboss.bpm.model.Assignment.AssignTime;
+import org.jboss.bpm.model.Expression.ExpressionLanguage;
import org.jboss.bpm.model.Signal.SignalType;
-import org.jboss.bpm.runtime.ExecutionContext;
-import org.jboss.bpm.runtime.ExecutionHandler;
-import org.jboss.bpm.runtime.Token;
import org.jboss.bpm.test.DefaultEngineTestCase;
/**
@@ -58,7 +60,7 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
- signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
+ signalManager.addSignalListener(proc.getName(), new MergeListener(proc.getName(), startTrigger));
// Send start trigger signal
signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
@@ -67,7 +69,9 @@
proc.waitForEnd();
// Verify the result
- assertEquals("TaskA:TaskB", TaskC.taskValue);
+ Message endMessage = getMessages().get(0);
+ assertEquals("TaskA", endMessage.getPropertyValue("taskValueA"));
+ assertEquals("TaskB", endMessage.getPropertyValue("taskValueB"));
}
public void testMergeTimeout() throws Exception
@@ -77,7 +81,7 @@
// Send start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(proc.getName(), new Signal(proc.getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
try
@@ -99,7 +103,7 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A");
- signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
+ signalManager.addSignalListener(proc.getName(), new MergeListener(proc.getName(), startTrigger));
// Send start trigger signal
signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
@@ -119,7 +123,7 @@
// Add a signal listener that sends the other start trigger signal
startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
- signalManager.addSignalListener(getName(), new MergeListener(getName(), startTrigger));
+ signalManager.addSignalListener(proc.getName(), new MergeListener(proc.getName(), startTrigger));
// Send start trigger signal
signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
@@ -128,7 +132,9 @@
proc.waitForEnd();
// Verify the result
- assertEquals("TaskA:TaskB", TaskC.taskValue);
+ Message endMessage = getMessages().get(0);
+ assertEquals("TaskA", endMessage.getPropertyValue("taskValueA"));
+ assertEquals("TaskB", endMessage.getPropertyValue("taskValueB"));
}
public Process getProcess() throws IOException
@@ -136,13 +142,18 @@
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
EventBuilder eventBuilder = procBuilder.addProcess(getName()).addStartEvent("StartA");
eventBuilder.addEventDetail(EventDetail.EventDetailType.Signal).addSignalRef(SignalType.SYSTEM_START_TRIGGER, "A").addSequenceFlow("TaskA");
- procBuilder.addTask("TaskA").addExecutionHandler(TaskA.class).addSequenceFlow("Merge");
+ TaskBuilder taskBuilder = procBuilder.addTask("TaskA");
+ taskBuilder.addAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskA'", "taskValueA");
+ taskBuilder.addSequenceFlow("Merge");
eventBuilder = procBuilder.addStartEvent("StartB");
eventBuilder.addEventDetail(EventDetail.EventDetailType.Signal).addSignalRef(SignalType.SYSTEM_START_TRIGGER, "B").addSequenceFlow("TaskB");
- procBuilder.addTask("TaskB").addExecutionHandler(TaskB.class).addSequenceFlow("Merge");
- procBuilder.addGateway("Merge", Gateway.GatewayType.Parallel).addSequenceFlow("TaskC");
- procBuilder.addTask("TaskC").addExecutionHandler(TaskC.class).addSequenceFlow("End");
- procBuilder.addEndEvent("End");
+ taskBuilder = procBuilder.addTask("TaskB");
+ taskBuilder.addAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskB'", "taskValueB");
+ taskBuilder.addSequenceFlow("Merge");
+ procBuilder.addGateway("Merge", Gateway.GatewayType.Parallel).addSequenceFlow("End");
+ procBuilder.addEndEvent("End").addEventDetail(EventDetail.EventDetailType.Message).addMessageRef("EndMessage");
+ MessageBuilder msgBuilder = procBuilder.addMessage("EndMessage");
+ msgBuilder.addToRef(getMessageListenerID()).addProperty("taskValueA", null, true).addProperty("taskValueB", null, true);
Process proc = procBuilder.getProcess();
return proc;
}
@@ -171,36 +182,4 @@
}
}
}
-
- @SuppressWarnings("serial")
- public static class TaskA implements ExecutionHandler
- {
- public void execute(Token token)
- {
- ExecutionContext exContext = token.getExecutionContext();
- exContext.addAttachment("taskA", "TaskA");
- }
- }
-
- @SuppressWarnings("serial")
- public static class TaskB implements ExecutionHandler
- {
- public void execute(Token token)
- {
- ExecutionContext exContext = token.getExecutionContext();
- exContext.addAttachment("taskB", "TaskB");
- }
- }
-
- @SuppressWarnings("serial")
- public static class TaskC implements ExecutionHandler
- {
- public static Object taskValue;
-
- public void execute(Token token)
- {
- ExecutionContext exContext = token.getExecutionContext();
- taskValue = exContext.getAttachment("taskA") + ":" + exContext.getAttachment("taskB");
- }
- }
}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessPropertyTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessPropertyTest.java 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/process/ProcessPropertyTest.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -24,15 +24,15 @@
// $Id$
import java.io.IOException;
-import java.util.Collection;
+import org.jboss.bpm.model.EventDetail;
+import org.jboss.bpm.model.Message;
+import org.jboss.bpm.model.MessageBuilder;
import org.jboss.bpm.model.Process;
import org.jboss.bpm.model.ProcessBuilder;
import org.jboss.bpm.model.ProcessBuilderFactory;
-import org.jboss.bpm.runtime.ExecutionContext;
-import org.jboss.bpm.runtime.ExecutionHandler;
-import org.jboss.bpm.runtime.Token;
-import org.jboss.bpm.runtime.Attachments.Key;
+import org.jboss.bpm.model.Assignment.AssignTime;
+import org.jboss.bpm.model.Expression.ExpressionLanguage;
import org.jboss.bpm.test.DefaultEngineTestCase;
/**
@@ -55,34 +55,21 @@
proc.startProcess();
proc.waitForEnd();
- assertEquals("bar", TaskA.attValue);
-
- assertEquals(1, TaskA.attKeys.size());
- Key key = TaskA.attKeys.iterator().next();
- assertEquals("ProcessProperties.foo", key.getNamePart());
+ Message endMessage = getMessages().get(0);
+ assertNotNull("EndMessage expected", endMessage);
+ assertEquals("bar", endMessage.getPropertyValue("foo"));
}
protected Process getProcess() throws IOException
{
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
procBuilder.addProcess("ProcessProperties").addStartEvent("Start").addSequenceFlow("TaskA");
- procBuilder.addProperty("foo", "bar").addTask("TaskA").addExecutionHandler(TaskA.class);
- procBuilder.addSequenceFlow("End").addEndEvent("End");
+ procBuilder.addAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "ProcessProperties_foo", "foo");
+ procBuilder.addProperty("foo", "bar").addTask("TaskA").addSequenceFlow("End");
+ procBuilder.addEndEvent("End").addEventDetail(EventDetail.EventDetailType.Message).addMessageRef("EndMessage");
+ MessageBuilder msgBuilder = procBuilder.addMessage("EndMessage");
+ msgBuilder.addToRef(getMessageListenerID()).addProperty("foo", null, true);
Process proc = procBuilder.getProcess();
return proc;
}
-
- @SuppressWarnings("serial")
- public static class TaskA implements ExecutionHandler
- {
- static Object attValue;
- static Collection<Key> attKeys;
-
- public void execute(Token token)
- {
- ExecutionContext exContext = token.getExecutionContext();
- attValue = exContext.getAttachment("ProcessProperties.foo");
- attKeys = exContext.getAttachmentKeys();
- }
- }
}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/task/TaskExecutionHandlerTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/task/TaskExecutionHandlerTest.java 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/cts/task/TaskExecutionHandlerTest.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -50,10 +50,10 @@
proc.startProcess();
proc.waitForEnd();
- assertEquals(TaskA.procProp, "kermit");
- assertEquals(TaskA.taskProp, "piggy");
- assertEquals(TaskA.procAssign, Boolean.TRUE);
- assertEquals(TaskA.taskAssign, Boolean.TRUE);
+ assertEquals(TaskExecutionHandler.procProp, "kermit");
+ assertEquals(TaskExecutionHandler.taskProp, "piggy");
+ assertEquals(TaskExecutionHandler.procAssign, Boolean.TRUE);
+ assertEquals(TaskExecutionHandler.taskAssign, Boolean.TRUE);
}
protected Process getProcess() throws IOException
@@ -63,14 +63,14 @@
procBuilder.addAssignment(Assignment.AssignTime.Start, Expression.ExpressionLanguage.MVEL, "TaskExecutionHandlerTest_procProp == 'kermit'", "procAssign");
procBuilder.addStartEvent("Start").addSequenceFlow("TaskA");
TaskBuilder taskBuilder = procBuilder.addTask("TaskA");
- taskBuilder.addProperty("taskProp", "piggy").addExecutionHandler(TaskA.class).addSequenceFlow("End");
+ taskBuilder.addProperty("taskProp", "piggy").addExecutionHandler(TaskExecutionHandler.class).addSequenceFlow("End");
taskBuilder.addAssignment(Assignment.AssignTime.Start, Expression.ExpressionLanguage.MVEL, "TaskExecutionHandlerTest_TaskA_taskProp == 'piggy'", "taskAssign");
procBuilder.addEndEvent("End");
return procBuilder.getProcess();
}
@SuppressWarnings("serial")
- public static class TaskA implements ExecutionHandler
+ public static class TaskExecutionHandler implements ExecutionHandler
{
static String procProp;
static String taskProp;
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/synchronization/SynchronizationTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/synchronization/SynchronizationTest.java 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/synchronization/SynchronizationTest.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -30,14 +30,16 @@
import org.jboss.bpm.model.EventBuilder;
import org.jboss.bpm.model.EventDetail;
import org.jboss.bpm.model.Gateway;
+import org.jboss.bpm.model.Message;
+import org.jboss.bpm.model.MessageBuilder;
import org.jboss.bpm.model.Process;
import org.jboss.bpm.model.ProcessBuilder;
import org.jboss.bpm.model.ProcessBuilderFactory;
import org.jboss.bpm.model.Signal;
+import org.jboss.bpm.model.TaskBuilder;
+import org.jboss.bpm.model.Assignment.AssignTime;
+import org.jboss.bpm.model.Expression.ExpressionLanguage;
import org.jboss.bpm.model.Signal.SignalType;
-import org.jboss.bpm.runtime.ExecutionContext;
-import org.jboss.bpm.runtime.ExecutionHandler;
-import org.jboss.bpm.runtime.Token;
import org.jboss.bpm.test.DefaultEngineTestCase;
/**
@@ -50,7 +52,7 @@
*/
public class SynchronizationTest extends DefaultEngineTestCase
{
- public void testSynchronization() throws Exception
+ public void testParallelMerge() throws Exception
{
Process proc = getProcess();
proc.startProcess();
@@ -58,7 +60,7 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
- signalManager.addSignalListener(null, new MergeListener(proc.getName(), startTrigger));
+ signalManager.addSignalListener(proc.getName(), new MergeListener(proc.getName(), startTrigger));
// Send start trigger signal
signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
@@ -67,10 +69,12 @@
proc.waitForEnd();
// Verify the result
- assertEquals("TaskA:TaskB", TaskC.taskValue);
+ Message endMessage = getMessages().get(0);
+ assertEquals("TaskA", endMessage.getPropertyValue("taskValueA"));
+ assertEquals("TaskB", endMessage.getPropertyValue("taskValueB"));
}
- public void testSynchronizationTimeout() throws Exception
+ public void testMergeTimeout() throws Exception
{
Process proc = getProcess();
proc.startProcess();
@@ -91,7 +95,7 @@
}
}
- public void testSynchronizationInvalidToken() throws Exception
+ public void testInvalidToken() throws Exception
{
Process proc = getProcess();
proc.startProcess();
@@ -99,7 +103,7 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A");
- signalManager.addSignalListener(null, new MergeListener(proc.getName(), startTrigger));
+ signalManager.addSignalListener(proc.getName(), new MergeListener(proc.getName(), startTrigger));
// Send start trigger signal
signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
@@ -119,7 +123,7 @@
// Add a signal listener that sends the other start trigger signal
startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
- signalManager.addSignalListener(null, new MergeListener(proc.getName(), startTrigger));
+ signalManager.addSignalListener(proc.getName(), new MergeListener(proc.getName(), startTrigger));
// Send start trigger signal
signalManager.throwSignal(proc.getName(), new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
@@ -128,21 +132,28 @@
proc.waitForEnd();
// Verify the result
- assertEquals("TaskA:TaskB", TaskC.taskValue);
+ Message endMessage = getMessages().get(0);
+ assertEquals("TaskA", endMessage.getPropertyValue("taskValueA"));
+ assertEquals("TaskB", endMessage.getPropertyValue("taskValueB"));
}
public Process getProcess() throws IOException
{
ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
- EventBuilder eventBuilder = procBuilder.addProcess(getName()).addStartEvent("StartA");
+ EventBuilder eventBuilder = procBuilder.addProcess("Synchronization").addStartEvent("StartA");
eventBuilder.addEventDetail(EventDetail.EventDetailType.Signal).addSignalRef(SignalType.SYSTEM_START_TRIGGER, "A").addSequenceFlow("TaskA");
- procBuilder.addTask("TaskA").addExecutionHandler(TaskA.class).addSequenceFlow("Merge");
+ TaskBuilder taskBuilder = procBuilder.addTask("TaskA");
+ taskBuilder.addAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskA'", "taskValueA");
+ taskBuilder.addSequenceFlow("Merge");
eventBuilder = procBuilder.addStartEvent("StartB");
eventBuilder.addEventDetail(EventDetail.EventDetailType.Signal).addSignalRef(SignalType.SYSTEM_START_TRIGGER, "B").addSequenceFlow("TaskB");
- procBuilder.addTask("TaskB").addExecutionHandler(TaskB.class).addSequenceFlow("Merge");
- procBuilder.addGateway("Merge", Gateway.GatewayType.Parallel).addSequenceFlow("TaskC");
- procBuilder.addTask("TaskC").addExecutionHandler(TaskC.class).addSequenceFlow("End");
- procBuilder.addEndEvent("End");
+ taskBuilder = procBuilder.addTask("TaskB");
+ taskBuilder.addAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "'TaskB'", "taskValueB");
+ taskBuilder.addSequenceFlow("Merge");
+ procBuilder.addGateway("Merge", Gateway.GatewayType.Parallel).addSequenceFlow("End");
+ procBuilder.addEndEvent("End").addEventDetail(EventDetail.EventDetailType.Message).addMessageRef("EndMessage");
+ MessageBuilder msgBuilder = procBuilder.addMessage("EndMessage");
+ msgBuilder.addToRef(getMessageListenerID()).addProperty("taskValueA", null, true).addProperty("taskValueB", null, true);
Process proc = procBuilder.getProcess();
return proc;
}
@@ -171,36 +182,4 @@
}
}
}
-
- @SuppressWarnings("serial")
- public static class TaskA implements ExecutionHandler
- {
- public void execute(Token token)
- {
- ExecutionContext exContext = token.getExecutionContext();
- exContext.addAttachment("taskA", "TaskA");
- }
- }
-
- @SuppressWarnings("serial")
- public static class TaskB implements ExecutionHandler
- {
- public void execute(Token token)
- {
- ExecutionContext exContext = token.getExecutionContext();
- exContext.addAttachment("taskB", "TaskB");
- }
- }
-
- @SuppressWarnings("serial")
- public static class TaskC implements ExecutionHandler
- {
- public static Object taskValue;
-
- public void execute(Token token)
- {
- ExecutionContext exContext = token.getExecutionContext();
- taskValue = exContext.getAttachment("taskA") + ":" + exContext.getAttachment("taskB");
- }
- }
}
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataAPITest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataAPITest.java 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataAPITest.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -25,15 +25,9 @@
import java.io.IOException;
import java.net.URL;
-import java.util.Collection;
import org.jboss.bpm.client.ProcessManager;
import org.jboss.bpm.model.Process;
-import org.jboss.bpm.runtime.ExecutionContext;
-import org.jboss.bpm.runtime.ExecutionHandler;
-import org.jboss.bpm.runtime.Token;
-import org.jboss.bpm.runtime.Attachments.Key;
-import org.jboss.bpm.test.DefaultEngineTestCase;
/**
* Data elements are supported which are specific to a process instance or case. They can be accessed by all components
@@ -44,21 +38,8 @@
* @author thomas.diesler at jboss.com
* @since 15-Aug-2008
*/
-public class CaseDataAPITest extends DefaultEngineTestCase
+public class CaseDataAPITest extends CaseDataTest
{
- public void testCaseProperties() throws Exception
- {
- Process proc = getProcess();
- proc.startProcess();
- proc.waitForEnd();
-
- assertEquals("bar", TaskA.attValue);
-
- assertEquals(1, TaskA.attKeys.size());
- Key key = TaskA.attKeys.iterator().next();
- assertEquals("ProcessProperties.foo", key.getNamePart());
- }
-
protected Process getProcess() throws IOException
{
URL jpdlURL = getResourceURL("pattern/data/casedata/pattern-data-case-data-api10.xml");
@@ -66,18 +47,4 @@
Process proc = pm.createProcess(jpdlURL);
return proc;
}
-
- @SuppressWarnings("serial")
- public static class TaskA implements ExecutionHandler
- {
- static Object attValue;
- static Collection<Key> attKeys;
-
- public void execute(Token token)
- {
- ExecutionContext exContext = token.getExecutionContext();
- attValue = exContext.getAttachment("ProcessProperties.foo");
- attKeys = exContext.getAttachmentKeys();
- }
- }
}
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataMarshallerTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataMarshallerTest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataMarshallerTest.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.pattern.data.casedata;
+
+// $Id$
+
+import java.io.IOException;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.Process;
+
+/**
+ * Data elements are supported which are specific to a process instance or case. They can be accessed by all components
+ * of the process during the execution of the case.
+ *
+ * https://jira.jboss.org/jira/browse/JBPM-1519
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 15-Aug-2008
+ */
+public class CaseDataMarshallerTest extends CaseDataTest
+{
+ protected Process getProcess() throws IOException
+ {
+ // Marshall the process to a string
+ Process proc = super.getProcess();
+ String procXML = marshallProcess(proc);
+
+ // Recreate the process from the marshalled process
+ ProcessManager procManager = ProcessManager.locateProcessManager();
+ return procManager.createProcess(procXML);
+ }
+}
Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataMarshallerTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataTest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataTest.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.pattern.data.casedata;
+
+// $Id$
+
+import java.io.IOException;
+
+import org.jboss.bpm.model.EventDetail;
+import org.jboss.bpm.model.Message;
+import org.jboss.bpm.model.MessageBuilder;
+import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
+import org.jboss.bpm.model.Assignment.AssignTime;
+import org.jboss.bpm.model.Expression.ExpressionLanguage;
+import org.jboss.bpm.test.DefaultEngineTestCase;
+
+/**
+ * Data elements are supported which are specific to a process instance or case. They can be accessed by all components
+ * of the process during the execution of the case.
+ *
+ * https://jira.jboss.org/jira/browse/JBPM-1519
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 15-Aug-2008
+ */
+public class CaseDataTest extends DefaultEngineTestCase
+{
+ public void testCaseProperties() throws Exception
+ {
+ Process proc = getProcess();
+ proc.startProcess();
+ proc.waitForEnd();
+
+ Message endMessage = getMessages().get(0);
+ assertNotNull("EndMessage expected", endMessage);
+ assertEquals("bar", endMessage.getPropertyValue("foo"));
+ }
+
+ protected Process getProcess() throws IOException
+ {
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+ procBuilder.addProcess("CaseData").addStartEvent("Start").addSequenceFlow("TaskA");
+ procBuilder.addAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "CaseData_foo", "foo");
+ procBuilder.addProperty("foo", "bar").addTask("TaskA").addSequenceFlow("End");
+ procBuilder.addEndEvent("End").addEventDetail(EventDetail.EventDetailType.Message).addMessageRef("EndMessage");
+ MessageBuilder msgBuilder = procBuilder.addMessage("EndMessage");
+ msgBuilder.addToRef(getMessageListenerID()).addProperty("foo", null, true);
+ Process proc = procBuilder.getProcess();
+ return proc;
+ }
+}
\ No newline at end of file
Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/casedata/CaseDataTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataAPITest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataAPITest.java 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataAPITest.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -25,15 +25,9 @@
import java.io.IOException;
import java.net.URL;
-import java.util.Collection;
import org.jboss.bpm.client.ProcessManager;
import org.jboss.bpm.model.Process;
-import org.jboss.bpm.runtime.ExecutionContext;
-import org.jboss.bpm.runtime.ExecutionHandler;
-import org.jboss.bpm.runtime.Token;
-import org.jboss.bpm.runtime.Attachments.Key;
-import org.jboss.bpm.test.DefaultEngineTestCase;
/**
* Data elements can be defined by tasks which are accessible only within the context of individual execution instances
@@ -44,21 +38,8 @@
* @author thomas.diesler at jboss.com
* @since 15-Aug-2008
*/
-public class TaskDataAPITest extends DefaultEngineTestCase
+public class TaskDataAPITest extends TaskDataTest
{
- public void testTaskProperties() throws Exception
- {
- Process proc = getProcess();
- proc.startProcess();
- proc.waitForEnd();
-
- assertEquals("bar", TaskA.attValue);
-
- assertEquals(1, TaskA.attKeys.size());
- Key key = TaskA.attKeys.iterator().next();
- assertEquals("ActivityProperties.TaskA.foo", key.getNamePart());
- }
-
protected Process getProcess() throws IOException
{
URL jpdlURL = getResourceURL("pattern/data/taskdata/pattern-data-task-data-api10.xml");
@@ -66,18 +47,4 @@
Process proc = pm.createProcess(jpdlURL);
return proc;
}
-
- @SuppressWarnings("serial")
- public static class TaskA implements ExecutionHandler
- {
- static Object attValue;
- static Collection<Key> attKeys;
-
- public void execute(Token token)
- {
- ExecutionContext exContext = token.getExecutionContext();
- attValue = exContext.getAttachment("ActivityProperties.TaskA.foo");
- attKeys = exContext.getAttachmentKeys();
- }
- }
-}
+}
\ No newline at end of file
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataMarshallerTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataMarshallerTest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataMarshallerTest.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.pattern.data.taskdata;
+
+// $Id$
+
+import java.io.IOException;
+
+import org.jboss.bpm.client.ProcessManager;
+import org.jboss.bpm.model.Process;
+
+/**
+ * Data elements can be defined by tasks which are accessible only within the context of individual execution instances
+ * of that task.
+ *
+ * https://jira.jboss.org/jira/browse/JBPM-1515
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 15-Aug-2008
+ */
+public class TaskDataMarshallerTest extends TaskDataTest
+{
+ protected Process getProcess() throws IOException
+ {
+ // Marshall the process to a string
+ Process proc = super.getProcess();
+ String procXML = marshallProcess(proc);
+
+ // Recreate the process from the marshalled process
+ ProcessManager procManager = ProcessManager.locateProcessManager();
+ return procManager.createProcess(procXML);
+ }
+}
\ No newline at end of file
Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataMarshallerTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataTest.java
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataTest.java (rev 0)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataTest.java 2008-08-19 19:15:14 UTC (rev 1935)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.pattern.data.taskdata;
+
+// $Id$
+
+import java.io.IOException;
+
+import org.jboss.bpm.model.EventDetail;
+import org.jboss.bpm.model.Message;
+import org.jboss.bpm.model.MessageBuilder;
+import org.jboss.bpm.model.Process;
+import org.jboss.bpm.model.ProcessBuilder;
+import org.jboss.bpm.model.ProcessBuilderFactory;
+import org.jboss.bpm.model.TaskBuilder;
+import org.jboss.bpm.model.Assignment.AssignTime;
+import org.jboss.bpm.model.Expression.ExpressionLanguage;
+import org.jboss.bpm.test.DefaultEngineTestCase;
+
+/**
+ * Data elements can be defined by tasks which are accessible only within the context of individual execution instances
+ * of that task.
+ *
+ * https://jira.jboss.org/jira/browse/JBPM-1515
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 15-Aug-2008
+ */
+public class TaskDataTest extends DefaultEngineTestCase
+{
+ public void testTaskDataRead() throws Exception
+ {
+ Process proc = getProcess();
+ proc.startProcess();
+ proc.waitForEnd();
+
+ Message endMessage = getMessages().get(0);
+ assertNotNull("EndMessage expected", endMessage);
+ assertEquals("bar", endMessage.getPropertyValue("foo"));
+ }
+
+ protected Process getProcess() throws IOException
+ {
+ ProcessBuilder procBuilder = ProcessBuilderFactory.newInstance().newProcessBuilder();
+ procBuilder.addProcess("TaskData").addStartEvent("Start").addSequenceFlow("TaskA");
+ TaskBuilder taskBuilder = procBuilder.addTask("TaskA");
+ taskBuilder.addProperty("foo", "bar").addSequenceFlow("End");
+ taskBuilder.addAssignment(AssignTime.Start, ExpressionLanguage.MVEL, "TaskData_TaskA_foo", "foo");
+ procBuilder.addEndEvent("End").addEventDetail(EventDetail.EventDetailType.Message).addMessageRef("EndMessage");
+ MessageBuilder msgBuilder = procBuilder.addMessage("EndMessage");
+ msgBuilder.addToRef(getMessageListenerID()).addProperty("foo", null, true);
+ Process proc = procBuilder.getProcess();
+ return proc;
+ }
+}
Property changes on: jbossbpm/spec/trunk/modules/testsuite/src/test/java/org/jboss/bpm/pattern/data/taskdata/TaskDataTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/pattern/control/synchronization/pattern-control-synchronization-api10.xml
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/pattern/control/synchronization/pattern-control-synchronization-api10.xml 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/pattern/control/synchronization/pattern-control-synchronization-api10.xml 2008-08-19 19:15:14 UTC (rev 1935)
@@ -1,4 +1,4 @@
-<ns2:process name="pattern-control-synchronization" xmlns:ns2="urn:bpm.jboss:pdl-0.1">
+<ns2:process name="Synchronization" xmlns:ns2="urn:bpm.jboss:pdl-0.1">
<start name="StartA">
<seqflow to="TaskA" />
<signal-trigger>
@@ -8,8 +8,11 @@
</signal-trigger>
</start>
<task taskType="None" name="TaskA">
+ <assignment time="Start">
+ <from lang="MVEL">'TaskA'</from>
+ <to>taskValueA</to>
+ </assignment>
<seqflow to="Merge" />
- <execution-handler class="org.jboss.bpm.pattern.control.synchronization.SynchronizationTest$TaskA" />
</task>
<start name="StartB">
<seqflow to="TaskB" />
@@ -20,15 +23,27 @@
</signal-trigger>
</start>
<task taskType="None" name="TaskB">
+ <assignment time="Start">
+ <from lang="MVEL">'TaskB'</from>
+ <to>taskValueB</to>
+ </assignment>
<seqflow to="Merge" />
- <execution-handler class="org.jboss.bpm.pattern.control.synchronization.SynchronizationTest$TaskB" />
</task>
<parallel-gateway name="Merge">
- <seqflow to="TaskC" />
+ <seqflow to="End" />
</parallel-gateway>
- <task taskType="None" name="TaskC">
- <seqflow to="End" />
- <execution-handler class="org.jboss.bpm.pattern.control.synchronization.SynchronizationTest$TaskC" />
- </task>
- <end name="End" />
+ <end name="End">
+ <message-result>
+ <messageRef nameRef="EndMessage" />
+ </message-result>
+ </end>
+ <message name="EndMessage">
+ <to>jboss.bpm:msgListener=SynchronizationAPITest</to>
+ <property correlation="true">
+ <name>taskValueA</name>
+ </property>
+ <property correlation="true">
+ <name>taskValueB</name>
+ </property>
+ </message>
</ns2:process>
\ No newline at end of file
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/pattern/data/casedata/pattern-data-case-data-api10.xml
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/pattern/data/casedata/pattern-data-case-data-api10.xml 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/pattern/data/casedata/pattern-data-case-data-api10.xml 2008-08-19 19:15:14 UTC (rev 1935)
@@ -1,12 +1,25 @@
-<ns2:process name="ProcessProperties" xmlns:ns2="urn:bpm.jboss:pdl-0.1">
+<ns2:process name="CaseData" xmlns:ns2="urn:bpm.jboss:pdl-0.1">
<start name="Start">
+ <assignment time="Start">
+ <from lang="MVEL">CaseData_foo</from>
+ <to>foo</to>
+ </assignment>
<seqflow to="TaskA" />
</start>
<task taskType="None" name="TaskA">
<seqflow to="End" />
- <execution-handler class="org.jboss.bpm.pattern.data.casedata.CaseDataAPITest$TaskA" />
</task>
- <end name="End" />
+ <end name="End">
+ <message-result>
+ <messageRef nameRef="EndMessage" />
+ </message-result>
+ </end>
+ <message name="EndMessage">
+ <to>jboss.bpm:msgListener=CaseDataAPITest</to>
+ <property correlation="true">
+ <name>foo</name>
+ </property>
+ </message>
<property>
<name>foo</name>
<value>bar</value>
Modified: jbossbpm/spec/trunk/modules/testsuite/src/test/resources/pattern/data/taskdata/pattern-data-task-data-api10.xml
===================================================================
--- jbossbpm/spec/trunk/modules/testsuite/src/test/resources/pattern/data/taskdata/pattern-data-task-data-api10.xml 2008-08-19 15:56:55 UTC (rev 1934)
+++ jbossbpm/spec/trunk/modules/testsuite/src/test/resources/pattern/data/taskdata/pattern-data-task-data-api10.xml 2008-08-19 19:15:14 UTC (rev 1935)
@@ -1,14 +1,27 @@
-<ns2:process name="ActivityProperties" xmlns:ns2="urn:bpm.jboss:pdl-0.1">
+<ns2:process name="TaskData" xmlns:ns2="urn:bpm.jboss:pdl-0.1">
<start name="Start">
<seqflow to="TaskA" />
</start>
<task taskType="None" name="TaskA">
+ <assignment time="Start">
+ <from lang="MVEL">TaskData_TaskA_foo</from>
+ <to>foo</to>
+ </assignment>
<property>
<name>foo</name>
<value>bar</value>
</property>
<seqflow to="End" />
- <execution-handler class="org.jboss.bpm.pattern.data.taskdata.TaskDataAPITest$TaskA" />
</task>
- <end name="End" />
+ <end name="End">
+ <message-result>
+ <messageRef nameRef="EndMessage" />
+ </message-result>
+ </end>
+ <message name="EndMessage">
+ <to>jboss.bpm:msgListener=TaskDataAPITest</to>
+ <property correlation="true">
+ <name>foo</name>
+ </property>
+ </message>
</ns2:process>
\ No newline at end of file
More information about the jbpm-commits
mailing list