AnsweredAssumed Answered

Not able to get process variable via expression.

Question asked by javedafroz on Mar 28, 2013
Latest reply on Mar 28, 2013 by frederikheremans1
Hi,

I am not able to get a process variable ("conversionRemarks", below in bold) if I am trying to access the variable later in the flow. I am able to get the variable only in the next stage from the stage in which process variable is defined. Is this how activiti is supposed to work? I am getting blow error:

SEVERE: Error while closing command context
org.activiti.engine.ActivitiException: Error while evaluating expression: ${conversionRemarks}
        at org.activiti.engine.impl.el.JuelExpression.setValue(JuelExpression.java:73)
        at org.activiti.engine.impl.form.FormPropertyHandler.submitFormProperty(FormPropertyHandler.java:107)
        at org.activiti.engine.impl.form.DefaultFormHandler.submitFormProperties(DefaultFormHandler.java:137)
        at org.activiti.engine.impl.cmd.SubmitTaskFormCmd.execute(SubmitTaskFormCmd.java:45)
        at org.activiti.engine.impl.cmd.NeedsActiveTaskCmd.execute(NeedsActiveTaskCmd.java:58)
        at org.activiti.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)
        at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:60)
        at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32)
        at org.activiti.engine.impl.FormServiceImpl.submitTaskFormData(FormServiceImpl.java:70)
        at org.activiti.explorer.ui.task.TaskDetailPanel$4.handleFormSubmit(TaskDetailPanel.java:315)
        at org.activiti.explorer.ui.form.FormPropertiesEventListener.componentEvent(FormPropertiesEventListener.java:39)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:490)
        at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:164)
        at com.vaadin.ui.AbstractComponent.fireEvent(AbstractComponent.java:1193)
        at org.activiti.explorer.ui.form.FormPropertiesForm.access$000(FormPropertiesForm.java:45)
        at org.activiti.explorer.ui.form.FormPropertiesForm$1.buttonClick(FormPropertiesForm.java:139)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:490)
        at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:164)
        at com.vaadin.ui.AbstractComponent.fireEvent(AbstractComponent.java:1193)
        at com.vaadin.ui.Button.fireClick(Button.java:539)
        at com.vaadin.ui.Button.changeVariables(Button.java:206)
        at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariableBurst(AbstractCommunicationManager.java:1299)
        at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariables(AbstractCommunicationManager.java:1219)
        at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.doHandleUidlRequest(AbstractCommunicationManager.java:735)
        at com.vaadin.terminal.gwt.server.CommunicationManager.handleUidlRequest(CommunicationManager.java:296)
        at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:501)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: org.activiti.engine.impl.javax.el.PropertyNotFoundException: Cannot resolve identifier 'conversionRemarks'
        at org.activiti.engine.impl.juel.AstIdentifier.setValue(AstIdentifier.java:97)
        at org.activiti.engine.impl.juel.AstEval.setValue(AstEval.java:86)
        at org.activiti.engine.impl.juel.TreeValueExpression.setValue(TreeValueExpression.java:138)
        at org.activiti.engine.impl.delegate.ExpressionSetInvocation.invoke(ExpressionSetInvocation.java:37)
        at org.activiti.engine.impl.delegate.DelegateInvocation.proceed(DelegateInvocation.java:37)
        at org.activiti.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:25)
        at org.activiti.engine.impl.el.JuelExpression.setValue(JuelExpression.java:69)
        … 50 more
28 Mar, 2013 12:19:00 PM com.vaadin.Application terminalError
SEVERE: Terminal error:
com.vaadin.event.ListenerMethod$MethodException
Cause: com.vaadin.event.ListenerMethod$MethodException
Cause: org.activiti.engine.ActivitiException: Error while evaluating expression: ${conversionRemarks}
        at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
        at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:164)
        at com.vaadin.ui.AbstractComponent.fireEvent(AbstractComponent.java:1193)
        at com.vaadin.ui.Button.fireClick(Button.java:539)
        at com.vaadin.ui.Button.changeVariables(Button.java:206)
        at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariableBurst(AbstractCommunicationManager.java:1299)
        at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariables(AbstractCommunicationManager.java:1219)
        at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.doHandleUidlRequest(AbstractCommunicationManager.java:735)
        at com.vaadin.terminal.gwt.server.CommunicationManager.handleUidlRequest(CommunicationManager.java:296)
        at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:501)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: com.vaadin.event.ListenerMethod$MethodException
