[jbpm-commits] JBoss JBPM SVN: r6000 - in jbpm4/trunk/modules/examples/src/test: java/org/jbpm/examples/bpmn/gateway/parallel and 2 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Sun Dec 20 07:42:37 EST 2009
Author: jbarrez
Date: 2009-12-20 07:42:36 -0500 (Sun, 20 Dec 2009)
New Revision: 6000
Added:
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/bpmn/gateway/parallel/
jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/bpmn/gateway/parallel/ParallelGatewayTest.java
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/gateway/parallel/
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/gateway/parallel/parallel_gateway.bpmn.xml
Log:
JBPM-2662: parallel gateway
Added: jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/bpmn/gateway/parallel/ParallelGatewayTest.java
===================================================================
--- jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/bpmn/gateway/parallel/ParallelGatewayTest.java (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/java/org/jbpm/examples/bpmn/gateway/parallel/ParallelGatewayTest.java 2009-12-20 12:42:36 UTC (rev 6000)
@@ -0,0 +1,39 @@
+package org.jbpm.examples.bpmn.gateway.parallel;
+
+import java.util.List;
+
+import org.jbpm.api.NewDeployment;
+import org.jbpm.api.ProcessInstance;
+import org.jbpm.api.task.Task;
+import org.jbpm.test.JbpmTestCase;
+
+
+public class ParallelGatewayTest extends JbpmTestCase {
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ NewDeployment deployment = repositoryService.createDeployment();
+ deployment.addResourceFromClasspath("org/jbpm/examples/bpmn/gateway/parallel/parallel_gateway.bpmn.xml");
+ registerDeployment(deployment.deploy());
+ }
+
+ public void testParallelGateway() {
+ ProcessInstance processInstance = executionService.startProcessInstanceByKey("parallelGateway");
+
+ List<Task> tasks = taskService.createTaskQuery().list();
+ assertEquals(2, tasks.size());
+
+ // Complete first task -> 1 still open
+ taskService.completeTask(tasks.get(0).getId());
+ assertProcessInstanceActive(processInstance);
+ Task secondTask = taskService.createTaskQuery().uniqueResult();
+ assertNotNull(secondTask);
+ assertTrue(secondTask.getName().equals("Prepare shipment") || secondTask.getName().equals("Bill customer"));
+
+ // Complete second task -> process ended
+ taskService.completeTask(secondTask.getId());
+ assertProcessInstanceEnded(processInstance);
+ }
+
+}
Added: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/gateway/parallel/parallel_gateway.bpmn.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/gateway/parallel/parallel_gateway.bpmn.xml (rev 0)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/bpmn/gateway/parallel/parallel_gateway.bpmn.xml 2009-12-20 12:42:36 UTC (rev 6000)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions id="ExclusiveGatewayNormal"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://schema.omg.org/spec/BPMN/2.0 ../../../../../../../../../../bpmn/src/main/resources/BPMN20.xsd"
+ xmlns="http://schema.omg.org/spec/BPMN/2.0" typeLanguage="http://www.w3.org/2001/XMLSchema"
+ expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://jbpm.org/example/bpmn2/parallel_gateway">
+
+ <process id="parallelGateway" name="BPMN2 example parallel gatewar">
+
+ <startEvent id="Start" />
+
+ <sequenceFlow id="flow1" name="fromStartToSplit"
+ sourceRef="Start"
+ targetRef="parallelGatewaySplit" />
+
+ <parallelGateway id="parallelGatewaySplit" name="Split"
+ gatewayDirection="diverging"/>
+
+ <sequenceFlow id="flow2a" name="Leg 1"
+ sourceRef="parallelGatewaySplit"
+ targetRef="prepareShipment" />
+
+ <userTask id="prepareShipment" name="Prepare shipment" implementation="other" />
+
+ <sequenceFlow id="flow2b" name="fromPrepareShipmentToJoin"
+ sourceRef="prepareShipment"
+ targetRef="parallelGatewayJoin" />
+
+ <sequenceFlow id="flow3a" name="Leg 2"
+ sourceRef="parallelGatewaySplit"
+ targetRef="billCustomer" />
+
+ <userTask id="billCustomer" name="Bill customer" implementation="other" />
+
+ <sequenceFlow id="flow3b" name="fromLeg2ToJoin"
+ sourceRef="billCustomer"
+ targetRef="parallelGatewayJoin" />
+
+ <parallelGateway id="parallelGatewayJoin" name="Join"
+ gatewayDirection="converging"/>
+
+ <sequenceFlow id="flow4"
+ sourceRef="parallelGatewayJoin"
+ targetRef="End">
+ </sequenceFlow>
+
+ <endEvent id="End" name="End" />
+
+ </process>
+</definitions>
More information about the jbpm-commits
mailing list