protected static ActivityInstance getActivity(final ActivityInstanceUUID activityUUID) throws ActivityNotFoundException { final InternalActivityInstance activityInstance = EnvTool.getJournalQueriers().getActivityInstance(activityUUID); if (activityInstance == null) { throw new ActivityNotFoundException("bai_RAPII_19", activityUUID); } return activityInstance; }
LOG.severe("Process instance " + processDefinition.getUUID() + " not found."); } catch (final ActivityNotFoundException e) { LOG.severe("Unable to start an execution of activity. Activity " + e.getActivityId() + " not found.");
public Map<String, Object> getActivityInstanceVariables(ProcessInstanceUUID instanceUUID, String activityId, String iterationId, String activityInstanceId) throws ActivityNotFoundException, InstanceNotFoundException { final ActivityInstance<ActivityBody> activityInst = getActivityInstance(instanceUUID, activityId, iterationId, activityInstanceId); if (activityInst == null) { throw new ActivityNotFoundException(instanceUUID, activityId); } return activityInst.getLastKnownVariableValues(); }
public Set<ActivityInstance<ActivityBody>> getActivityInstances(ProcessInstanceUUID instanceUUID, String activityId) throws ActivityNotFoundException { final Set<ActivityInstance<ActivityBody>> result = new HashSet<ActivityInstance<ActivityBody>>(); for (ActivityInstance<ActivityBody> record : EnvTool.getAllQueriers().getActivityInstances(instanceUUID)) { if (record.getActivityId().equals(activityId)) { result.add(new ActivityInstanceImpl<ActivityBody>(record)); } } if (result.isEmpty()) { throw new ActivityNotFoundException(instanceUUID, activityId); } return result; }
@Override public Set<ActivityInstance> getActivityInstances(final ProcessInstanceUUID instanceUUID, final String activityId) throws ActivityNotFoundException { final Set<ActivityInstance> result = new HashSet<ActivityInstance>(); for (final ActivityInstance record : EnvTool.getAllQueriers(getQueryList()).getActivityInstances(instanceUUID)) { if (record.getActivityName().equals(activityId)) { result.add(new ActivityInstanceImpl(record)); } } if (result.isEmpty()) { throw new ActivityNotFoundException("bai_QRAPII_4", instanceUUID, activityId); } return result; }
@Override public Set<LightActivityInstance> getLightActivityInstances(final ProcessInstanceUUID instanceUUID, final String activityName) throws InstanceNotFoundException, ActivityNotFoundException { final Set<LightActivityInstance> result = new HashSet<LightActivityInstance>(); final Set<InternalActivityInstance> activities = EnvTool.getAllQueriers(getQueryList()).getActivityInstances( instanceUUID); for (final InternalActivityInstance record : activities) { if (record.getActivityName().equals(activityName)) { result.add(new LightActivityInstanceImpl(record)); } } if (result.isEmpty()) { throw new ActivityNotFoundException("bai_QRAPII_4", instanceUUID, activityName); } return result; }
@Override public Map<String, Object> getActivityInstanceVariables(final ActivityInstanceUUID activityUUID) throws ActivityNotFoundException { final Map<String, Object> variables = new HashMap<String, Object>(); final Map<String, Object> transientVariables = TransientData.getActivityTransientVariables(activityUUID); if (transientVariables != null) { variables.putAll(transientVariables); } final ActivityInstance activity = EnvTool.getAllQueriers().getActivityInstance(activityUUID); if (activity == null) { throw new ActivityNotFoundException("bai_QRAPII_11", activityUUID); } final Map<String, Object> lastKnownVariables = activity.getLastKnownVariableValues(); if (lastKnownVariables != null) { variables.putAll(lastKnownVariables); } return variables; }
public Map<String, Object> getActivityInstanceVariables(final ProcessInstanceUUID instanceUUID, final String activityId, final String iterationId, final String activityInstanceId, final String loopId) throws ActivityNotFoundException, InstanceNotFoundException { final ActivityInstance activityInst = EnvTool.getAllQueriers().getActivityInstance(instanceUUID, activityId, iterationId, activityInstanceId, loopId); if (activityInst == null) { throw new ActivityNotFoundException("bai_QRAPII_6", instanceUUID, activityId); } return activityInst.getLastKnownVariableValues(); }
public ActivityInstance<ActivityBody> getActivityInstance( ActivityInstanceUUID activityUUID) throws ActivityNotFoundException { ActivityInstance<ActivityBody> activity = EnvTool.getAllQueriers().getActivityInstance(activityUUID); if (activity == null) { throw new ActivityNotFoundException(activityUUID); } return new ActivityInstanceImpl<ActivityBody>(activity); }
@Override public void updateActivityExpectedEndDate(final ActivityInstanceUUID activityUUID, final Date expectedEndDate) throws ActivityNotFoundException { final InternalActivityInstance activity = EnvTool.getAllQueriers(getQueryList()).getActivityInstance(activityUUID); if (activity == null) { throw new ActivityNotFoundException("bai_QRAPII_11", activityUUID); } activity.setExpectedEndDate(expectedEndDate); }
@Override public void setActivityInstancePriority(final ActivityInstanceUUID activityInstanceUUID, final int priority) throws ActivityNotFoundException { final ActivityInstance activity = EnvTool.getJournalQueriers().getActivityInstance(activityInstanceUUID); if (activity == null) { throw new ActivityNotFoundException("bai_RAPII_22", activityInstanceUUID); } final ProcessInstanceUUID instanceUUID = activity.getProcessInstanceUUID(); final Execution execution = EnvTool.getJournalQueriers().getExecutionOnActivity(instanceUUID, activityInstanceUUID); if (execution == null) { throw new ActivityNotFoundException("bai_RAPII_23", activityInstanceUUID); } final Recorder recorder = EnvTool.getRecorder(); recorder.recordActivityPriorityUpdated(activityInstanceUUID, priority); }
@Override public ActivityInstance getActivityInstance(final ActivityInstanceUUID activityUUID) throws ActivityNotFoundException { final ActivityInstance activity = EnvTool.getAllQueriers(getQueryList()).getActivityInstance(activityUUID); if (activity == null) { throw new ActivityNotFoundException("bai_QRAPII_11", activityUUID); } return new ActivityInstanceImpl(activity); }
@Override public LightActivityInstance getLightActivityInstance(final ActivityInstanceUUID activityInstanceUUID) throws ActivityNotFoundException { final ActivityInstance activityInstance = EnvTool.getAllQueriers(getQueryList()).getActivityInstance( activityInstanceUUID); if (activityInstance == null) { throw new ActivityNotFoundException("bai_QRAPII_11", activityInstanceUUID); } return new LightActivityInstanceImpl(activityInstance); }
public Map<String, Object> getVariables(ActivityInstanceUUID activityUUID) throws ActivityNotFoundException { ActivityFullInstance<ActivityBody> activity = EnvTool.getAllQueriers().getActivityInstance(activityUUID); if (activity == null) { throw new ActivityNotFoundException(activityUUID); } try { Map<String, Object> allVariables = new HashMap<String, Object>(); Map<String, Object> localVariables = activity.getLastKnownVariableValues(); Map<String, Object> globalVariables = getProcessInstanceVariables(activity.getProcessInstanceUUID()); //add global first because if some variables are in both local and global //we want to keep local value allVariables.putAll(globalVariables); allVariables.putAll(localVariables); return allVariables; } catch (InstanceNotFoundException e) { // If activity exists, the process instance must exist too. Misc.unreachableStatement(); return null; } } }
@Override public Map<String, Object> getVariables(final ActivityInstanceUUID activityUUID) throws ActivityNotFoundException { final ActivityInstance activity = EnvTool.getAllQueriers(getQueryList()).getActivityInstance(activityUUID); if (activity == null) { throw new ActivityNotFoundException("bai_QRAPII_14", activityUUID); } final Date maxDate = getMaxDate(activity); try { final Map<String, Object> allVariables = new HashMap<String, Object>(); final Map<String, Object> localVariables = activity.getLastKnownVariableValues(); final Map<String, Object> globalVariables = getProcessInstanceVariables(activity.getProcessInstanceUUID(), maxDate); // add global first because if some variables are in both local and global // we want to keep local value allVariables.putAll(globalVariables); allVariables.putAll(localVariables); return allVariables; } catch (final InstanceNotFoundException e) { // If activity exists, the process instance must exist too. Misc.unreachableStatement(); return null; } }
@Override public Object getActivityInstanceVariable(final ActivityInstanceUUID activityUUID, final String variableId) throws ActivityNotFoundException, VariableNotFoundException { // search in transient variables final Map<String, Object> transientVariables = TransientData.getActivityTransientVariables(activityUUID); if (transientVariables != null && transientVariables.containsKey(variableId)) { return transientVariables.get(variableId); } // search in the database persisted variables final String variableName = Misc.getVariableName(variableId); final String xpath = Misc.getXPath(variableId); final ActivityInstance activity = EnvTool.getAllQueriers().getActivityInstance(activityUUID); if (activity == null) { throw new ActivityNotFoundException("bai_QRAPII_11", activityUUID); } final Map<String, Object> variableValues = activity.getLastKnownVariableValues(); if (!variableValues.containsKey(variableName)) { throw new VariableNotFoundException("bai_QRAPII_12", activityUUID, variableName); } final Object value = activity.getLastKnownVariableValues().get(variableName); if (xpath != null && xpath.length() > 0) { try { return evaluateXPath(xpath, (org.w3c.dom.Document) value); } catch (final Exception ex) { throw new VariableNotFoundException("bai_QRAPII_16", activityUUID, variableName); } } else { return value; } }
@Override public Boolean execute(final Environment env) throws Exception { final InternalActivityInstance activityInstance = EnvTool.getJournalQueriers().getActivityInstance(myActivityUUID); if (activityInstance == null) { throw new ActivityNotFoundException("R1", myActivityUUID); } if (activityInstance.getState() == ActivityState.EXECUTING) { // Set activityInstance state to READY activityInstance.setActivityState(ActivityState.READY, BonitaConstants.SYSTEM_USER); // Skip the activity Instance ActivityManager.skip(myActivityUUID, null); return true; } return false; }
public ActivityDefinition getProcessActivity(ProcessDefinitionUUID processUUID, String activityId) throws ProcessNotFoundException, ActivityNotFoundException { FacadeUtil.checkArgsNotNull(processUUID, activityId); ProcessFullDefinition process = EnvTool.getAllQueriers().getProcess(processUUID); if (process == null) { throw new ProcessNotFoundException(processUUID); } Set<ActivityDefinition> activities = process.getActivities(); if (activities != null) { for (ActivityDefinition activityDefinition : activities) { if (activityDefinition.getActivityId().equals(activityId)) { return new ActivityDefinitionImpl(activityDefinition); } } } throw new ActivityNotFoundException(processUUID, activityId); }
public ActivityInstance<ActivityBody> getActivityInstance(ProcessInstanceUUID instanceUUID, String activityId, String iterationId, String activityInstanceId) throws ActivityNotFoundException, InstanceNotFoundException { final ActivityInstance<ActivityBody> result = EnvTool.getAllQueriers().getActivityInstance(instanceUUID, activityId, iterationId, activityInstanceId); if (result == null) { if (EnvTool.getAllQueriers().getProcessInstance(instanceUUID) == null) { throw new InstanceNotFoundException(instanceUUID); } throw new ActivityNotFoundException(instanceUUID, activityId, iterationId); } return new ActivityInstanceImpl<ActivityBody>(result); }
@Override public void addComment(final ActivityInstanceUUID activityUUID, final String message, final String userId) throws ActivityNotFoundException, InstanceNotFoundException { final ActivityInstance activity = EnvTool.getJournalQueriers().getActivityInstance(activityUUID); if (activity == null) { throw new ActivityNotFoundException("bai_RAPII_28", activityUUID); } final CommentImpl comment = new CommentImpl(userId, message, activityUUID, activity.getProcessInstanceUUID()); addComment(comment, activity.getProcessInstanceUUID()); }