public static void assign(final ActivityInstanceUUID taskUUID, final Set<String> candidates) throws TaskNotFoundException { final TaskInstance task = getTask(taskUUID); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Assigning: " + task); } // record the assign assign(task, candidates, null); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Assigned: " + task); } }
public static void assign(final ActivityInstanceUUID taskUUID, final String userId) throws TaskNotFoundException { final TaskInstance task = getTask(taskUUID); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Assigning: " + task + " to " + userId); } // record the assign assign(task, null, userId); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Assigned: " + task + " to " + userId); } }
public static void unAssign(final ActivityInstanceUUID taskUUID) throws TaskNotFoundException { final TaskInstance task = getTask(taskUUID); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Unassigning: " + task); } // record the assign assign(task, task.getTaskCandidates(), null); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Unassigned: " + task); } }
public static void skip(final ActivityInstanceUUID taskUUID, final Map<String, Object> variablesToUpdate) throws TaskNotFoundException, IllegalTaskStateException { final TaskInstance task = getTask(taskUUID); final Execution internalExecution = getExecution(taskUUID); ActivityManager.skip(internalExecution, task, variablesToUpdate); }
protected static Execution getExecution(final ActivityInstanceUUID taskUUID) throws TaskNotFoundException { final TaskInstance task = getTask(taskUUID); return EnvTool.getJournalQueriers().getExecutionOnActivity(task.getProcessInstanceUUID(), taskUUID); }
public static void assign(final ActivityInstanceUUID taskUUID) throws TaskNotFoundException { final TaskInstance task = getTask(taskUUID); final ProcessDefinitionUUID processUUID = task.getProcessDefinitionUUID(); final ActivityDefinition activityDefinition = getActivityDefinition(processUUID, task.getActivityName()); // execute role resolvers and filters final Set<Performer> performers = getPerformers(activityDefinition); Set<String> candidates = getCandidates(performers, task); String userId = null; final Performer performer = performers.iterator().next(); if (performer.getFilterDefinition() != null) { candidates = executeFilter(task, candidates, performer); if (candidates.size() == 1) { userId = candidates.iterator().next(); } } if (LOG.isLoggable(Level.FINE)) { LOG.fine("Assigning: " + task); } // record the assign if (userId != null) { assign(task, null, userId); } else { assign(task, candidates, null); } if (LOG.isLoggable(Level.FINE)) { LOG.fine("Assigned: " + task); } }
public static void resume(final ActivityInstanceUUID taskUUID, final boolean taskAssign) throws IllegalTaskStateException, TaskNotFoundException { final TaskInstance task = getTask(taskUUID);
public static void ready(final Execution internalExecution) throws TaskNotFoundException { final ActivityInstanceUUID taskUUID = new ActivityInstanceUUID(internalExecution.getActivityInstanceUUID() .toString()); final InternalActivityDefinition activityDef = internalExecution.getNode(); final TaskInstance task = getTask(taskUUID); final String activityName = task.getActivityName(); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Ready task : " + taskUUID + " on activity " + activityName); } // get performer (aka participant/swimlane) final Set<Performer> performers = getPerformers(activityDef); String userId = null; Set<String> candidates = null; if (performers != null) { candidates = getCandidates(performers, task); final Performer performer = performers.iterator().next(); if (performer.getFilterDefinition() != null) { candidates = executeFilter(task, candidates, performer); if (candidates.size() == 1) { userId = candidates.iterator().next(); } } } if (userId != null) { EnvTool.getRecorder().recordTaskReady(taskUUID, null, userId); } else { EnvTool.getRecorder().recordTaskReady(taskUUID, candidates, null); } ConnectorExecutor.executeConnectors(activityDef, internalExecution, HookDefinition.Event.taskOnReady); }
public static void suspend(final ActivityInstanceUUID taskUUID, final boolean assignTask) throws TaskNotFoundException, IllegalTaskStateException { final TaskInstance task = getTask(taskUUID);
public static void start(final ActivityInstanceUUID taskUUID, final boolean assignTask) throws IllegalTaskStateException, TaskNotFoundException { final TaskInstance task = getTask(taskUUID); if (!ActivityState.ABORTED.equals(task.getState())) { if (LOG.isLoggable(Level.FINE)) {
public static void finish(final ActivityInstanceUUID taskUUID, final boolean assignTask) throws TaskNotFoundException, IllegalTaskStateException { final TaskInstance task = getTask(taskUUID); if (!ActivityState.ABORTED.equals(task.getState()) && !ActivityState.FAILED.equals(task.getState())) { if (LOG.isLoggable(Level.FINE)) {