Skip to content

[FEAT] CasePathResolver: handle "forward lonely edge" from an exclusive gateway targeting a BPMN Activity #175

@tbouffard

Description

@tbouffard

DISCLAIMER:

  • this issue describes path computation for a single instance/case only. So the implementation will go to the CasePathResolver class as it differs from PathResolver which is a generic implementation that both deals with single instance or all instances of a process.
  • this issue only deals when the following element of the exclusive gateway linked with a lonely edge is a BPMN Activity

Is your feature request related to a problem? Please describe.

Sometimes, there is an gateway with a branch without element (edge only).
When detecting path of

  • a single instance, only detect the "lonely edge" as "activated" when not passing through the other branches.
  • several instance, the "lonely edge" can be activated if never passing through the other branches. Otherwise, we can only assume that this edge is a candidate ([FEAT] CasePathResolver: categorize the elements returned in the inferred path #24). We would need a frequency information to be able to decide.

This is another use case closed to #10.

Note: this use case doesn't apply to parallel gateways (we don't want to support non conformant model)

BPMN diagrams showing the use case

BPMN diagram: model_01_without-explicit-exclusive-gateways.bpmn.txt

original diagram path detection
model_01_01_raw model_01_02_path

The equivalent BPMN diagram with explicit exclusive gateway is shown below. This use case should be handled by #10
BPMN diagram: model_02_with-explicit-exclusive-gateways.bpmn.txt

model_02_01_raw

Describe the solution you'd like

Handle the case when it is obvious.

Questions

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions