private static Map<String, Object> getProcessVariables(final Map<String, Object[]> outputs, final Object connector, final ProcessDefinitionUUID processDefinitionUUID) throws BonitaException { final Map<String, Object> newVariableValues = new HashMap<String, Object>(); if (connector instanceof Connector) { final Map<String, Object> values = getGetterValues((Connector) connector); for (final Entry<String, Object[]> output : outputs.entrySet()) { final String expression = (String) output.getValue()[0]; final String variableName = output.getKey(); final Object variableValue = GroovyUtil.evaluate(expression, values, processDefinitionUUID, false); final Object newValue = convertIfPossible(variableValue, getDataTypeClassName(variableName, processDefinitionUUID)); newVariableValues.put(variableName, newValue); } } return newVariableValues; }
public static Map<String, Object> executeConnector(final Connector connector, final Map<String, Object[]> parameters) throws Exception { final Binding binding = getBinding(null, null, null, null, true); setParameters(binding, formatParameters(parameters), connector); connector.execute(); return getGetterValues(connector); }
throws BonitaException { if (connector instanceof Connector) { final Map<String, Object> values = getGetterValues((Connector) connector);
public static Map<String, Object> executeConnector(final Connector connector, final ProcessDefinitionUUID processUUID, final ProcessInstanceUUID instanceUUID, final ActivityInstanceUUID activityInstanceUUID, final Map<String, Object[]> parameters, final Map<String, Object> extraParameters, final boolean useCurrentVariableValue) throws Exception { final Map<String, Object[]> inputs = formatParameters(parameters); if (connector instanceof ProcessConnector) { ((ProcessConnector) connector).setApiAccessor(new StandardAPIAccessorImpl()); ((ProcessConnector) connector).setActivityInstanceUUID(activityInstanceUUID); ((ProcessConnector) connector).setProcessInstanceUUID(instanceUUID); ((ProcessConnector) connector).setProcessDefinitionUUID(processUUID); } final Binding binding = getBinding(extraParameters, processUUID, activityInstanceUUID, instanceUUID, useCurrentVariableValue); setParameters(binding, inputs, connector); connector.execute(); return getGetterValues(connector); }