public static Binding getPropagateBinding(final Map<String, Object> allVariables, final ProcessDefinitionUUID processUUID, final ProcessInstanceUUID instanceUUID, final ActivityInstanceUUID activityInstanceUUID, final Map<String, Object> context) throws IOException, ClassNotFoundException, GroovyException, InstanceNotFoundException, ActivityNotFoundException { ActivityDefinitionUUID activityUUID = null; if (activityInstanceUUID != null) { final ActivityInstance activityInstance = EnvTool.getAllQueriers().getActivityInstance(activityInstanceUUID); activityUUID = activityInstance.getActivityDefinitionUUID(); } final Set<String> initialVariables = new HashSet<String>(); initialVariables.addAll(allVariables.keySet()); if (context != null) { initialVariables.removeAll(context.keySet()); } return new PropagateBinding(processUUID, activityUUID, instanceUUID, activityInstanceUUID, allVariables, initialVariables); }
public static Binding getPropagateBinding(final ProcessDefinitionUUID processUUID, final ProcessInstanceUUID instanceUUID, final ActivityInstanceUUID activityInstanceUUID, final Map<String, Object> context, final boolean useActivityScope, final boolean useInitialVariableValues) throws IOException, ClassNotFoundException, GroovyException, InstanceNotFoundException, ActivityNotFoundException { final Map<String, Object> allVariables = getContext(context, processUUID, activityInstanceUUID, instanceUUID, useActivityScope, useInitialVariableValues); ActivityDefinitionUUID activityUUID = null; if (activityInstanceUUID != null) { final ActivityInstance activityInstance = EnvTool.getAllQueriers().getActivityInstance(activityInstanceUUID); activityUUID = activityInstance.getActivityDefinitionUUID(); } final Set<String> initialVariables = new HashSet<String>(); initialVariables.addAll(allVariables.keySet()); if (context != null) { initialVariables.removeAll(context.keySet()); } return new PropagateBinding(processUUID, activityUUID, instanceUUID, activityInstanceUUID, allVariables, initialVariables); }
private DataFieldDefinition getDataFieldDefinition(final ProcessDefinitionUUID processUUID, final ActivityInstance activity, final String variableName) throws ActivityDefNotFoundException, ProcessNotFoundException, DataFieldNotFoundException { final APIAccessor apiAccessor = new StandardAPIAccessorImpl(); final QueryDefinitionAPI queryDefinitionAPI = apiAccessor.getQueryDefinitionAPI(); DataFieldDefinition dataField = null; if (activity != null) { try { dataField = queryDefinitionAPI.getActivityDataField(activity.getActivityDefinitionUUID(), variableName); } catch (final DataFieldNotFoundException e) { // it's a global variable dataField = queryDefinitionAPI.getProcessDataField(processUUID, variableName); } } else { dataField = queryDefinitionAPI.getProcessDataField(processUUID, variableName); } return dataField; }
String targetVariable = variableId; final String dataTypeClassName = getDataTypeClassName(variableId, variableValue, activity.getActivityDefinitionUUID()); if (variableId.contains(BonitaConstants.XPATH_VAR_SEPARATOR)) { try {
private static String getDataTypeClassName(String variableName, final ProcessInstanceUUID instanceUUID, final ActivityInstanceUUID activityUUID) { if (isXPathVariableReference(variableName)) { return String.class.getName(); } variableName = Misc.getVariableName(variableName); final StandardQueryAPIAccessorImpl accessor = new StandardQueryAPIAccessorImpl(); final QueryDefinitionAPI queryDefinitionAPI = accessor.getQueryDefinitionAPI(AccessorUtil.QUERYLIST_JOURNAL_KEY); if (activityUUID != null) { try { final ActivityInstance activity = EnvTool.getJournalQueriers().getActivityInstance(activityUUID); return getActivityDataTypeClassName(queryDefinitionAPI, activity.getActivityDefinitionUUID(), variableName); } catch (final Exception e) { final ProcessInstance instance = EnvTool.getJournalQueriers().getProcessInstance(instanceUUID); return getProcessDataTypeClassName(queryDefinitionAPI, instance.getProcessDefinitionUUID(), variableName); } } else { final ProcessInstance instance = EnvTool.getJournalQueriers().getProcessInstance(instanceUUID); return getProcessDataTypeClassName(queryDefinitionAPI, instance.getProcessDefinitionUUID(), variableName); } }
parentActivityUUID); final ActivityDefinition parentActivityDefinition = EnvTool.getJournalQueriers().getActivity( parentActivity.getActivityDefinitionUUID()); final String parentEventName = ActivityUtil.getErrorEventName(parentActivityDefinition, errorCode); final Execution parentExecution = EnvTool.getJournal().getExecutionOnActivity(
expectedEndDate = Misc.getTime(src.getExpectedEndDate()); readyDate = Misc.getTime(src.getReadyDate()); activityDefinitionUUID = new ActivityDefinitionUUID(src.getActivityDefinitionUUID()); if (src.getSubflowProcessInstanceUUID() != null) { subflowProcessInstanceUUID = new ProcessInstanceUUID(src.getSubflowProcessInstanceUUID());
expectedEndDate = Misc.getTime(src.getExpectedEndDate()); readyDate = Misc.getTime(src.getReadyDate()); activityDefinitionUUID = new ActivityDefinitionUUID(src.getActivityDefinitionUUID()); if (src.getSubflowProcessInstanceUUID() != null) { subflowProcessInstanceUUID = new ProcessInstanceUUID(src.getSubflowProcessInstanceUUID());