public void recordTaskReady(TaskRunTime task) { Misc.checkArgsNotNull(task); TaskUUID taskUUID = task.getUUID(); ActivityFullInstance< TaskInstance > activity = getTaskInstance(taskUUID); TaskFullInstance taskRecord = (TaskFullInstance) activity.getBody(); Misc.badStateIfNull(taskRecord, "Ouch! Can't find the TaskInstance for: " + task.getUUID()); taskRecord.setTaskAssign(task.getState(), "SYSTEM", task.getCandidates(), task.getUserId()); taskRecord.setTaskState(task.getState(), "SYSTEM"); }
public void addTask(TaskRunTime task) { tasks.put(task.getUUID(), task); if (task.getXpdlExecution() != null) { instances.put(task.getInstanceUUID(), task.getXpdlExecution().getXpdlInstance()); } removedTasks.remove(task.getUUID()); } public void removeTask(TaskRunTime task) {
executeRoleMapper(performer); } else { executePerformerAssign(performer); this.getUUID(), this.getUserId(), this.getCandidates(), this.getDueDate(), EngineEnvTool.getUserId(), this.getState()) );
protected TaskInstance getTask(XpdlExecution xpdlExecution, ActivityInstance<ActivityBody> activityInstance) { this.taskRuntime = new TaskRunTime(new TaskUUID(activityInstance.getUUID()), xpdlExecution.getNode().getName(), this, xpdlExecution); final TaskUUID taskUUID = taskRuntime.getUUID(); final TaskState state = taskRuntime.getState(); final Date createdDate = new Date(); final Date dueDate = taskRuntime.getDueDate(); return new TaskFullInstanceImpl(taskUUID, state, createdDate, dueDate, EnvTool.getUserId()); }
public void assignTask(TaskUUID taskUUID) throws TaskNotFoundException { FacadeUtil.checkArgsNotNull(taskUUID); Repository repository = EnvTool.getRepository(); TaskRunTime taskRunTime = repository.getTask(taskUUID); if (taskRunTime == null) { throw new TaskNotFoundException(taskUUID); } Performer performer = taskRunTime.getActivityDef().getPerformer(); //execute Role mapper and performerAssign if (performer.getRoleMapper() != null) { taskRunTime.resolve(performer); } if (LOG.isLoggable(Level.FINE)) { LOG.fine("Assigning: " + taskRunTime); } //record the assign taskRunTime.assign(taskRunTime.getCandidates(), taskRunTime.getUserId()); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Assigned: " + taskRunTime); } }
public void finishTask(TaskUUID taskUUID, boolean assignTask) throws TaskNotFoundException, IllegalTaskStateException { FacadeUtil.checkArgsNotNull(taskUUID); Repository repository = EnvTool.getRepository(); TaskRunTime taskRunTime = repository.getTask(taskUUID); if (taskRunTime == null) { throw new TaskNotFoundException(taskUUID); } if (LOG.isLoggable(Level.FINE)) { LOG.fine("Checking compatible state of " + taskRunTime); } if (!taskRunTime.getState().equals(TaskState.EXECUTING)) { Set<TaskState> expectedStates = new HashSet<TaskState>(); expectedStates.add(TaskState.EXECUTING); throw new IllegalTaskStateException("Can't finish task with processDefinitionUUID = ", taskRunTime.getUUID(), expectedStates, taskRunTime.getState()); } if (LOG.isLoggable(Level.FINE)) { LOG.fine("Terminating: " + taskRunTime); } taskRunTime.finish(EnvTool.getUserId(), assignTask); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Terminated: " + taskRunTime); } }
public void startTask(final TaskUUID taskUUID, boolean assignTask) throws TaskNotFoundException, IllegalTaskStateException { FacadeUtil.checkArgsNotNull(taskUUID); Repository repository = EnvTool.getRepository(); TaskRunTime taskRunTime = repository.getTask(taskUUID); if (taskRunTime == null) { throw new TaskNotFoundException(taskUUID); } if (LOG.isLoggable(Level.FINE)) { LOG.fine("Checking compatible state of " + taskRunTime); } if (!taskRunTime.getState().equals(TaskState.READY)) { Set<TaskState> expectedStates = new HashSet<TaskState>(); expectedStates.add(TaskState.READY); throw new IllegalTaskStateException("Can't start task with processDefinitionUUID = ", taskRunTime.getUUID(), expectedStates, taskRunTime.getState()); } if (LOG.isLoggable(Level.FINE)) { LOG.fine("Starting: " + taskRunTime); } taskRunTime.start(EnvTool.getUserId(), assignTask); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Started: " + taskRunTime); } }
public void suspendTask(final TaskUUID taskUUID, boolean assignTask) throws TaskNotFoundException, IllegalTaskStateException { FacadeUtil.checkArgsNotNull(taskUUID); Repository repository = EnvTool.getRepository(); TaskRunTime taskRunTime = repository.getTask(taskUUID); if (taskRunTime == null) { throw new TaskNotFoundException(taskUUID); } if (LOG.isLoggable(Level.FINE)) { LOG.fine("Checking compatible state of " + taskRunTime); } if (!(taskRunTime.getState().equals(TaskState.READY) || taskRunTime.getState().equals(TaskState.EXECUTING))) { Set<TaskState> expectedStates = new HashSet<TaskState>(); expectedStates.add(TaskState.READY); expectedStates.add(TaskState.EXECUTING); throw new IllegalTaskStateException("Can't suspend task with processDefinitionUUID = ", taskRunTime.getUUID(), expectedStates, taskRunTime.getState()); } String currentUserId = EnvTool.getUserId(); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Suspending: " + taskRunTime); } taskRunTime.suspend(currentUserId, assignTask); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Suspended: " + taskRunTime); } }
public void resumeTask(final TaskUUID taskUUID, boolean taskAssign) throws TaskNotFoundException, IllegalTaskStateException { FacadeUtil.checkArgsNotNull(taskUUID); Repository repository = EnvTool.getRepository(); TaskRunTime taskRunTime = repository.getTask(taskUUID); if (taskRunTime == null) { throw new TaskNotFoundException(taskUUID); } if (LOG.isLoggable(Level.FINE)) { LOG.fine("Checking compatible state of " + taskRunTime); } if (!taskRunTime.getState().equals(TaskState.SUSPENDED)) { Set<TaskState> expectedStates = new HashSet<TaskState>(); expectedStates.add(TaskState.SUSPENDED); throw new IllegalTaskStateException("Can't suspend task with processDefinitionUUID = ", taskRunTime.getUUID(), expectedStates, taskRunTime.getState()); } String currentUserId = EnvTool.getUserId(); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Resuming: " + taskRunTime); } taskRunTime.resume(currentUserId, taskAssign); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Resumed: " + taskRunTime); } }
public void recordTaskStarted(TaskRunTime task, final String userId) { Misc.checkArgsNotNull(task); TaskUUID taskUUID = task.getUUID(); ActivityFullInstance< TaskInstance > activity = getTaskInstance(taskUUID); TaskFullInstance taskRecord = (TaskFullInstance) activity.getBody(); Misc.badStateIfNull(taskRecord, "Ouch! Can't find the TaskInstance for: " + task.getUUID()); taskRecord.setStartedBy(userId); taskRecord.setTaskState(task.getState(), userId); //taskRecord.setUserId(userId); }
public void recordTaskStarted(TaskRunTime task, String userId) { if (LOG.isLoggable(level)) { LOG.log(level, "Task " + task.getUUID() + " started by " + userId); } } public void recordTaskResumed(TaskRunTime task, String userId) {
public void assignTask(TaskUUID taskUUID, java.util.Set<java.lang.String> candidates) throws TaskNotFoundException { FacadeUtil.checkArgsNotNull(taskUUID, candidates); Repository repository = EnvTool.getRepository(); TaskRunTime taskRunTime = repository.getTask(taskUUID); if (taskRunTime == null) { throw new TaskNotFoundException(taskUUID); } if (LOG.isLoggable(Level.FINE)) { LOG.fine("Assigning: " + taskRunTime); } //record the assign taskRunTime.assign(candidates, taskRunTime.getUserId()); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Assigned: " + taskRunTime); } }
public void assignTask(TaskUUID taskUUID, String userId) throws TaskNotFoundException { FacadeUtil.checkArgsNotNull(taskUUID, userId); Repository repository = EnvTool.getRepository(); TaskRunTime taskRunTime = repository.getTask(taskUUID); if (taskRunTime == null) { throw new TaskNotFoundException(taskUUID); } if (LOG.isLoggable(Level.FINE)) { LOG.fine("Assigning: " + taskRunTime + " to " + userId); } //record the assign taskRunTime.assign(taskRunTime.getCandidates(), userId); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Assigned: " + taskRunTime + " to " + userId); } }
public void recordTaskResumed(TaskRunTime taskRunTime, String userId) { Misc.checkArgsNotNull(taskRunTime); TaskFullInstance taskInst = getTask(taskRunTime); taskInst.setTaskState(taskRunTime.getState(), userId); //taskInst.setUserId(userIdBeforeSuspend); } public void recordTaskSuspended(final TaskRunTime taskRunTime, final String userId) {
public Set<TaskRunTime> getInstanceTasks(ProcessInstanceUUID instanceUUID) { Misc.checkArgsNotNull(instanceUUID); if (buffer.isInstanceRemoved(instanceUUID)) { return new HashSet<TaskRunTime>(); } Set<TaskRunTime> dbTasks = getRuntimeDbSession().getInstanceTasks(instanceUUID); for (TaskRunTime task : dbTasks) { if (!buffer.isTaskRemoved(task.getUUID())) { buffer.addTask(task); } } Set<TaskRunTime> result = new HashSet<TaskRunTime>(); for (TaskRunTime task : buffer.getTasks().values()) { if (task.getInstanceUUID().equals(instanceUUID)) { result.add(task); } } return result; }
protected void addTaskToRepository(TaskRunTime taskRunTime) { Repository repository = EnvTool.getRepository(); repository.addTask(taskRunTime); taskRunTime.ready(); }
protected TaskRunTime getTask(final XpdlExecution xpdlExecution) { return new TaskRunTime( new TaskUUID(xpdlExecution.getCurrentActivityInstanceUUID().toString()), xpdlExecution.getNode().getName(), this, xpdlExecution); }
final TaskRunTime taskToCancel = EngineEnvTool.getRepository().getTask(this); if (taskToCancel != null) { taskToCancel.cancel();
final TaskRunTime taskToAbort = EngineEnvTool.getRepository().getTask(this); if (taskToAbort != null) { taskToAbort.abort();