-
Notifications
You must be signed in to change notification settings - Fork 24
Description
Scenario
- camunda-bpm-taskpool version: any
- Camunda BPM version: any
Current Behaviour
Currently correlations are represented as a CorrelationMap in the task and data entry events and domain models. This CorrelationMap is an alias for a VariableMap and represents pairs of EntryType to EntryId. Since this is a map, the key has to be unique, which makes it impossible to represent multiple correlations for the same EntryType even though this should be possible.
In the ProcessVariablesCorrelator it is the other way around. A ProcessVariableCorrelation for example, has global correlations as a map from EntryId or "Variable" to EntryType. This does not allow correlating the same variable to multiple entry types even though this should also be possible.
Apart from the mismatch of these two sides, using a map to represent the correlations is unnecessarily restrictive. Only the combination of EntryType and EntryId needs to be unique, so a Set of some data type that holds these two values would be good.
Wanted Behaviour
Correlations should be allowed for every unique tuple of EntryType and EntryId
Possible Workarounds
Since the correlations are overwritten with a task or data entry update it is also not possible to create these correlations using multiple events. So I don't think there is a workaround currently.