I think this may be a known issue due to library differences within Spin.
I’m seeing this odd cast exception:
Caused by: java.lang.ClassCastException: com.fasterxml.jackson.databind.node.ArrayNode cannot be cast to com.fasterxml.jackson.databind.node.ArrayNode
Causing the error
if(processVariableValue.getClass().getSimpleName().equalsIgnoreCase("JacksonJsonNode")) {
if( ((Spin)processVariableValue).unwrap().getClass().getSimpleName().equalsIgnoreCase("ArrayNode")) {
LOGGER.info("*** Found ArrayNode");
ArrayNode arrayNode = (ArrayNode) ((Spin)processVariableValue).unwrap(); <<< fails here
processVariablesNode.set("foo", arrayNode);
}
//JsonNode jsonNode = (JsonNode) ((Spin)processVariableValue).unwrap();
//JsonNode jsonNode = mapper.readTree(processVariableValue.toString());
//processVariablesNode.set(processVariableName.toString(), jsonNode);
} else {
processVariablesNode.put(processVariableName.toString(), processVariableValue.toString());
}
minor workaround - but wanted to verify
JsonNode jsonNode = mapper.readTree(processVariableValue.toString());
processVariablesNode.set(processVariableName.toString(), jsonNode);