@Override public List<TaskInfo> getEndedTasksInfo() { List<TaskInfo> tasksInfo = getTasksInfo(); List<TaskInfo> endedTasks = new ArrayList<>(); for (TaskInfo taskInfo : tasksInfo) { if (taskInfo.isEnded()) { endedTasks.add(taskInfo); } } return endedTasks; }
@Override public boolean hasOpenTasks() { return getTasksInfo().size() != getEndedTasksInfo().size(); }
@Override public List<TaskInfo> getProcessedTasksInfo() { List<TaskInfo> tasksInfo = getTasksInfo(); List<TaskInfo> processedTasks = new ArrayList<>(); for (TaskInfo taskInfo : tasksInfo) { if (taskInfo.isEnded() && taskInfo.getStatus() != null) { processedTasks.add(taskInfo); } } return processedTasks; }
@Override public void addTaskInfo(String taskId) { getTasksInfo().add(new TaskInfo(this, taskId)); saveDocument(); }
@Override public void cancelTasks() { CoreSession session = getSession(); List<TaskInfo> tasks = getTasksInfo(); for (TaskInfo task : tasks) { if (!task.isEnded()) { cancelTask(session, task.getTaskDocId()); } } }
nodeVariables.put("button", button); nodeVariables.put("numberOfProcessedTasks", getProcessedTasksInfo().size()); nodeVariables.put("numberOfTasks", getTasksInfo().size()); nodeVariables.put("tasks", new TasksInfoWrapper(getTasksInfo())); context.put("NodeVariables", (Serializable) nodeVariables); context.put("nodeId", getId());
@Override public void updateTaskInfo(String taskId, boolean ended, String status, String actor, String comment) { boolean updated = false; List<TaskInfo> tasksInfo = getTasksInfo(); for (TaskInfo taskInfo : tasksInfo) { if (taskId.equals(taskInfo.getTaskDocId())) { taskInfo.setComment(comment); taskInfo.setStatus(status); taskInfo.setActor(actor); taskInfo.setEnded(true); updated = true; } } // handle backward compatibility if (!updated) { // task created before 5.7.3; TaskInfo ti = new TaskInfo(this, taskId); ti.setActor(actor); ti.setStatus(status); ti.setComment(comment); ti.setEnded(true); getTasksInfo().add(ti); } saveDocument(); }