[jbpm-commits] JBoss JBPM SVN: r6347 - jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task.

do-not-reply at jboss.org do-not-reply at jboss.org
Sat May 15 10:18:26 EDT 2010


Author: rebody
Date: 2010-05-15 10:18:26 -0400 (Sat, 15 May 2010)
New Revision: 6347

Modified:
   jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task/TaskSwimlaneTest.java
Log:
JBPM-2841 apply testcase to verify multiplicity join with swimlane

Modified: jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task/TaskSwimlaneTest.java
===================================================================
--- jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task/TaskSwimlaneTest.java	2010-05-15 13:38:22 UTC (rev 6346)
+++ jbpm4/trunk/modules/test-db/src/test/java/org/jbpm/test/activity/task/TaskSwimlaneTest.java	2010-05-15 14:18:26 UTC (rev 6347)
@@ -21,9 +21,11 @@
  */
 package org.jbpm.test.activity.task;
 
+import java.util.Date;
 import java.util.List;
 
 import org.jbpm.api.ProcessInstance;
+import org.jbpm.api.job.Job;
 import org.jbpm.api.task.Task;
 import org.jbpm.test.JbpmTestCase;
 
@@ -32,7 +34,7 @@
  * @author Tom Baeyens
  */
 public class TaskSwimlaneTest extends JbpmTestCase {
-  
+
   public void testSwimlaneTaskEnd() {
     deployJpdlXmlString(
       "<process name='TaskSwimlane'> " +
@@ -47,14 +49,14 @@
       "  <end name='end' />" +
       "</process>"
     );
-    
+
     executionService.startProcessInstanceByKey("TaskSwimlane");
 
     List<Task> tasks = taskService.findPersonalTasks("johndoe");
     assertEquals(1, tasks.size());
     Task task = tasks.get(0);
     taskService.completeTask(task.getId());
-    
+
     assertEquals(0, executionService.createProcessInstanceQuery().count());
     assertEquals(0, taskService.createTaskQuery().count());
   }
@@ -84,18 +86,69 @@
       "  <end name='end' />" +
       "</process>"
     );
-    
+
     executionService.startProcessInstanceByKey("TaskConcurrentSwimlane");
 
     List<Task> tasks = taskService.findPersonalTasks("johndoe");
     assertEquals(2, tasks.size());
     taskService.completeTask(tasks.get(0).getId());
     taskService.completeTask(tasks.get(1).getId());
-    
+
     assertEquals(0, executionService.createProcessInstanceQuery().count());
     assertEquals(0, taskService.createTaskQuery().count());
   }
 
+  public void testSwimlaneWithMultiplicity() {
+    deployJpdlXmlString(
+      "<process key='join-multiplicity-test' name='join-multiplicity-test' xmlns='http://jbpm.org/4.3/jpdl'>" +
+      "   <swimlane name='swimlane1' assignee='user1'/>" +
+      "   <swimlane name='swimlane2' assignee='user2'/>" +
+      "   <start g='165,4,48,48' name='start1'>" +
+      "      <transition g='-50,-20' name='to task1' to='task1'/>" +
+      "   </start>" +
+      "   <end g='165,511,48,48' name='end1'/>" +
+      "   <task g='143,97,92,52' name='task1' swimlane='swimlane1'>" +
+      "      <transition g='-50,-20' name='to fork1' to='fork1'/>" +
+      "   </task>" +
+      "   <task g='9,282,92,52' name='task2' swimlane='swimlane1'>" +
+      "      <transition g='-49,-20' name='to join1' to='join1'/>" +
+      "   </task>" +
+      "   <task g='283,282,92,52' name='task3' swimlane='swimlane2'>" +
+      "      <transition g='-49,-20' name='to join1' to='join1'/>" +
+      "   </task>" +
+      "   <fork g='165,185,48,48' name='fork1'>" +
+      "      <transition g='-50,-20' name='to task2' to='task2'/>" +
+      "      <transition g='-50,-20' name='to task3' to='task3'/>" +
+      "   </fork>" +
+      "   <join continue='async' g='165,387,48,48' multiplicity='1' name='join1'>" +
+      "      <transition g='-50,-20' name='to end1' to='end1'/>" +
+      "   </join>" +
+      "</process>"
+    );
+
+    ProcessInstance processInstance = executionService.startProcessInstanceByKey("join-multiplicity-test");
+    String processInstanceId = processInstance.getId();
+
+    List<Task> user1Tasks = taskService.findPersonalTasks("user1");
+    assertEquals(1, user1Tasks.size());
+    Task task1 = user1Tasks.get(0);
+    taskService.completeTask(task1.getId(), "to fork1");
+
+    user1Tasks = taskService.findPersonalTasks("user1");
+    assertEquals(1, user1Tasks.size());
+    Task task2 = user1Tasks.get(0);
+    taskService.completeTask(task2.getId(), "to join1");
+
+    List<Job> jobs = managementService.createJobQuery().processInstanceId(processInstanceId).list();
+    assertEquals(1, jobs.size());
+    Job join1Job = jobs.get(0);
+    managementService.executeJob(join1Job.getId());
+
+    Date endTime = historyService.createHistoryProcessInstanceQuery().processInstanceId(processInstance.getId()).uniqueResult().getEndTime();
+
+    assertNotNull(endTime);
+  }
+
   public void testTaskParse() {
     deployJpdlXmlString(
       "<process name='Swimlane' xmlns='http://jbpm.org/4.3/jpdl'>"



More information about the jbpm-commits mailing list