AnsweredAssumed Answered

Could not open the editor: An exception was thrown ...

Question asked by mhw on Oct 28, 2011
Latest reply on Oct 28, 2011 by trademak
Hi,

I have a simple process with a wait node. If i open it with the ActivitiBMPN2Editor a ".activiti"-file is generated. If I open this with the org.activiti.designer.editor.multiPageEditor an exception is thown. This is extremly annoying. Why the editor cannot give me a chance to correct it?
Additionaly I wonder why a valid process is leading to generation of a wrong ".activiti"-file.
Is this a bug or am I missing something?
My process:
<?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: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="Examples">
   <process id="EXAMPLE_WAIT_NODE" name="EXAMPLE_WAIT_NODE">
      <startEvent id="id_1_Start" name="Start" />

      <sequenceFlow sourceRef="id_1_Start" targetRef="id_2_Dialog" />

      <serviceTask id="id_2_Dialog" name="Info Dialog"
         activiti:class="com.bigcompany.wfe.activiti.delegate.DialogDelegate">
         <extensionElements>
            <activiti:field name="interactions">
               <activiti:string>NOKEY_NoKey_TRUE_XXXXXXXXXX_Continue_Continue_TRUE</activiti:string>
            </activiti:field>
         </extensionElements>
      </serviceTask>

      <sequenceFlow targetRef="id_3_WAIT" sourceRef="id_2_Dialog">
         <conditionExpression>
            ${keyPressed == 'NOKEY'}
            </conditionExpression>
      </sequenceFlow>
      <sequenceFlow targetRef="id_4_End" sourceRef="id_2_Dialog">
         <conditionExpression>
            ${keyPressed == 'Continue'}
         </conditionExpression>
      </sequenceFlow>

      <intermediateCatchEvent id="id_3_WAIT">
         <timerEventDefinition>
            <timeDuration>PT1S</timeDuration>
         </timerEventDefinition>
      </intermediateCatchEvent>
      <sequenceFlow sourceRef="id_3_WAIT" targetRef="id_2_Dialog" />

      <endEvent id="id_4_End" />
   </process>
</definitions>
The exception:
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: org.eclipse.emf.ecore.xmi.UnresolvedReferenceException: Unresolved reference 'flow4'. (platform:/resource/wfe_activity/src/com/bigcompany/wfe/test/res/Example_Wait_Node.activiti, 152, 222)
   at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:315)
   at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:274)
   at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:397)
