((InternalTaskData) task.getTaskData()).setSkipable(true); InternalPeopleAssignments assignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); List<OrganizationalEntity> ba = new ArrayList<OrganizationalEntity>(); assignments.setPotentialOwners(po); task.setPeopleAssignments(assignments); ((InternalTaskData) task2.getTaskData()).setSkipable(true); task2.setPeopleAssignments(assignments); long taskId = task.getId(); task.getDeadlines().getStartDeadlines().get(0).setDate(cal.getTime()); task2.getDeadlines().getStartDeadlines().get(0).setDate(cal.getTime()); assertThat(task.getTaskData().getStatus()).isEqualTo(Status.Completed); assertThat(((InternalTask) task).getDeadlines().getStartDeadlines().size()).isEqualTo(0); assertThat(((InternalTask) task).getDeadlines().getEndDeadlines().size()).isEqualTo(0); taskService.start(task2.getId(), "Administrator"); taskService.complete(task2.getId(), "Administrator", null); task = (InternalTask) taskService.getTaskById(task2.getId()); assertThat(task.getTaskData().getStatus()).isEqualTo(Status.Completed); assertThat(((InternalTask) task).getDeadlines().getStartDeadlines().size()).isEqualTo(0); assertThat(((InternalTask) task).getDeadlines().getEndDeadlines().size()).isEqualTo(0);
protected void resolveTaskDetailsForTaskProperties(Task task) { Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("name", task.getName()); parameters.put("description", task.getDescription()); parameters.put("subject", task.getSubject()); parameters.put("formName", ((InternalTask)task).getFormName()); Map<String, Object> replacements = resolveTaskDetails(parameters, task); ((InternalTask)task).setName((String) replacements.get("name")); ((InternalTask)task).setDescription((String) replacements.get("description")); ((InternalTask)task).setSubject((String) replacements.get("subject")); ((InternalTask)task).setFormName((String) replacements.get("formName")); }
((InternalI18NText) text).setText(taskName); names.add(text); task.setNames(names); task.setName(taskName); task.setFormName(formName); ((InternalI18NText) descText).setText(description); descriptions.add(descText); task.setDescriptions(descriptions); task.setDescription(description); ((InternalI18NText) subjectText).setText(comment); subjects.add(subjectText); task.setSubjects(subjects); task.setSubject(comment); task.setPriority(priority); PeopleAssignments peopleAssignments = task.getPeopleAssignments(); List<OrganizationalEntity> businessAdministrators = peopleAssignments.getBusinessAdministrators(); task.setTaskData(taskData); task.setDeadlines(HumanTaskHandlerHelper.setDeadlines(workItem.getParameters(), businessAdministrators, session.getEnvironment())); return task;
public static void scheduleDeadlinesForTask(final InternalTask task, TaskContext taskContext, DeadlineType ...types) { TaskDeadlinesService deadlineService = taskContext.getTaskDeadlinesService(); final long now = System.currentTimeMillis(); List<DeadlineType> deadlineTypes = Arrays.asList(types); Deadlines deadlines = task.getDeadlines(); if (deadlines != null) { final List<? extends Deadline> startDeadlines = deadlines.getStartDeadlines(); if (startDeadlines != null && deadlineTypes.contains(DeadlineType.START)) { scheduleDeadlines(startDeadlines, now, task.getId(), DeadlineType.START, deadlineService); } final List<? extends Deadline> endDeadlines = deadlines.getEndDeadlines(); if (endDeadlines != null && deadlineTypes.contains(DeadlineType.END)) { scheduleDeadlines(endDeadlines, now, task.getId(), DeadlineType.END, deadlineService); } } }
public void setDescriptions(long taskId, List<I18NText> inputDescriptions) { Task task = persistenceContext.findTask(taskId); taskEventSupport.fireBeforeTaskUpdated(task, context); List<I18NText> descriptions = new ArrayList<I18NText>(inputDescriptions.size()); for( I18NText inputText : inputDescriptions ) { I18NText text = TaskModelProvider.getFactory().newI18NText(); ((InternalI18NText) text).setLanguage(inputText.getLanguage()); ((InternalI18NText) text).setText(inputText.getText()); descriptions.add(text); } ((InternalTask) task).setDescriptions(descriptions); ((InternalTask) task).setDescription(descriptions.get(0).getText()); taskEventSupport.fireAfterTaskUpdated(task, context); }
taskImpl.setId(this.getId()); taskImpl.setPriority(this.getPriority()); List<OrganizationalEntity> recipients = copyOrganizationalEntityList(jaxbPeopleAssignments.getRecipients()); peopleAssignments.setRecipients(recipients); taskImpl.setPeopleAssignments(peopleAssignments); taskImpl.setSubTaskStrategy(this.getSubTaskStrategy()); taskImpl.setNames(names); taskImpl.setName(this.getName()); } else if (!this.getNames().isEmpty()) { taskImpl.setName(this.getNames().get(0).getText()); taskImpl.setSubjects(subjects); taskImpl.setSubject(this.getSubject()); } else if (!this.getSubjects().isEmpty()) { taskImpl.setSubject(this.getSubjects().get(0).getText()); taskImpl.setDescriptions(descriptions); taskImpl.setDescription(this.getDescription()); } else if (!this.getDescriptions().isEmpty()) { taskImpl.setDescription(this.getDescriptions().get(0).getText()); taskImpl.setTaskType(this.getTaskType());
task.setFormName("Bruno's Form"); task.setId(23L); task.setSubTaskStrategy(SubTasksStrategy.EndParentOnAllSubTasksEnd); for( I18NText text : task.getNames() ) { ((InternalI18NText) text).setId((long) random.nextInt(1000)); for( I18NText text : task.getSubjects() ) { ((InternalI18NText) text).setId((long) random.nextInt(1000)); for( I18NText text : task.getDescriptions() ) { ((InternalI18NText) text).setId((long) random.nextInt(1000)); InternalTaskData taskData = (InternalTaskData) task.getTaskData(); taskData.setOutputAccessType(AccessType.Inline); taskData.setFaultAccessType(AccessType.Unknown); Assertions.assertThat(xmlTask).isEqualToComparingFieldByFieldRecursively(bornAgainTask); assertNotNull(((InternalTask) xmlTask).getFormName()); assertEquals(((InternalTask) xmlTask).getFormName(), ((InternalTask) bornAgainTask).getFormName());
((InternalOrganizationalEntity) cuser).setId(userId); taskData.setCreatedBy(cuser); task.setTaskData(taskData); InternalPeopleAssignments peopleAssignments = (InternalPeopleAssignments) task.getPeopleAssignments(); if (peopleAssignments == null) { peopleAssignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); peopleAssignments.setRecipients(new ArrayList<OrganizationalEntity>()); peopleAssignments.setTaskStakeholders(new ArrayList<OrganizationalEntity>()); task.setPeopleAssignments(peopleAssignments);
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()); }
public void handlePeopleAssignments(WorkItem workItem, InternalTask task, InternalTaskData taskData) { InternalPeopleAssignments peopleAssignments = getNullSafePeopleAssignments(task); assignActors(workItem, peopleAssignments, taskData); assignGroups(workItem, peopleAssignments); assignBusinessAdministrators(workItem, peopleAssignments); assignTaskStakeholders(workItem, peopleAssignments); assignExcludedOwners(workItem, peopleAssignments); assignRecipients(workItem, peopleAssignments); task.setPeopleAssignments(peopleAssignments); } @SuppressWarnings("unchecked")
task.setId(TASK_ID); task.setTaskData(new TaskDataImpl()); doReturn(task).when(userTaskServiceMock).getTask(TASK_ID); ((InternalTaskData) task.getTaskData()).setDeploymentId(null); ((InternalTaskData) task.getTaskData()).setDeploymentId(DEPLOYMENT_ID);
public void initialize(Task task) { if( task == null ) { return; } this.id = task.getId(); this.priority = task.getPriority(); this.version = task.getVersion(); this.archived = task.isArchived(); this.subTasksStrategy = ((InternalTask) task).getSubTaskStrategy(); this.peopleAssignments = new JaxbPeopleAssignments(task.getPeopleAssignments()); this.names = convertListFromInterfaceToJaxbImpl(task.getNames(), I18NText.class, JaxbI18NText.class); this.name = ((InternalTask)task).getName(); this.subjects = convertListFromInterfaceToJaxbImpl(task.getSubjects(), I18NText.class, JaxbI18NText.class); this.subject = ((InternalTask)task).getSubject(); this.descriptions = convertListFromInterfaceToJaxbImpl(task.getDescriptions(), I18NText.class, JaxbI18NText.class); this.description = ((InternalTask)task).getDescription(); this.taskType = task.getTaskType(); this.formName = ((InternalTask)task).getFormName(); this.taskData = new JaxbTaskData(task.getTaskData()); }
List<OrganizationalEntity> potentialOwners = task.getPeopleAssignments().getPotentialOwners(); assertEquals(1, potentialOwners.size()); assertEquals(actorId, potentialOwners.get(0).getId()); List<OrganizationalEntity> businessAdministrators = task.getPeopleAssignments().getBusinessAdministrators(); assertEquals(4, businessAdministrators.size()); assertEquals("Administrator", businessAdministrators.get(0).getId()); List<OrganizationalEntity> taskStakehoders = ((InternalPeopleAssignments) task.getPeopleAssignments()).getTaskStakeholders(); assertEquals(1, taskStakehoders.size()); assertEquals(taskStakeholderId, taskStakehoders.get(0).getId()); List<OrganizationalEntity> excludedOwners = ((InternalPeopleAssignments) task.getPeopleAssignments()).getExcludedOwners(); assertEquals(1, excludedOwners.size()); assertEquals(excludedOwnerId, excludedOwners.get(0).getId()); List<OrganizationalEntity> recipients = ((InternalPeopleAssignments) task.getPeopleAssignments()).getRecipients(); assertEquals(1, recipients.size()); assertEquals(recipientId, recipients.get(0).getId());
Map<String, Object> inputVars = new HashMap<String, Object>(); inputVars.put("NotCompletedReassign", "[users:Tony Stark,Bobba Fet,Jabba Hutt|groups:]@[2s]"); ((InternalTask) task).setDeadlines(HumanTaskHandlerHelper.setDeadlines(inputVars, Collections.emptyList(), environment)); addCountDownListner(countDownListener); long taskId = task.getId(); assertThat(task.getTaskData().getActualOwner().getId()).isEqualTo(owner); assertThat(task.getTaskData().getActualOwner()).as("Task was not reclaimed").isNull();
public void setTaskNames(long taskId, List<I18NText> inputTaskNames) { Task task = persistenceContext.findTask(taskId); taskEventSupport.fireBeforeTaskUpdated(task, context); List<I18NText> taskNames = new ArrayList<I18NText>(inputTaskNames.size()); for( I18NText inputText : inputTaskNames ) { I18NText text = TaskModelProvider.getFactory().newI18NText(); ((InternalI18NText) text).setLanguage(inputText.getLanguage()); ((InternalI18NText) text).setText(inputText.getText()); taskNames.add(text); } ((InternalTask) task).setNames(taskNames); ((InternalTask) task).setName(taskNames.get(0).getText()); taskEventSupport.fireAfterTaskUpdated(task, context); }
private void setTaskName(InternalTask task, String name) { List<I18NText> names = new ArrayList<I18NText>(); I18NText text = TaskModelProvider.getFactory().newI18NText(); ((InternalI18NText) text).setLanguage("en-UK"); ((InternalI18NText) text).setText(name); names.add(text); task.setNames(names); List<I18NText> subjects = new ArrayList<I18NText>(); text = TaskModelProvider.getFactory().newI18NText(); ((InternalI18NText) text).setLanguage("en-UK"); ((InternalI18NText) text).setText(name); subjects.add(text); task.setSubjects(subjects); }
if (task == null || task.getDeadlines() == null) { return null; if (task.getDeadlines().getStartDeadlines() != null) { deadlineService.unschedule(taskId, DeadlineType.START); it = task.getDeadlines().getStartDeadlines().iterator(); while (it.hasNext()) { if (task.getDeadlines().getEndDeadlines() != null) { deadlineService.unschedule(taskId, DeadlineType.END); it = task.getDeadlines().getEndDeadlines().iterator(); while (it.hasNext()) { persistenceContext.removeDeadline(it.next());
((InternalI18NText) text).setText(taskName); names.add(text); ((InternalTask)task).setNames(names);
private void postInit(Object result) { if (result instanceof Task) { Task task = (Task) result; if (task != null && !eagerDisabled) { task.getNames().size(); task.getDescriptions().size(); task.getSubjects().size(); task.getPeopleAssignments().getBusinessAdministrators().size(); task.getPeopleAssignments().getPotentialOwners().size(); ((InternalPeopleAssignments) task.getPeopleAssignments()).getRecipients().size(); ((InternalPeopleAssignments) task.getPeopleAssignments()).getExcludedOwners().size(); ((InternalPeopleAssignments) task.getPeopleAssignments()).getTaskStakeholders().size(); task.getTaskData().getAttachments().size(); task.getTaskData().getComments().size(); ((InternalTask)task).getDeadlines().getStartDeadlines().size(); ((InternalTask)task).getDeadlines().getEndDeadlines().size(); if (((InternalTask)task).getDelegation() != null) { ((InternalTask)task).getDelegation().getDelegates().size(); } } } else if (result instanceof Collection<?>) { ((Collection<?>) result).size(); } }