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;
}