public static void rescheduleDeadlinesForTask(final InternalTask task, TaskContext taskContext, DeadlineType ...types) { Environment environment = taskContext.getTaskContentService().getMarshallerContext(task).getEnvironment(); TaskPersistenceContext persistenceContext = taskContext.getPersistenceContext(); taskContext.loadTaskVariables(task); PeopleAssignments peopleAssignments = task.getPeopleAssignments(); List<OrganizationalEntity> businessAdministrators = peopleAssignments.getBusinessAdministrators(); List<DeadlineType> deadlineTypes = Arrays.asList(types); Deadlines deadlines = HumanTaskHandlerHelper.setDeadlines(task.getTaskData().getTaskInputVariables(), businessAdministrators, environment); if(deadlineTypes.contains(DeadlineType.START)) { for(Deadline deadline : deadlines.getStartDeadlines()) { task.getDeadlines().getStartDeadlines().add(deadline); persistenceContext.persistDeadline(deadline); } } if(deadlineTypes.contains(DeadlineType.END)) { for(Deadline deadline : deadlines.getEndDeadlines()) { task.getDeadlines().getEndDeadlines().add(deadline); persistenceContext.persistDeadline(deadline); } } persistenceContext.updateTask(task); scheduleDeadlinesForTask(task, taskContext, types); }
@Test(timeout=10000) public void testTaskReminderWithoutNotification() throws Exception { CountDownTaskEventListener countDownListener = new CountDownTaskEventListener(1, false, true); addCountDownListner(countDownListener); Map<String, Object> vars = new HashMap<String, Object>(); vars.put("now", new Date()); Reader reader = new InputStreamReader(getClass().getResourceAsStream(MvelFilePath.ReminderWithoutNotification)); InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); System.out.println("testTaskReminderWithoutNotification " + task.getTaskData().getStatus()); assertNull(task.getDeadlines()); long taskId = taskService.addTask(task, new HashMap<String, Object>()); taskService.executeReminderForTask(taskId, "Luke Cage"); countDownListener.waitTillCompleted(); assertEquals(1, wiser.getMessages().size()); String receiver = wiser.getMessages().get(0).getEnvelopeReceiver(); assertEquals("tony@domain.com", receiver); MimeMessage msg = ((WiserMessage) wiser.getMessages().get(0)).getMimeMessage(); assertEquals("You have a task ( Simple Test Task ) of process ( taskReminder )", msg.getSubject()); }
assertThat(task.getTaskData().getActualOwner().getId()).isEqualTo(owner); assertThat(task.getTaskData().getActualOwner()).as("Task was not reclaimed").isNull();
@Test(timeout=10000) public void testTaskReminderWithNotificationByTaskNostarted() throws Exception { CountDownTaskEventListener countDownListener = new CountDownTaskEventListener(1, false, true); addCountDownListner(countDownListener); Map<String, Object> vars = new HashMap<String, Object>(); vars.put("now", new Date()); Reader reader = new InputStreamReader(getClass().getResourceAsStream(MvelFilePath .ReminderWithNotificationReserved)); InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); System.out.println("testTaskReminderWithNotificationByTaskNostarted " + task.getTaskData().getStatus()); assertEquals(1, task.getDeadlines().getEndDeadlines().size()); assertEquals(1, task.getDeadlines().getStartDeadlines().size()); long taskId = taskService.addTask(task, new HashMap<String, Object>()); taskService.executeReminderForTask(taskId, "Luke Cage"); countDownListener.waitTillCompleted(); assertEquals(2, wiser.getMessages().size()); final List<String> list = new ArrayList<String>(2); list.add(wiser.getMessages().get(0).getEnvelopeReceiver()); list.add(wiser.getMessages().get(1).getEnvelopeReceiver()); assertTrue(list.contains("tony@domain.com")); assertTrue(list.contains("darth@domain.com")); MimeMessage msg = ((WiserMessage) wiser.getMessages().get(0)).getMimeMessage(); assertEquals("ReminderWithNotificationReserved:you have new task to be started", msg.getSubject()); assertEquals("task is not started", msg.getContent()); msg = ((WiserMessage) wiser.getMessages().get(1)).getMimeMessage(); assertEquals("ReminderWithNotificationReserved:you have new task to be started", msg.getSubject()); assertEquals("task is not started", msg.getContent()); }
InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); ((InternalTaskData) task.getTaskData()).setSkipable(true); InternalPeopleAssignments assignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); List<OrganizationalEntity> ba = new ArrayList<OrganizationalEntity>(); assertThat(task.getTaskData().getStatus()).isEqualTo(Status.Failed); assertThat(task.getDeadlines().getStartDeadlines().size()).isEqualTo(0); assertThat(task.getDeadlines().getEndDeadlines().size()).isEqualTo(0);
.ReminderWithNotificationInProgress)); InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); System.out.println("testTaskReminderWithNotificationByTaskNoCompleted " + task.getTaskData().getStatus());
InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); ((InternalTaskData) task.getTaskData()).setSkipable(true); InternalPeopleAssignments assignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); List<OrganizationalEntity> ba = new ArrayList<OrganizationalEntity>(); assertThat(task.getTaskData().getStatus()).isEqualTo(Status.Obsolete); assertThat(task.getDeadlines().getStartDeadlines().size()).isEqualTo(0); assertThat(task.getDeadlines().getEndDeadlines().size()).isEqualTo(0);
InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); ((InternalTaskData) task.getTaskData()).setSkipable(true); InternalPeopleAssignments assignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); List<OrganizationalEntity> ba = new ArrayList<OrganizationalEntity>(); assertThat(task.getTaskData().getStatus()).isEqualTo(Status.Exited); assertThat(task.getDeadlines().getStartDeadlines().size()).isEqualTo(0); assertThat(task.getDeadlines().getEndDeadlines().size()).isEqualTo(0);
InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); ((InternalTaskData) task.getTaskData()).setSkipable(true); InternalPeopleAssignments assignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); List<OrganizationalEntity> ba = new ArrayList<OrganizationalEntity>(); assertThat(task.getTaskData().getStatus()).isEqualTo(Status.Completed); assertThat(((InternalTask) task).getDeadlines().getStartDeadlines().size()).isEqualTo(0); assertThat(((InternalTask) task).getDeadlines().getEndDeadlines().size()).isEqualTo(0);
((InternalTaskData) task.getTaskData()).setSkipable(true); InternalPeopleAssignments assignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); List<OrganizationalEntity> ba = new ArrayList<OrganizationalEntity>(); ((InternalTaskData) task2.getTaskData()).setSkipable(true); task2.setPeopleAssignments(assignments); assertThat(task.getTaskData().getStatus()).isEqualTo(Status.Completed); assertThat(((InternalTask) task).getDeadlines().getStartDeadlines().size()).isEqualTo(0); assertThat(((InternalTask) task).getDeadlines().getEndDeadlines().size()).isEqualTo(0); assertThat(task.getTaskData().getStatus()).isEqualTo(Status.Completed); assertThat(((InternalTask) task).getDeadlines().getStartDeadlines().size()).isEqualTo(0); assertThat(((InternalTask) task).getDeadlines().getEndDeadlines().size()).isEqualTo(0);
InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); ((InternalTaskData) task.getTaskData()).setSkipable(true); InternalPeopleAssignments assignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); List<OrganizationalEntity> ba = new ArrayList<OrganizationalEntity>(); assertEquals(Status.Completed, task.getTaskData().getStatus()); assertEquals(0, task.getDeadlines().getStartDeadlines().size()); assertEquals(0, task.getDeadlines().getEndDeadlines().size());
InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); ((InternalTaskData) task.getTaskData()).setSkipable(true); InternalPeopleAssignments assignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); List<OrganizationalEntity> ba = new ArrayList<OrganizationalEntity>(); assertEquals(Status.InProgress, task.getTaskData().getStatus()); assertEquals(0, task.getDeadlines().getStartDeadlines().size()); assertEquals(0, task.getDeadlines().getEndDeadlines().size());
InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); ((InternalTaskData) task.getTaskData()).setSkipable(true); InternalPeopleAssignments assignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); List<OrganizationalEntity> ba = new ArrayList<OrganizationalEntity>(); assertEquals(Status.Obsolete, task.getTaskData().getStatus()); assertEquals(0, task.getDeadlines().getStartDeadlines().size()); assertEquals(0, task.getDeadlines().getEndDeadlines().size());
InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); ((InternalTaskData) task.getTaskData()).setSkipable(true); InternalPeopleAssignments assignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); List<OrganizationalEntity> ba = new ArrayList<OrganizationalEntity>(); assertEquals(Status.Exited, task.getTaskData().getStatus()); assertEquals(0, task.getDeadlines().getStartDeadlines().size()); assertEquals(0, task.getDeadlines().getEndDeadlines().size());
InternalTask task = (InternalTask) TaskFactory.evalTask(reader, vars); ((InternalTaskData) task.getTaskData()).setSkipable(true); InternalPeopleAssignments assignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); List<OrganizationalEntity> ba = new ArrayList<OrganizationalEntity>(); assertEquals(Status.Failed, task.getTaskData().getStatus()); assertEquals(0, task.getDeadlines().getStartDeadlines().size()); assertEquals(0, task.getDeadlines().getEndDeadlines().size());
InternalTaskData taskData = (InternalTaskData) task.getTaskData(); taskData.setOutputAccessType(AccessType.Inline); taskData.setFaultAccessType(AccessType.Unknown);
((InternalTaskData) task.getTaskData()).setDeploymentId(null); ((InternalTaskData) task.getTaskData()).setDeploymentId(DEPLOYMENT_ID);