[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