Cause: org.activiti.engine.ActivitiException: Error while evaluating expression: ${conversionRemarks}
        at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
        at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:164)
        at com.vaadin.ui.AbstractComponent.fireEvent(AbstractComponent.java:1193)
        at org.activiti.explorer.ui.form.FormPropertiesForm.access$000(FormPropertiesForm.java:45)
        at org.activiti.explorer.ui.form.FormPropertiesForm$1.buttonClick(FormPropertiesForm.java:139)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:490)
        … 26 more
Caused by: org.activiti.engine.ActivitiException: Error while evaluating expression: ${conversionRemarks}
        at org.activiti.engine.impl.el.JuelExpression.setValue(JuelExpression.java:73)
        at org.activiti.engine.impl.form.FormPropertyHandler.submitFormProperty(FormPropertyHandler.java:107)
        at org.activiti.engine.impl.form.DefaultFormHandler.submitFormProperties(DefaultFormHandler.java:137)
        at org.activiti.engine.impl.cmd.SubmitTaskFormCmd.execute(SubmitTaskFormCmd.java:45)
        at org.activiti.engine.impl.cmd.NeedsActiveTaskCmd.execute(NeedsActiveTaskCmd.java:58)
        at org.activiti.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)
        at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:60)
        at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32)
        at org.activiti.engine.impl.FormServiceImpl.submitTaskFormData(FormServiceImpl.java:70)
        at org.activiti.explorer.ui.task.TaskDetailPanel$4.handleFormSubmit(TaskDetailPanel.java:315)
        at org.activiti.explorer.ui.form.FormPropertiesEventListener.componentEvent(FormPropertiesEventListener.java:39)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:490)
        … 35 more
Caused by: org.activiti.engine.impl.javax.el.PropertyNotFoundException: Cannot resolve identifier 'conversionRemarks'
        at org.activiti.engine.impl.juel.AstIdentifier.setValue(AstIdentifier.java:97)
        at org.activiti.engine.impl.juel.AstEval.setValue(AstEval.java:86)
        at org.activiti.engine.impl.juel.TreeValueExpression.setValue(TreeValueExpression.java:138)
        at org.activiti.engine.impl.delegate.ExpressionSetInvocation.invoke(ExpressionSetInvocation.java:37)
        at org.activiti.engine.impl.delegate.DelegateInvocation.proceed(DelegateInvocation.java:37)
        at org.activiti.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:25)
        at org.activiti.engine.impl.el.JuelExpression.setValue(JuelExpression.java:69)
        … 50 more

my process definition file. Issue is happening when execution arrives at usertask2 marked below.

<?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="http://www.activiti.org/test">
  <collaboration id="Collaboration">
    <participant id="pool4" name="Pools" processRef="process_pool4"></participant>
  </collaboration>
  <process id="process_pool4" name="process_pool4" isExecutable="true">
    <laneSet id="laneSet_process_pool4">
      <lane id="lane4" name="Engineering">
        <flowNodeRef>startevent1</flowNodeRef>
        <flowNodeRef>usertask3</flowNodeRef>
        <flowNodeRef>usertask4</flowNodeRef>
        <flowNodeRef>usertask7</flowNodeRef>
        <flowNodeRef>usertask1</flowNodeRef>
        <flowNodeRef>usertask2</flowNodeRef>
      </lane>
      <lane id="lane5" name="QA">
        <flowNodeRef>exclusivegateway2</flowNodeRef>
        <flowNodeRef>endevent1</flowNodeRef>
        <flowNodeRef>usertask5</flowNodeRef>
      </lane>
    </laneSet>
    <startEvent id="startevent1" name="Start">
      <extensionElements>
        <activiti:formProperty id="fileName" name="File Name" type="string" required="true"></activiti:formProperty>
      </extensionElements>
    </startEvent>
    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
    <userTask id="usertask1" name="Conversion" activiti:candidateGroups="engineering">
      <extensionElements>
        <activiti:formProperty id="conversionRemarks" name="Remarks" required="true"></activiti:formProperty>
        <activiti:formProperty id="fileName" name="File Name" expression="${fileName}" writable="false"></activiti:formProperty>
        <activiti:taskListener event="create" class="demo.activity.listener.NotificationListener"></activiti:taskListener>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow2" name="Validate Conversion" sourceRef="usertask1" targetRef="usertask3"></sequenceFlow>
    <userTask id="usertask3" name="Validate Conversion" activiti:candidateGroups="engineering">
      <extensionElements>
        <activiti:formProperty id="validateConversionRemarks" name="Remarks" type="string" required="true"></activiti:formProperty>
        <activiti:formProperty id="fileName" name="File Name" expression="${fileName}" writable="false"></activiti:formProperty>
        <activiti:formProperty id="conversionRemarks" name="Conversion Remarks" expression="${conversionRemarks}"></activiti:formProperty>
        <activiti:taskListener event="create" class="demo.activity.listener.NotificationListener"></activiti:taskListener>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow3" name="Start Ingestion" sourceRef="usertask3" targetRef="usertask2"></sequenceFlow>
  






