private ProcessDefinitionUUID getProcessDefinitionUUID(final ActivityInstance activity, final ProcessInstance processInstance) { ProcessDefinitionUUID processDefUUID = null; if (processInstance != null) { processDefUUID = processInstance.getProcessDefinitionUUID(); } else { processDefUUID = activity.getProcessDefinitionUUID(); } return processDefUUID; }
@Override public void executeConnectorAndSetVariables(final String connectorClassName, final Map<String, Object[]> parameters, final ActivityInstance activityInstance, final Map<String, Object> context) throws Exception { final ProcessDefinitionUUID processDefinitionUUID = activityInstance.getProcessDefinitionUUID(); final Connector connector = (Connector) EnvTool.getClassDataLoader().getInstance(processDefinitionUUID, connectorClassName); if (connector instanceof Mapper) { throw new IllegalAccessException(connectorClassName + " is a instance of RoleResolver or Filter"); } ConnectorExecutor.executeConnector(connector, parameters, activityInstance.getProcessInstanceUUID(), activityInstance, context); }
@Override public Map<String, Object> executeConnector(final String connectorClassName, final Map<String, Object[]> parameters, final ActivityInstanceUUID activityInstanceUUID, final Map<String, Object> context, final boolean useCurrentVariableValues) throws Exception { final ActivityInstance activity = EnvTool.getJournalQueriers().getActivityInstance(activityInstanceUUID); return this.executeConnector(connectorClassName, parameters, activity.getProcessDefinitionUUID(), null, activityInstanceUUID, null, context, useCurrentVariableValues); }
public static Object evaluate(final String expression, final Map<String, Object> context, final ActivityInstanceUUID activityUUID, final boolean useActivityScope, final boolean propagate) throws GroovyException { final ActivityInstance activity = EnvTool.getAllQueriers().getActivityInstance(activityUUID); final ProcessInstanceUUID processInstanceUUID = activity.getProcessInstanceUUID(); final ProcessDefinitionUUID processDefinitionUUID = activity.getProcessDefinitionUUID(); return evaluate(expression, context, processDefinitionUUID, activityUUID, processInstanceUUID, useActivityScope, false, propagate, null); }
@Override public void recordActivityVariableUpdated(final String variableId, final Object variableValue, final ActivityInstanceUUID activityUUID, final String userId) { Misc.checkArgsNotNull(variableId, activityUUID, userId); final ActivityInstance activityInst = getActivityInstance(activityUUID); final Variable v = VariableUtil.createVariable(activityInst.getProcessDefinitionUUID(), variableId, variableValue); final VariablesOptions variablesOptions = EnvTool.getVariablesOptions(); if (variablesOptions.isStoreHistory()) { final VariableUpdate varUpdate = new InternalVariableUpdate(new Date(), userId, variableId, v); ((InternalActivityInstance) activityInst).addVariableUpdate(varUpdate); ((InternalActivityInstance) activityInst).updateLastUpdateDate(); } else { ((InternalActivityInstance) activityInst).setVariableValue(variableId, v); } }
try { final ClassLoader processClassLoader = EnvTool.getClassDataLoader().getProcessClassLoader( activityInstance.getProcessDefinitionUUID()); Thread.currentThread().setContextClassLoader(processClassLoader); Map<String, Object[]> inputs = new HashMap<String, Object[]>(); filter.setApiAccessor(new StandardAPIAccessorImpl()); filter.setMembers(candidates); filter.setProcessDefinitionUUID(activityInstance.getProcessDefinitionUUID()); filter.setProcessInstanceUUID(activityInstance.getProcessInstanceUUID()); if (!inputs.isEmpty()) {
private void processSetVariableMethods(final Object[] args) throws IOException, ClassNotFoundException, ActivityDefNotFoundException, ProcessNotFoundException, DataFieldNotFoundException { ProcessDefinitionUUID processUUID = null; ActivityInstance activity = null; if (args[0] instanceof ActivityInstanceUUID) { final ActivityInstanceUUID activityUUID = (ActivityInstanceUUID) args[0]; activity = EnvTool.getAllQueriers().getActivityInstance(activityUUID); processUUID = activity.getProcessDefinitionUUID(); } else if (args[0] instanceof ProcessInstanceUUID) { final ProcessInstanceUUID instanceUUID = (ProcessInstanceUUID) args[0]; final ProcessInstance instance = EnvTool.getAllQueriers().getProcessInstance(instanceUUID); processUUID = instance.getProcessDefinitionUUID(); } if (args[2] instanceof RESTObject) { args[2] = getObjectFromRESTObject((RESTObject) args[2], processUUID); } else if (args[2] instanceof String) { final String variableValue = (String) args[2]; // can be a String representation of a Java object if (variableValue.startsWith("<")) { final String variableName = (String) args[1]; final DataFieldDefinition dataField = getDataFieldDefinition(processUUID, activity, variableName); if (!dataField.getDataTypeClassName().equals(String.class.getName())) { args[2] = getObjectFromXML(variableValue, processUUID); } } } }
public InternalActivityInstance(final ActivityInstance src) { super(src); setVariables(VariableUtil.createVariableMap(src.getProcessDefinitionUUID(), src.getVariablesBeforeStarted())); variableUpdates = null; for (final VariableUpdate varUpdate : src.getVariableUpdates()) { final Serializable value = varUpdate.getValue(); addVariableUpdate(new InternalVariableUpdate(varUpdate.getDate(), varUpdate.getUserId(), varUpdate.getName(), VariableUtil.createVariable(src.getProcessDefinitionUUID(), varUpdate.getName(), value))); } }
useActivityScope = !useCurrentVariableValues; activityInstanceUUID = activityInstance.getUUID(); parentProcessDefinitionUUID = activityInstance.getProcessDefinitionUUID(); parentProcessInstanceUUID = activityInstance.getProcessInstanceUUID(); } else if (processDefinitionUUID != null) {
pUUID = activity.getProcessDefinitionUUID();
final ActivityInstance activity = EnvTool.getJournalQueriers().getActivityInstance(activityUUID); final ProcessInstanceUUID instanceUUID = activity.getProcessInstanceUUID(); final ProcessDefinitionUUID definitionUUID = activity.getProcessDefinitionUUID();