I would like to understand why there is a difference in datatypes for the objects created in dmn process vs bpm process
In my workflow process, our system calls bpmn process, inside the bpmn process, its calling a dmn process to do some validations
In DMN file
if the validations are not successful then I am constructing output object and use this output object and map decision result object in bpmn file
In BPMN file
Like wise, I am doing other validations in bpmn file, if the validations are not successful I am constructing new error object (error1) in bpmn file
when control leaves from camunda engine to Java API (service layer), below is the code in service layer
VariableMap variables = response.getVariables();
Object objErrors = variables.get("errors"); // objErrors is instance of ArrayList
Object objErrors1 = variables.get("errors1"); // objErrors1 is instance of ScriptObjectMirror
why I am seeing different datatypes?
why variables.get(“errors”); is an instance of ArrayList, this is created as an outcome dmn validation
why variables.get(“errors1”); is an instance of ScriptObjectMirror, this is created in bpmn process
As a reference I am attaching both bpmn file and dmn file for reference
SampleInputValidation.dmn (2.9 KB) SampleProcess.bpmn (7.9 KB)