예제 #1
0
 public void testGetAssignedTasks() {
   WorkflowDefinition workflowDef = getTestDefinition();
   Map<QName, Serializable> parameters = new HashMap<QName, Serializable>();
   parameters.put(
       QName.createQName(NamespaceService.DEFAULT_URI, "reviewer"),
       AuthenticationUtil.getAdminUserName());
   parameters.put(QName.createQName(NamespaceService.DEFAULT_URI, "testNode"), rootNodeRef);
   parameters.put(
       QName.createQName(NamespaceService.BPM_MODEL_1_0_URI, "package"),
       packageComponent.createPackage(null));
   WorkflowPath path = workflowComponent.startWorkflow(workflowDef.getId(), parameters);
   assertNotNull(path);
   List<WorkflowTask> tasks = workflowComponent.getTasksForWorkflowPath(path.getId());
   assertNotNull(tasks);
   assertEquals(1, tasks.size());
   WorkflowTask updatedTask =
       taskComponent.endTask(tasks.get(0).getId(), path.getNode().getTransitions()[0].getId());
   assertNotNull(updatedTask);
   List<WorkflowTask> completedTasks =
       taskComponent.getAssignedTasks(
           AuthenticationUtil.getAdminUserName(), WorkflowTaskState.COMPLETED);
   assertNotNull(completedTasks);
   completedTasks = filterTasksByWorkflowInstance(completedTasks, path.getInstance().getId());
   assertEquals(1, completedTasks.size());
   List<WorkflowTask> assignedTasks =
       taskComponent.getAssignedTasks(
           AuthenticationUtil.getAdminUserName(), WorkflowTaskState.IN_PROGRESS);
   assertNotNull(assignedTasks);
   assignedTasks = filterTasksByWorkflowInstance(assignedTasks, path.getInstance().getId());
   assertEquals(1, assignedTasks.size());
   assertEquals("review", assignedTasks.get(0).getName());
 }
예제 #2
0
 public void testCancelWorkflowInstance() throws Exception {
   WorkflowDefinition workflowDef = getTestDefinition();
   workflowComponent.startWorkflow(workflowDef.getId(), null);
   List<WorkflowInstance> instances1 = workflowComponent.getActiveWorkflows(workflowDef.getId());
   assertNotNull(instances1);
   assertEquals(1, instances1.size());
   List<WorkflowTask> tasks =
       taskComponent.getAssignedTasks(
           AuthenticationUtil.getAdminUserName(), WorkflowTaskState.IN_PROGRESS);
   assertNotNull(tasks);
   assertTrue(tasks.size() > 0);
   WorkflowInstance cancelledInstance =
       workflowComponent.cancelWorkflow(instances1.get(0).getId());
   assertNotNull(cancelledInstance);
   assertFalse(cancelledInstance.isActive());
   List<WorkflowInstance> instances2 = workflowComponent.getActiveWorkflows(workflowDef.getId());
   assertNotNull(instances2);
   assertEquals(0, instances2.size());
   List<WorkflowTask> tasks1 =
       taskComponent.getAssignedTasks(
           AuthenticationUtil.getAdminUserName(), WorkflowTaskState.IN_PROGRESS);
   assertNotNull(tasks1);
   tasks1 = filterTasksByWorkflowInstance(tasks1, cancelledInstance.getId());
   assertEquals(0, tasks1.size());
 }
예제 #3
0
 private void ParallelReject(String user) {
   List<WorkflowTask> tasks = taskComponent.getAssignedTasks(user, WorkflowTaskState.IN_PROGRESS);
   assertEquals(1, tasks.size());
   WorkflowTask task = tasks.get(0);
   taskComponent.endTask(task.getId(), "reject");
 }