Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 363347 - BPMN generated for boundary events
Summary: BPMN generated for boundary events
Status: CLOSED WONTFIX
Alias: None
Product: BPMN2Modeler
Classification: SOA
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 0.0.1-M1   Edit
Assignee: tsurdilo surdilovic CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-09 11:16 EST by tsurdilo surdilovic CLA
Modified: 2012-03-29 12:59 EDT (History)
1 user (show)

See Also:


Attachments
sample process image (21.92 KB, image/png)
2011-11-09 11:16 EST, tsurdilo surdilovic CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description tsurdilo surdilovic CLA 2011-11-09 11:16:27 EST
Created attachment 206711 [details]
sample process image

Example BPMN generated by Eclipse editor for a simple process containing a boundary event (see attached image for process image):
****************************************************************
<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:tns="http://www.jboss.org/drools" id="Definitions_1" name="Definitions 1">
  <bpmn2:process id="Process_1" tns:version="1" tns:packageName="" name="Default Process">
    <bpmn2:extensionElements>
      <tns:global identifier="" type=""/>
    </bpmn2:extensionElements>
    <bpmn2:extensionElements>
      <tns:import name=""/>
    </bpmn2:extensionElements>
    <bpmn2:startEvent id="StartEvent_1" name="Start Event">
      <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
    </bpmn2:startEvent>
    <bpmn2:endEvent id="EndEvent_1" name="End Event">
      <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
      <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
    </bpmn2:endEvent>
    <bpmn2:sequenceFlow id="SequenceFlow_2" tns:priority="1" name="" sourceRef="StartEvent_1" targetRef="Task_1"/>
    <bpmn2:task id="Task_1" tns:taskName="" tns:displayName="" tns:icon="" name="Task Name">
      <bpmn2:extensionElements>
        <tns:onEntry-script scriptFormat="">
          <tns:script></tns:script>
        </tns:onEntry-script>
      </bpmn2:extensionElements>
      <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
    </bpmn2:task>
    <bpmn2:sequenceFlow id="SequenceFlow_3" tns:priority="1" name="" sourceRef="Task_1" targetRef="EndEvent_1"/>
    <bpmn2:boundaryEvent id="BoundaryEvent_1" name="Boundary event" attachedToRef="Task_1">
      <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
      <bpmn2:timerEventDefinition id="TimerEventDefinition_1"/>
    </bpmn2:boundaryEvent>
    <bpmn2:sequenceFlow id="SequenceFlow_4" tns:priority="1" name="" sourceRef="BoundaryEvent_1" targetRef="EndEvent_1"/>
  </bpmn2:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1" name="Default Process Diagram">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
      <bpmndi:BPMNShape id="BPMNShape_1" bpmnElement="StartEvent_1">
        <dc:Bounds height="36.0" width="36.0" x="100.0" y="100.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="BPMNShape_2" bpmnElement="EndEvent_1">
        <dc:Bounds height="36.0" width="36.0" x="500.0" y="100.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="BPMNShape_Task_1" bpmnElement="Task_1">
        <dc:Bounds height="50.0" width="110.0" x="250.0" y="93.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="BPMNShape_BoundaryEvent_1" bpmnElement="BoundaryEvent_1">
        <dc:Bounds height="36.0" width="36.0" x="302.0" y="125.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="BPMNShape_1" targetElement="BPMNShape_Task_1">
        <di:waypoint xsi:type="dc:Point" x="136.0" y="118.0"/>
        <di:waypoint xsi:type="dc:Point" x="250.0" y="118.0"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="BPMNShape_Task_1" targetElement="BPMNShape_2">
        <di:waypoint xsi:type="dc:Point" x="360.0" y="118.0"/>
        <di:waypoint xsi:type="dc:Point" x="500.0" y="118.0"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="BPMNShape_BoundaryEvent_1" targetElement="BPMNShape_2">
        <di:waypoint xsi:type="dc:Point" x="320.0" y="161.0"/>
        <di:waypoint xsi:type="dc:Point" x="338.0" y="213.0"/>
        <di:waypoint xsi:type="dc:Point" x="500.0" y="213.0"/>
        <di:waypoint xsi:type="dc:Point" x="518.0" y="136.0"/>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn2:definitions>
****************************************************************

When is missing in the bpmndi is the point where the boundary event is docked. In order to fix, for each boundary event add an Edge to the bpmndi info, for example in the sample bpmn you would add:

<bpmndi:BPMNEdge id="BPMNEdge_BoundaryEvent_1" bpmnElement="BoundaryEvent_1">
        <di:waypoint xsi:type="dc:Point" x="53.0" y="49.0"/>
      </bpmndi:BPMNEdge>
Comment 1 tsurdilo surdilovic CLA 2011-11-09 11:31:12 EST
Forgot to mention, this x,y point of the edge is relative to the x/y position of the shape of the objects boundary event is docked on..so 0,0 is the top-left corner of the parent shape.
Hope this helps.
Comment 2 Robert Brodt CLA 2012-03-07 08:25:07 EST
I can't find where this is described in the BPMN 2.0 specification - is this a jBPM Web Designer requirement?

The x/y coordinates (relative to the BPMNPlane) of the boundary event are already contained in the related BPMNShape element, why do you need an additional set of coordinates to locate the figure relative to the attached activity?
Comment 3 Robert Brodt CLA 2012-03-29 12:59:20 EDT
Not BPMN 2.0 spec compliant.