Community
Participate
Working Groups
The current behavior of the editor is to force the data type (structureRef) of DataInputs/Outputs and their references to be consistent. Thus, when the user changes the ItemSubjectRef of an event input parameter, for example, the ItemSubjectRef of the mapped ItemAwareElement (e.g. a "process variable" or DataObject) is also changed to the same type. Conversely, changing the ItemSubjectRef of a DataObject or Property, also changes the ItemSubjectRef of all Activity and Event DataInputs and DataOutputs that reference the DataObject or Property. Imagine a scenario where a process variable (e.g. "applicant") is defined as some arbitrary structure (e.g. "Person") and I then try to map that into an Activity's DataInput that has a data type of "Integer", this will likely cause a runtime Class Cast Exception. This type coercion is intended to prevent these kinds of errors. Data type consistency errors should probably be reported during validation, and this type coercion should be a configurable user preference in the BPMN2 Editor Behavior page to turn this feature on/off.