=======================================================

<userTask id="usertask2" name="Ingestion" activiti:candidateGroups="engineering">
      <extensionElements>
        <activiti:formProperty id="ingestionRemarks" name="Remarks" type="string" required="true"></activiti:formProperty>
        <activiti:formProperty id="validateConversionRemarks" name="Remarks" type="string" expression="${validateConversionRemarks}"></activiti:formProperty>
        <activiti:formProperty id="fileName" name="File Name" expression="${fileName}" writable="false"></activiti:formProperty>
        <activiti:formProperty id="conversionRemarks" name="Conversion Remarks" type="string" expression="${conversionRemarks}"></activiti:formProperty>

        <activiti:taskListener event="create" class="demo.activity.listener.NotificationListener"></activiti:taskListener>
      </extensionElements>
    </userTask>


============================================================



    <sequenceFlow id="flow4" name="Create Product" sourceRef="usertask2" targetRef="usertask4"></sequenceFlow>
    <userTask id="usertask7" name="Re-Validate Conversion" activiti:candidateGroups="engineering">
      <extensionElements>
        <activiti:formProperty id="reValidateConversionRemarks" name="Remarks" type="string" required="true"></activiti:formProperty>
        <activiti:formProperty id="qaRemarks" name="Remarks" type="string" expression="${qaRemarks}"></activiti:formProperty>
        <activiti:formProperty id="qaApproved" name="Do you Approve?" type="string" expression="${qaApproved}" writable="false"></activiti:formProperty>
        <activiti:formProperty id="ingestionRemarks" name="Remarks" type="string" expression="${ingestionRemarks}"></activiti:formProperty>
        <activiti:formProperty id="validateConversionRemarks" name="Remarks" type="string" expression="${validateConversionRemarks}" required="true"></activiti:formProperty>
        <activiti:formProperty id="fileName" name="File Name" expression="${fileName}" writable="false"></activiti:formProperty>
        <activiti:formProperty id="conversionRemarks" name="Conversion Remarks" expression="${conversionRemarks}"></activiti:formProperty>
        <activiti:formProperty id="createProductRemarks" name="Remarks" type="string" required="true"></activiti:formProperty>
        <activiti:taskListener event="create" class="demo.activity.listener.NotificationListener"></activiti:taskListener>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow9" name="Re-ingest" sourceRef="usertask7" targetRef="usertask2"></sequenceFlow>
    <userTask id="usertask4" name="Create Product" activiti:candidateGroups="engineering">
      <extensionElements>
        <activiti:formProperty id="ingestionRemarks" name="Remarks" type="string" expression="${ingestionRemarks}"></activiti:formProperty>
        <activiti:formProperty id="validateConversionRemarks" name="Remarks" type="string" required="true"></activiti:formProperty>
        <activiti:formProperty id="fileName" name="File Name" expression="${fileName}" writable="false"></activiti:formProperty>
        <activiti:formProperty id="conversionRemarks" name="Conversion Remarks" expression="${conversionRemarks}"></activiti:formProperty>
        <activiti:formProperty id="createProductRemarks" name="Remarks" type="string" required="true"></activiti:formProperty>
        <activiti:taskListener event="create" class="demo.activity.listener.NotificationListener"></activiti:taskListener>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow5" name="Start QA" sourceRef="usertask4" targetRef="usertask5"></sequenceFlow>
    <exclusiveGateway id="exclusivegateway2" name="Exclusive Gateway"></exclusiveGateway>
    <sequenceFlow id="flow11" name="No" sourceRef="exclusivegateway2" targetRef="usertask7">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${qaApproved == 'No'}]]></conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="flow12" name="Yes" sourceRef="exclusivegateway2" targetRef="endevent1">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${qaApproved == 'Yes'}]]></conditionExpression>
    </sequenceFlow>
    <endEvent id="endevent1" name="End"></endEvent>
    <userTask id="usertask5" name="QA" activiti:candidateGroups="QA">
      <extensionElements>
        <activiti:formProperty id="qaRemarks" name="Remarks" type="string" required="true"></activiti:formProperty>
        <activiti:formProperty id="qaApproved" name="Do you Approve?" type="enum" required="true">
          <activiti:value id="Yes" name="Yes"></activiti:value>
          <activiti:value id="No" name="No"></activiti:value>
        </activiti:formProperty>
        <activiti:formProperty id="ingestionRemarks" name="Remarks" type="string" expression="${ingestionRemarks}" required="true"></activiti:formProperty>
        <activiti:formProperty id="validateConversionRemarks" name="Remarks" type="string" expression="${validateConversionRemarks}" required="true"></activiti:formProperty>
        <activiti:formProperty id="fileName" name="File Name" expression="${fileName}"></activiti:formProperty>
        <activiti:formProperty id="conversionRemarks" name="Conversion Remarks" expression="${conversionRemarks}"></activiti:formProperty>
        <activiti:formProperty id="createProductRemarks" name="Remarks" type="string" required="true"></activiti:formProperty>
        <activiti:taskListener event="create" class="demo.activity.listener.NotificationListener"></activiti:taskListener>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow10" name="decide" sourceRef="usertask5" targetRef="exclusivegateway2"></sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_Collaboration">
    <bpmndi:BPMNPlane bpmnElement="Collaboration" id="BPMNPlane_Collaboration">
      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="100.0" y="50.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
        <omgdc:Bounds height="55.0" width="105.0" x="190.0" y="40.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask2" id="BPMNShape_usertask2">
        <omgdc:Bounds height="55.0" width="105.0" x="670.0" y="40.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask3" id="BPMNShape_usertask3">
        <omgdc:Bounds height="55.0" width="105.0" x="440.0" y="40.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask4" id="BPMNShape_usertask4">
        <omgdc:Bounds height="55.0" width="105.0" x="950.0" y="40.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask5" id="BPMNShape_usertask5">
        <omgdc:Bounds height="55.0" width="105.0" x="950.0" y="393.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="706.0" y="520.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="usertask7" id="BPMNShape_usertask7">
        <omgdc:Bounds height="55.0" width="105.0" x="670.0" y="190.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="exclusivegateway2" id="BPMNShape_exclusivegateway2">
        <omgdc:Bounds height="40.0" width="40.0" x="703.0" y="400.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="pool4" id="BPMNShape_pool4">
        <omgdc:Bounds height="591.0" width="1031.0" x="60.0" y="0.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="lane4" id="BPMNShape_lane4">
        <omgdc:Bounds height="351.0" width="1011.0" x="80.0" y="0.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="lane5" id="BPMNShape_lane5">
        <omgdc:Bounds height="240.0" width="1011.0" x="80.0" y="351.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
        <omgdi:waypoint x="135.0" y="67.0"></omgdi:waypoint>
        <omgdi:waypoint x="190.0" y="67.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
        <omgdi:waypoint x="295.0" y="67.0"></omgdi:waypoint>
        <omgdi:waypoint x="440.0" y="67.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="42.0" width="100.0" x="-52.0" y="-7.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
        <omgdi:waypoint x="545.0" y="67.0"></omgdi:waypoint>
        <omgdi:waypoint x="670.0" y="67.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="14.0" width="100.0" x="-52.0" y="4.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
        <omgdi:waypoint x="775.0" y="67.0"></omgdi:waypoint>
        <omgdi:waypoint x="950.0" y="67.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="14.0" width="100.0" x="-52.0" y="4.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
        <omgdi:waypoint x="1002.0" y="95.0"></omgdi:waypoint>
        <omgdi:waypoint x="1002.0" y="393.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="14.0" width="100.0" x="10.0" y="0.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow9" id="BPMNEdge_flow9">
        <omgdi:waypoint x="722.0" y="190.0"></omgdi:waypoint>
        <omgdi:waypoint x="722.0" y="95.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="14.0" width="100.0" x="10.0" y="0.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow10" id="BPMNEdge_flow10">
        <omgdi:waypoint x="950.0" y="420.0"></omgdi:waypoint>
        <omgdi:waypoint x="743.0" y="420.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="14.0" width="100.0" x="10.0" y="0.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow11" id="BPMNEdge_flow11">
        <omgdi:waypoint x="723.0" y="400.0"></omgdi:waypoint>
        <omgdi:waypoint x="722.0" y="245.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="14.0" width="100.0" x="10.0" y="0.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12">
        <omgdi:waypoint x="723.0" y="440.0"></omgdi:waypoint>
        <omgdi:waypoint x="723.0" y="520.0"></omgdi:waypoint>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="14.0" width="100.0" x="10.0" y="0.0"></omgdc:Bounds>
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>

Early help is deeply appreciated.

Outcomes