[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mdt-bpmn2.dev] Question about BPMNPlanes

Hi Bob,
as mentioned Planes can't be children of shapes.
You could consult the official samples at http://www.omg.org/spec/BPMN/2.0/examples/ZIP/ to see how it is intended to be done. I tested all of them and they load successfully.
 E.g http://www.omg.org/spec/BPMN/2.0/examples/ZIP/Diagram%20Interchange/Examples%20-%20DI%20-%20Lanes%20and%20Nested%20Lanes.bpmn uses a single plane and all lanes/shapes as siblings. I don't currently remember under which circumstances multiple planes are recommended. 

Regards,
 Reiner.

Am 22.08.2012 um 19:15 schrieb "Bob Brodt" <bbrodt@xxxxxxxxxx>:

As a follow-on test, I also tried this:

    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="process_3">

      ...

      <bpmndi:BPMNShape id="BPMNShape_Lane_1" bpmnElement="Lane_1" isHorizontal="true">
        <dc:Bounds height="100.0" width="600.0" x="140.0" y="252.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNPlane id="BPMNPlane_BPMNShape_Lane_1">
        <bpmndi:BPMNShape id="BPMNShape_Task_1" bpmnElement="Task_1">
          <dc:Bounds height="50.0" width="110.0" x="380.0" y="278.0"/>
        </bpmndi:BPMNShape>
      </
bpmndi:BPMNPlane>

(a BPMNPlane as a sibling of the Lane shape) which does not work, but this does work:

      <bpmndi:BPMNShape id="BPMNShape_Lane_1" bpmnElement="Lane_1" isHorizontal="true">
        <dc:Bounds height="100.0" width="600.0" x="140.0" y="252.0"/>
      </bpmndi:BPMNShape>
      <di:DiagramElement xsi:type="bpmndi:BPMNPlane" id="BPMNPlane_BPMNShape_Lane_1">
        <bpmndi:BPMNShape id="BPMNShape_Task_1" bpmnElement="Task_1">
          <dc:Bounds height="50.0" width="110.0" x="380.0" y="278.0"/>
        </bpmndi:BPMNShape>
      </
di:DiagramElement>

I then tried using the xsi:type element in the original like so:

      <bpmndi:BPMNShape id="BPMNShape_Lane_1" bpmnElement="Lane_1" isHorizontal="true">
        <dc:Bounds height="100.0" width="600.0" x="140.0" y="252.0"/>
        <di:DiagramElement xsi:type="bpmndi:BPMNPlane" id="BPMNPlane_BPMNShape_Lane_1">
          <bpmndi:BPMNShape id="BPMNShape_Task_1" bpmnElement="Task_1">
            <dc:Bounds height="50.0" width="110.0" x="380.0" y="278.0"/>
          </bpmndi:BPMNShape>
        </
di:DiagramElement>
      </bpmndi:BPMNShape>

and this also did not work.


Hi Reiner, thanks for the quick reply! I have posted another observation on the eclipse forum about this problem, see here:

http://www.eclipse.org/forums/index.php/m/903216/#msg_903216

The complete BPMN2 doc is included here:

<?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" id="Definitions_1" targetNamespace="http://sample.bpmn2.org/bpmn2/sample/process">
  <bpmn2:process id="process_3" name="Default Process">
    <bpmn2:laneSet id="LaneSet_1" name="Lane Set 1">
      <bpmn2:lane id="Lane_1" name="Lane 1">
        <bpmn2:flowNodeRef>StartEvent_1</bpmn2:flowNodeRef>
        <bpmn2:flowNodeRef>EndEvent_1</bpmn2:flowNodeRef>
        <bpmn2:flowNodeRef>Task_1</bpmn2:flowNodeRef>
      </bpmn2:lane>
    </bpmn2:laneSet>
    <bpmn2:startEvent id="StartEvent_1">
      <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
    </bpmn2:startEvent>
    <bpmn2:endEvent id="EndEvent_1">
      <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
    </bpmn2:endEvent>
    <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="StartEvent_1" targetRef="Task_1"/>
    <bpmn2:task id="Task_1" name="Task 1">
      <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
    </bpmn2:task>
    <bpmn2:sequenceFlow id="SequenceFlow_1" sourceRef="Task_1" targetRef="EndEvent_1"/>
  </bpmn2:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1" name="Default Process Diagram">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="process_3">
      <bpmndi:BPMNShape id="BPMNShape_1" bpmnElement="StartEvent_1">
        <dc:Bounds height="36.0" width="36.0" x="190.0" y="285.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="BPMNShape_2" bpmnElement="EndEvent_1">
        <dc:Bounds height="36.0" width="36.0" x="640.0" y="285.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="BPMNShape_Task_1" targetElement="BPMNShape_2">
        <di:waypoint xsi:type="dc:Point" x="490.0" y="303.0"/>
        <di:waypoint xsi:type="dc:Point" x="640.0" y="303.0"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="BPMNShape_Lane_1" bpmnElement="Lane_1" isHorizontal="true">
        <dc:Bounds height="100.0" width="600.0" x="140.0" y="252.0"/>
        <bpmndi:BPMNPlane>
          <bpmndi:BPMNShape id="BPMNShape_Task_1" bpmnElement="Task_1">
            <dc:Bounds height="50.0" width="110.0" x="380.0" y="278.0"/>
          </bpmndi:BPMNShape>
        </bpmndi:BPMNPlane>
      </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="226.0" y="303.0"/>
        <di:waypoint xsi:type="dc:Point" x="380.0" y="303.0"/>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn2:definitions>

This is simply a Process with a single Lane, Start/End events and a Task; the Task should be contained in BPMNPlane which is a child of the Lane's BPMNShape.
The whole thing looks like this:

<1345654858910>

Thanks again for your help!
Bob



Hi Bob,
 yes, this is allowed and I have several examples that worked.
 Could you please provide the full sample?
 
 Thanks,
  Reiner.
 
 
 -----Original Message-----
 From: mdt-bpmn2.dev-bounces@xxxxxxxxxxx
 [mailto:mdt-bpmn2.dev-bounces@xxxxxxxxxxx] On Behalf Of Bob Brodt
 Sent: Mittwoch, 22. August 2012 16:25
 To: BPMN2 Developers Mailing List
 Subject: [mdt-bpmn2.dev] Question about BPMNPlanes
 
 Hi all,
 
 I'm not sure I understand the relationship of BPMNPlane elements to
 other DI model elements. It seems to me that you should be able to
 have containment of a BPMNPlane in a BPMNShape, something like this:
 
   <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:BPMNPlane>
           <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:BPMNPlane>
        
       </bpmndi:BPMNShape>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
 
 
 When I try this, the XML parser tells me that "Feature 'BPMNPlane'
 not found." What am I missing here? Is this even allowed?
 
 Thanks!
 ________________________
 Robert ("Bob") Brodt
 Senior Software Engineer
 JBoss by Red Hat
 
 _______________________________________________
 mdt-bpmn2.dev mailing list
 mdt-bpmn2.dev@xxxxxxxxxxx
 https://dev.eclipse.org/mailman/listinfo/mdt-bpmn2.dev
 _______________________________________________
 mdt-bpmn2.dev mailing list
 mdt-bpmn2.dev@xxxxxxxxxxx
 https://dev.eclipse.org/mailman/listinfo/mdt-bpmn2.dev
 


_______________________________________________
mdt-bpmn2.dev mailing list
mdt-bpmn2.dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/mdt-bpmn2.dev

_______________________________________________
mdt-bpmn2.dev mailing list
mdt-bpmn2.dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/mdt-bpmn2.dev