The generated ".activiti"-file:
<?xml version="1.0" encoding="ASCII"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL-XMI" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms">
  <pi:Diagram visible="true" gridUnit="10" diagramTypeId="BPMNdiagram" name="Example_Wait_Node" snapToGrid="true" showGuides="true" pictogramLinks="/0/@children.0/@link /0/@children.1/@link /0/@children.1/@children.0/@link /0/@children.2/@link /0/@connections.0/@link /0/@connections.1/@link">
    <graphicsAlgorithm xsi:type="al:Rectangle" background="/0/@colors.1" foreground="/0/@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
    <children xsi:type="pi:ContainerShape" visible="true" active="true">
      <graphicsAlgorithm xsi:type="al:Ellipse" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="35" height="35" x="30" y="200">
        <graphicsAlgorithmChildren xsi:type="al:Ellipse" lineWidth="1" transparency="0.0" width="35" height="35" style="/0/@styles.0"/>
      </graphicsAlgorithm>
      <link businessObjects="startevent1"/>
      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.0"/>
      <anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
        <graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
      </anchors>
    </children>
    <children xsi:type="pi:ContainerShape" visible="true" active="true">
      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="105" height="55" x="125" y="190">
        <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" lineWidth="1" transparency="0.0" width="105" height="55" style="/0/@styles.1" cornerHeight="20" cornerWidth="20"/>
      </graphicsAlgorithm>
      <link businessObjects="servicetask1"/>
      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="/0/@connections.1" incomingConnections="/0/@connections.0"/>
      <anchors xsi:type="pi:BoxRelativeAnchor" visible="true" active="true" referencedGraphicsAlgorithm="/0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0" relativeWidth="1.0" relativeHeight="0.51">
        <graphicsAlgorithm xsi:type="al:Ellipse" filled="false" lineVisible="false"/>
      </anchors>
      <children visible="true">
        <graphicsAlgorithm xsi:type="al:MultiText" lineWidth="1" transparency="0.0" width="105" height="30" y="20" style="/0/@styles.1" font="/0/@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Info Dialog"/>
        <link businessObjects="servicetask1"/>
      </children>
      <children visible="true">
        <graphicsAlgorithm xsi:type="al:Image" lineWidth="1" transparency="0.0" width="16" height="16" x="5" y="5" id="org.activiti.designer.servicetask" stretchH="false" stretchV="false" proportional="false"/>
      </children>
    </children>
    <children xsi:type="pi:ContainerShape" visible="true" active="true">
      <graphicsAlgorithm xsi:type="al:Ellipse" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="35" height="35" x="290" y="200">
        <graphicsAlgorithmChildren xsi:type="al:Ellipse" lineWidth="3" transparency="0.0" width="35" height="35" style="/0/@styles.0"/>
      </graphicsAlgorithm>
      <link businessObjects="endevent1"/>
      <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="/0/@connections.1"/>
    </children>
    <styles foreground="/0/@colors.2" lineWidth="20" id="EVENT">
      <renderingStyle>
        <adaptedGradientColoredAreas definedStyleId="bpmnEventStyle" gradientType="0">
          <adaptedGradientColoredAreas styleAdaption="0">
            <gradientColor>
              <start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
                <color red="250" green="251" blue="252"/>
              </start>
              <end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
                <color red="250" green="251" blue="252"/>
              </end>
            </gradientColor>
          </adaptedGradientColoredAreas>
          <adaptedGradientColoredAreas styleAdaption="0">
            <gradientColor>
              <start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
                <color red="229" green="229" blue="194"/>
              </start>
              <end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
                <color red="229" green="229" blue="194"/>
              </end>
            </gradientColor>
          </adaptedGradientColoredAreas>
          <adaptedGradientColoredAreas styleAdaption="0">
            <gradientColor>
              <start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
                <color red="229" green="229" blue="194"/>
              </start>
              <end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
                <color red="229" green="229" blue="194"/>
              </end>
            </gradientColor>
          </adaptedGradientColoredAreas>
        </adaptedGradientColoredAreas>
      </renderingStyle>
    </styles>
    <styles foreground="/0/@colors.2" lineWidth="20" id="TASK">
      <renderingStyle>
        <adaptedGradientColoredAreas definedStyleId="bpmnTaskStyle" gradientType="0">
          <adaptedGradientColoredAreas styleAdaption="0">
            <gradientColor>
              <start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
                <color red="250" green="251" blue="252"/>
              </start>
              <end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
                <color red="255" green="255" blue="204"/>
              </end>
            </gradientColor>
          </adaptedGradientColoredAreas>
          <adaptedGradientColoredAreas styleAdaption="0">
            <gradientColor>
              <start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
                <color red="229" green="229" blue="194"/>
              </start>
              <end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
                <color red="229" green="229" blue="194"/>
              </end>
            </gradientColor>
          </adaptedGradientColoredAreas>
          <adaptedGradientColoredAreas styleAdaption="0">
            <gradientColor>
              <start locationType="LOCATION_TYPE_ABSOLUTE_START" locationValue="0">
                <color red="229" green="229" blue="194"/>
              </start>
              <end locationType="LOCATION_TYPE_ABSOLUTE_END" locationValue="0">
                <color red="229" green="229" blue="194"/>
              </end>
            </gradientColor>
          </adaptedGradientColoredAreas>
        </adaptedGradientColoredAreas>
      </renderingStyle>
    </styles>
    <styles background="/0/@colors.2" foreground="/0/@colors.2" lineWidth="1" id="BPMN-POLYGON-ARROW"/>
    <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.0/@anchors.0" end="/0/@children.1/@anchors.0">
      <graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
      <link businessObjects="flow1"/>
      <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
        <graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0"/>
      </connectionDecorators>
      <connectionDecorators visible="true" locationRelative="true" location="1.0">
        <graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
          <points x="-10" y="-5" before="3" after="3"/>
          <points/>
          <points x="-10" y="5" before="3" after="3"/>
          <points x="-8" before="3" after="3"/>
        </graphicsAlgorithm>
      </connectionDecorators>
    </connections>
    <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="/0/@children.1/@anchors.0" end="/0/@children.2/@anchors.0">
      <graphicsAlgorithm xsi:type="al:Polyline" foreground="/0/@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
      <link businessObjects="flow3"/>
      <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
        <graphicsAlgorithm xsi:type="al:Text" lineWidth="1" transparency="0.0" x="10" style="/0/@styles.1" font="/0/@fonts.0"/>
      </connectionDecorators>
      <connectionDecorators visible="true" locationRelative="true" location="1.0">
        <graphicsAlgorithm xsi:type="al:Polygon" lineWidth="1" transparency="0.0" style="/0/@styles.2">
          <points x="-10" y="-5" before="3" after="3"/>
          <points/>
          <points x="-10" y="5" before="3" after="3"/>
          <points x="-8" before="3" after="3"/>
        </graphicsAlgorithm>
      </connectionDecorators>
    </connections>
    <colors red="227" green="238" blue="249"/>
    <colors red="255" green="255" blue="255"/>
    <colors/>
    <fonts name="Arial" size="8"/>
  </pi:Diagram>
  <bpmn2:Process id="Example_Wait_Node" name="EXAMPLE_WAIT_NODE" namespace="Examples">
    <documentation id="documentation_process" text=""/>
  </bpmn2:Process>
  <bpmn2:StartEvent id="startevent1" name="Start" outgoing="flow1"/>
  <bpmn2:FieldExtension fieldname="interactions" expression=""/>
  <bpmn2:ServiceTask id="servicetask1" name="Info Dialog" incoming="flow1 flow4" outgoing="flow2 flow3" implementation="com.bigcompany.wfe.activiti.delegate.DialogDelegate" implementationType="classType" fieldExtensions="/3"/>
  <bpmn2:EndEvent id="endevent1" name="End" incoming="flow3"/>
  <bpmn2:SequenceFlow id="flow1" sourceRef="startevent1" targetRef="servicetask1"/>
  <bpmn2:SequenceFlow id="flow3" sourceRef="servicetask1" targetRef="endevent1">
    <conditionExpression body="&#xA;&#x9;&#x9;&#x9;&#x9;${keyPressed == 'Continue'}&#xA;&#x9;&#x9;&#x9;"/>
  </bpmn2:SequenceFlow>
</xmi:XMI>

Best regards,
Michael

Outcomes