AnsweredAssumed Answered

<bpmndi:BPMNShape> Is Missing for participant and lane element in xml when trying to create pool and lane from java source

Question asked by vkhan59 on May 15, 2017
Latest reply on May 16, 2017 by gdharley

Here is the code snippet I am writing to generate simple .bpmn file

 

public void testDynamicDeploy() throws Exception {

      BpmnModel model = new BpmnModel();

      Process process = new Process();

      model.addProcess(process);

      process.setId("process");

      process.addFlowElement(createStartEvent());

      process.addFlowElement(createUserTask("task1", "First task", "fred"));

      process.addFlowElement(createUserTask("task2", "Second task", "john"));

      process.addFlowElement(createEndEvent());

 

      process.addFlowElement(createSequenceFlow("start", "task1"));

      process.addFlowElement(createSequenceFlow("task1", "task2"));

      process.addFlowElement(createSequenceFlow("task2", "end"));

   

      

      Pool newPool = ActivitiElements.createPool("LMS", "LMS1");

      newPool.setProcessRef(process.getId());

 

   Lane lane = ActivitiElements.createLane("Booking1", "Booking");

    lane.getFlowReferences().add("start");

    lane.getFlowReferences().add("task1");

    lane.getFlowReferences().add("task3");

    lane.getFlowReferences().add("end");

    lane.setParentProcess(process);

 

     process.getLanes().add(lane);

    model.getPools().add(newPool);

   

   new BpmnAutoLayout(model).execute();

   

   byte[] xml = new BpmnXMLConverter().convertToXML(model);

   FileUtils.writeByteArrayToFile(targetFile, xml);

}

The Output file contents are: 

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
<collaboration id="Collaboration">
<participant id="LMS" name="LMS1" processRef="process"></participant>
</collaboration>
<process id="process" isExecutable="true">
<laneSet id="laneSet_process">
<lane id="Booking1" name="Booking">
<flowNodeRef>start</flowNodeRef>
<flowNodeRef>task1</flowNodeRef>
<flowNodeRef>task3</flowNodeRef>
<flowNodeRef>end</flowNodeRef>
</lane>
</laneSet>
<startEvent id="start"></startEvent>
<userTask id="task1" name="First task" activiti:assignee="fred"></userTask>
<userTask id="task2" name="Second task" activiti:assignee="john"></userTask>
<endEvent id="end"></endEvent>
<sequenceFlow id="sequenceFlow-4a461f4a-832b-4e7b-b7dd-cfed3465bfc4" sourceRef="start" targetRef="task1"></sequenceFlow>
<sequenceFlow id="sequenceFlow-6b1d6c76-bdc9-421e-befe-ca86eb6c347e" sourceRef="task1" targetRef="task2"></sequenceFlow>
<sequenceFlow id="sequenceFlow-fbcaae10-830b-4e47-a824-96743644c2ab" sourceRef="task2" targetRef="end"></sequenceFlow>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_Collaboration">
<bpmndi:BPMNPlane bpmnElement="Collaboration" id="BPMNPlane_Collaboration">
<bpmndi:BPMNShape bpmnElement="start" id="BPMNShape_start">
<omgdc:Bounds height="30.0" width="30.0" x="0.0" y="15.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="end" id="BPMNShape_end">
<omgdc:Bounds height="30.0" width="30.0" x="380.0" y="15.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="task1" id="BPMNShape_task1">
<omgdc:Bounds height="60.0" width="100.0" x="80.0" y="0.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="task2" id="BPMNShape_task2">
<omgdc:Bounds height="60.0" width="100.0" x="230.0" y="0.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow-6b1d6c76-bdc9-421e-befe-ca86eb6c347e" id="BPMNEdge_sequenceFlow-6b1d6c76-bdc9-421e-befe-ca86eb6c347e">
<omgdi:waypoint x="180.0" y="30.0"></omgdi:waypoint>
<omgdi:waypoint x="192.0" y="30.0"></omgdi:waypoint>
<omgdi:waypoint x="192.0" y="30.000000000000007"></omgdi:waypoint>
<omgdi:waypoint x="230.0" y="30.000000000000007"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow-fbcaae10-830b-4e47-a824-96743644c2ab" id="BPMNEdge_sequenceFlow-fbcaae10-830b-4e47-a824-96743644c2ab">
<omgdi:waypoint x="330.0" y="30.0"></omgdi:waypoint>
<omgdi:waypoint x="342.0" y="30.0"></omgdi:waypoint>
<omgdi:waypoint x="342.0" y="30.000000000000004"></omgdi:waypoint>
<omgdi:waypoint x="380.0" y="30.000000000000004"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sequenceFlow-4a461f4a-832b-4e7b-b7dd-cfed3465bfc4" id="BPMNEdge_sequenceFlow-4a461f4a-832b-4e7b-b7dd-cfed3465bfc4">
<omgdi:waypoint x="30.0" y="30.0"></omgdi:waypoint>
<omgdi:waypoint x="42.0" y="30.0"></omgdi:waypoint>
<omgdi:waypoint x="42.0" y="30.000000000000007"></omgdi:waypoint>
<omgdi:waypoint x="80.0" y="30.000000000000007"></omgdi:waypoint>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>

 

If you notice the above generated file missing <bpmndi:BPMNShape> element for 

<participant id="LMS" name="LMS1" processRef="process"></participant>

And 

<lane id="Booking1" name="Booking">

I checked model.getLocationMap() it contains all FlowElement GraphicInfo But  participant and lane 

 

Please help to solve this issue

Many thanks

Outcomes