fix(engine): Distinguish new process instance from executions going from other executions from start node #4881
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Whet someone wants to implement it's own
DefaultAuthorizationProvider.newProcessInstance()
when new process instance is created, this method is called multiple times. Once for the process instance itself, but also for all executions (links) from the start event element defined in the process definition.Reason is that when execution is being created (process instance is also an execution) it is first sent to be stored into the storage and only later process instance specific fields are being assigned to the java object. One of the reason is that ID of the execution is generating during the storing of the execution.
So to be able to distinguish the process instance itself from other executions while creating the process instance following steps has been performed:
This way it ensures it is used only for the
Potentionally it is a question whether this new placeholder should be used also in
ExecutionManager.createDefaultAuthorizations()
to filter out other executions so thatDefaultAuthorizationProvider.newProcessInstance()
will be called really only for the process instance itself and not other executions...