Details
-
Feature Request
-
Resolution: Won't Fix
-
L3 - Default
-
None
-
7.13.0
Description
When building a model using the Model API and using more than one start event, the resulting xml always places the start events in the same position, so they overlap (see attached image).
We are seeing this to be an issue in the context of end to end process generation in Optimize. We have explored resolving this on the frontend but overall positioning is not something the modeller supports.
Example of how we build the models:
private static BpmnModelInstance multipleStartSingleEndModel() { final ProcessBuilder processBuilder = Bpmn.createExecutableProcess(PROCESS_ID); final String gateway = "someGatewayId"; processBuilder .startEvent(START_EVENT_ID_1).message(START_EVENT_ID_1) .exclusiveGateway(gateway) .userTask(BPMN_INTERMEDIATE_EVENT_ID) .endEvent(END_EVENT_ID_1); processBuilder.startEvent(START_EVENT_ID_2).message(START_EVENT_ID_2) .connectTo(gateway); return processBuilder.done(); }
I don't know exactly the best way to resolve this and I think there will always be a risk in terms of overlaps. However, for this common use case it would be enough I think to increase the y value for subsequent start events added to the processBuilder if possible. As far as I know, x and y values cannot be changed in the Model API itself.