First of all, thanks for this great framework!In my project I'm switching from Activit 5.11 to 5.14. I'm using a bpmn serviceTask like this:
<serviceTask id="dicomsort"
name="dicomsort"
activiti:delegateExpression="${dicomSortIOActivity}">
<extensionElements>
<miriam:extension>
<miriam:configuration name="dataConsumesTag" value="manualCategorization" />
<miriam:configuration name="dataConsumesCategory" value="${category}" />
<miriam:configuration name="dataProducesTag" value="dicomsort_${loopCounter}" />
<miriam:configuration name="dataProducesCategory" value="${category}" />
</miriam:extension>
</extensionElements>
<multiInstanceLoopCharacteristics isSequential="true"
activiti:collection="${collection}"
activiti:elementVariable="category" >
</multiInstanceLoopCharacteristics>
</serviceTask>
The "miriam:extension" block ist used to configure some custom parameters for serviceTasks. To have a generic approach those parameters are parsed using a BpmnParseHandler implementation during parse time and resolved with an ExecutionListener on the START event during execution. If I'm NOT using a MultiInstanceLoop everything works quite well and also JUEL expressions are resolved as it should … But… when I'm using a MultiInstanceLoop (like the code above) the loop variables (in this case "category" and "loopCounter") cannot be resolved during execution using the ExecutionListener. It complains about:org.activiti.engine.ActivitiException: Unknown property used in expression: ${category}Since version 5.11 I was using the multi instance variables in activiti:field variables (without the "miriam:extension" block) , which was working good. But since the change to the BpmnParseHandler interface I needed to refactor my code to use the getExtensionElements() call to retrieve the custom configuration block because the activiti:field fields cannot be read using the getExtensionElements() call.So is it possible that the Multi Instance variables cannot be retrieved using an ExecutionListener?