use of org.jbpm.kie.services.impl.admin.commands.ScheduleTaskDeadlineCommand in project jbpm by kiegroup.
the class UserTaskAdminServiceImpl method notify.
protected Long notify(String deploymentId, long taskId, String timeExpression, DeadlineType type, Notification notification) throws TaskNotFoundException {
UserTaskInstanceDesc task = runtimeDataService.getTaskById(taskId);
validateTask(deploymentId, taskId, task);
List<Escalation> escalations = new ArrayList<Escalation>();
Deadline taskDeadline = TaskModelProvider.getFactory().newDeadline();
taskDeadline.setEscalations(escalations);
Escalation escalation = TaskModelProvider.getFactory().newEscalation();
escalations.add(escalation);
escalation.setName("Admin notification for task " + taskId);
List<Notification> notifications = new ArrayList<Notification>();
notifications.add(notification);
escalation.setNotifications(notifications);
return userTaskService.execute(task.getDeploymentId(), ProcessInstanceIdContext.get(task.getProcessInstanceId()), new ScheduleTaskDeadlineCommand(identityProvider.getName(), taskId, type, taskDeadline, timeExpression));
}
use of org.jbpm.kie.services.impl.admin.commands.ScheduleTaskDeadlineCommand in project jbpm by kiegroup.
the class UserTaskAdminServiceImpl method reassign.
protected Long reassign(String deploymentId, long taskId, String timeExpression, DeadlineType type, OrganizationalEntity... orgEntities) throws TaskNotFoundException {
UserTaskInstanceDesc task = runtimeDataService.getTaskById(taskId);
validateTask(deploymentId, taskId, task);
if (timeExpression == null || timeExpression.isEmpty()) {
throw new IllegalArgumentException("Invalid time expression");
}
if (orgEntities == null || orgEntities.length <= 0) {
throw new IllegalArgumentException("Invalid org entity");
}
List<Escalation> escalations = new ArrayList<Escalation>();
Deadline taskDeadline = TaskModelProvider.getFactory().newDeadline();
taskDeadline.setEscalations(escalations);
Escalation escalation = TaskModelProvider.getFactory().newEscalation();
escalations.add(escalation);
escalation.setName("Admin reassignment for task " + taskId);
List<Reassignment> reassignments = new ArrayList<Reassignment>();
Reassignment reassignment = TaskModelProvider.getFactory().newReassignment();
reassignment.setPotentialOwners(new ArrayList<>(Arrays.asList(orgEntities)));
reassignments.add(reassignment);
escalation.setReassignments(reassignments);
return userTaskService.execute(task.getDeploymentId(), ProcessInstanceIdContext.get(task.getProcessInstanceId()), new ScheduleTaskDeadlineCommand(identityProvider.getName(), taskId, type, taskDeadline, timeExpression));
}
Aggregations