cancel
Showing results for 
Search instead for 
Did you mean: 

FormProperty value populated in 5.14, not in 5.16.4

cold_gin
Champ in-the-making
Champ in-the-making
We recently upgraded from Activiti 5.14 to 5.16.4. In version 5.14, formProperty tags from the BPMN of one of our extended tasks (extended via "extensionElements") had it's corresponding org.activiti.engine.form.TaskFormData object formProperty value attributes populated correctly when our FormEngine class had it's TaskFormData object injected by Activiti during workflow execution [ injected during the renderTaskForm(TaskFormData taskForm) method ]. However, in version 5.16.4, our formProperty values on the same object are no longer being populated inside of the TaskFormData.getFormProperties() list for the same workflow execution. For additional clarity, the FormProperty objects that correspond to the formProperty tags below are present within the TaskFormData.getFormProperties() list, but each of their FormProperty getValue() attributes are null. The same value attributes for the same workflow contained the correct values during v5.14 workflow execution.

Now in debug, I found that the following attributes in v5.16.4 of the TaskFormData object (i.e. "taskForm" below) *DO* contain the values that we used to get inside of the taskForm.formProperties list:


taskForm.task.taskDefinition.taskFormHandler.formPropertyHandlers.variableExpression.node.child.value
taskForm.task.taskDefinition.taskFormHandler.formPropertyHandlers.defaultExpression.valueExpression.node.child.value


(both sets of formPropertyHandlers sub-attributes above have the values "jaz" and "sbLog1" in formPropertyHandlers[0] and formPropertyHandlers[1], respectively)

but when viewing the following in debug:


taskForm.formProperties.value


the value attributes are null for the same corresponding "sbLog" and "sbLogId" formProperty elements that are present in the list.

Can anybody give some insight as to why the formProperty object's value attribute mapping is no longer taking place since the upgrade? I am providing the relevant BPMN. In the BPMN that you see below, we used to see the values specified in "default=${…}" being populated correctly within the value attributes of the TaskFormData.getFormProperties() list elements in v5.14. Now the same value attributes are null in v5.16.4 (but do show up the taskForm.task.taskDefinition.taskFormHandler sub-attributes noted above):


    <userTask id="sid value from activiti is populated correctly here" name="sb log task" activiti:candidateUsers="sbuser" activiti:formKey="sbLogTaskFormKey">
      <extensionElements>
        <activiti:formProperty id="sbLog" name="sbLog" type="sbString" variable="sbLog" default="${'jaz'}" writable="false" required="true">
          <activiti:value id="description" name="sb log"/>
          <activiti:value id="isVisible" name="true"/>
        </activiti:formProperty>
        <activiti:formProperty id="sbLogId" name="sbLogId" type="sbString" variable="sbLogId" default="${'sbLog1'}" writable="false" required="true">
          <activiti:value id="description" name="sb log id"/>
          <activiti:value id="isVisible" name="true"/>
        </activiti:formProperty>

      </extensionElements>
    </userTask>


Thank you in advance for any insights.
2 REPLIES 2

trademak
Star Contributor
Star Contributor
Could you create a unit test showing this issue?

Thanks,

cold_gin
Champ in-the-making
Champ in-the-making
After researching, we found that a custom BPMN parse handler which was added after upgrading to v5.16 was the culprit. Sorry for any confusion.

Thanks