public Object getProcessInstanceVariable(ProcessInstanceUUID instanceUUID, String variableId) throws InstanceNotFoundException, VariableNotFoundException { final Map<String, Object> variables = getProcessInstanceVariables(instanceUUID); if (variables == null || !variables.containsKey(variableId)) { throw new VariableNotFoundException(instanceUUID, variableId); } return variables.get(variableId); }
@Override public Object getProcessInstanceVariable(final ProcessInstanceUUID instanceUUID, final String variableId) throws InstanceNotFoundException, VariableNotFoundException { final String variableName = Misc.getVariableName(variableId); final String xpath = Misc.getXPath(variableId); final Map<String, Object> variables = getProcessInstanceVariables(instanceUUID); if (variables == null || !variables.containsKey(variableName)) { throw new VariableNotFoundException("bai_QRAPII_10", instanceUUID, variableName); } final Object value = variables.get(variableName); if (xpath != null && xpath.length() > 0) { try { return evaluateXPath(xpath, (org.w3c.dom.Document) value); } catch (final Exception ex) { ex.printStackTrace(); throw new VariableNotFoundException("bai_QRAPII_17", instanceUUID, variableId); } } else { return value; } }
private Object getProcessInstanceVariable(final ProcessInstanceUUID instanceUUID, final String variableId, final Date maxDate) throws InstanceNotFoundException, VariableNotFoundException { final String variableName = Misc.getVariableName(variableId); final String xpath = Misc.getXPath(variableId); final Map<String, Object> variables = getProcessInstanceVariables(instanceUUID, maxDate); if (variables == null || !variables.containsKey(variableName)) { throw new VariableNotFoundException("bai_QRAPII_9", instanceUUID, variableName); } final Object value = variables.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_17", instanceUUID, variableName); } } else { return value; } }
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; } }