[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