Skip to content

Correlations are unnecessarily restrictive #1033

@S-Tim

Description

@S-Tim

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Prio: ShouldThis feature should be implemented.Type: breakingThis is a breaking change. Take care while migrating.Type: enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions