blob: 82d89b0c64ac13aeb5d68ca1f2801ca53e706301 [file] [log] [blame]
<?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:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_GraPIIyxEeWmdMDkx6Uftw" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn">
<bpmn2:process id="vnfAdapterRestV1" name="vnfAdapterRestV1" isExecutable="true">
<bpmn2:scriptTask id="ScriptTask_2" name="Log Response" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
def vnfAdapterRestV1 = new VnfAdapterRestV1()
def statusCode = execution.getVariable('VNFREST_vnfAdapterStatusCode')
String response = String.valueOf(execution.getVariable('VNFREST_vnfAdapterResponse'))
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
def processKey = vnfAdapterRestV1.getProcessKey(execution)
vnfAdapterRestV1.logDebug(processKey + " received response from VnfAdapter: statusCode=" + statusCode +
" response=" + (response.isEmpty() ? "" : "\n") + response, isDebugLogEnabled)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:scriptTask id="ScriptTask_3" name="Workflow Exception (no connection)">
<bpmn2:incoming>SequenceFlow_17</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_35</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
def exceptionUtil = new ExceptionUtil()
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, "Failed to communicate with VnfAdapter")]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:scriptTask id="ScriptTask_4" name="Workflow Exception (bad response)" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_23</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_36</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
String res = execution.getVariable(VNFREST_vnfAdapterResponse)
def vnfAdapterRestV1 = new VnfAdapterRestV1()
vnfAdapterRestV1.vnfAdapterWorkflowException(execution, res)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="ScriptTask_2" targetRef="ExclusiveGateway_1"/>
<bpmn2:exclusiveGateway id="ExclusiveGateway_1" default="SequenceFlow_23">
<bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_17" name="404" sourceRef="ExclusiveGateway_1" targetRef="ScriptTask_3">
<bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("VNFREST_vnfAdapterStatusCode") == '404'}]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_23" name="other" sourceRef="ExclusiveGateway_1" targetRef="ScriptTask_4"/>
<bpmn2:sequenceFlow id="SequenceFlow_24" name="2xx" sourceRef="ExclusiveGateway_1" targetRef="waitForAsyncMessage">
<bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("VNFREST_vnfAdapterStatusCode") == '200' || execution.getVariable("VNFREST_vnfAdapterStatusCode") == '202'}]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:boundaryEvent id="BoundaryEvent_1" name="Timeout" attachedToRef="waitForAsyncMessage">
<bpmn2:outgoing>SequenceFlow_27</bpmn2:outgoing>
<bpmn2:timerEventDefinition id="TimerEventDefinition_1">
<bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression">${URN_mso_po_timeout}</bpmn2:timeDuration>
</bpmn2:timerEventDefinition>
</bpmn2:boundaryEvent>
<bpmn2:subProcess id="waitForAsyncMessage" name="Wait for Callback">
<bpmn2:incoming>SequenceFlow_24</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_28</bpmn2:outgoing>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1" name="Catch Event">
<bpmn2:incoming>SequenceFlow_25</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_26</bpmn2:outgoing>
<bpmn2:messageEventDefinition id="MessageEventDefinition_1" messageRef="Message_1"/>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_26" name="" sourceRef="IntermediateCatchEvent_1" targetRef="EndEvent_2"/>
<bpmn2:startEvent id="StartEvent_3">
<bpmn2:outgoing>SequenceFlow_25</bpmn2:outgoing>
</bpmn2:startEvent>
<bpmn2:sequenceFlow id="SequenceFlow_25" name="" sourceRef="StartEvent_3" targetRef="IntermediateCatchEvent_1"/>
<bpmn2:endEvent id="EndEvent_2">
<bpmn2:incoming>SequenceFlow_26</bpmn2:incoming>
</bpmn2:endEvent>
</bpmn2:subProcess>
<bpmn2:sequenceFlow id="SequenceFlow_27" name="" sourceRef="BoundaryEvent_1" targetRef="ScriptTask_5"/>
<bpmn2:scriptTask id="ScriptTask_5" name="Workflow Exception (timeout)" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_27</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_34</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
def exceptionUtil = new ExceptionUtil()
exceptionUtil.buildAndThrowWorkflowException(execution, 7010, "VnfAdapter Callback Timeout Error")]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_28" name="" sourceRef="waitForAsyncMessage" targetRef="ScriptTask_6"/>
<bpmn2:scriptTask id="ScriptTask_6" name="Process Callback" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_28</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_33</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
def vnfAdapterRestV1 = new VnfAdapterRestV1()
vnfAdapterRestV1.processCallback(execution)
]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_33" name="" sourceRef="ScriptTask_6" targetRef="ExclusiveGateway_2"/>
<bpmn2:sequenceFlow id="SequenceFlow_34" name="" sourceRef="ScriptTask_5" targetRef="EndEvent_8"/>
<bpmn2:endEvent id="EndEvent_8">
<bpmn2:incoming>SequenceFlow_34</bpmn2:incoming>
<bpmn2:errorEventDefinition id="_ErrorEventDefinition_21" errorRef="Error_1"/>
</bpmn2:endEvent>
<bpmn2:sequenceFlow id="SequenceFlow_35" name="" sourceRef="ScriptTask_3" targetRef="EndEvent_9"/>
<bpmn2:endEvent id="EndEvent_9">
<bpmn2:incoming>SequenceFlow_35</bpmn2:incoming>
<bpmn2:errorEventDefinition id="_ErrorEventDefinition_22" errorRef="Error_1"/>
</bpmn2:endEvent>
<bpmn2:endEvent id="EndEvent_10">
<bpmn2:incoming>SequenceFlow_36</bpmn2:incoming>
<bpmn2:errorEventDefinition id="_ErrorEventDefinition_23" errorRef="Error_1"/>
</bpmn2:endEvent>
<bpmn2:sequenceFlow id="SequenceFlow_36" name="" sourceRef="ScriptTask_4" targetRef="EndEvent_10"/>
<bpmn2:endEvent id="EndEvent_7">
<bpmn2:incoming>SequenceFlow_32</bpmn2:incoming>
<bpmn2:errorEventDefinition id="_ErrorEventDefinition_20" errorRef="Error_1"/>
</bpmn2:endEvent>
<bpmn2:exclusiveGateway id="ExclusiveGateway_2" name="Callback&#xD;&#xA;Exception?" default="SequenceFlow_31">
<bpmn2:incoming>SequenceFlow_33</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_31</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_32</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_31" name="no" sourceRef="ExclusiveGateway_2" targetRef="ScriptTask_setSuccess"/>
<bpmn2:sequenceFlow id="SequenceFlow_32" name="yes" sourceRef="ExclusiveGateway_2" targetRef="EndEvent_7">
<bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("WorkflowException") != null}]]></bpmn2:conditionExpression>
</bpmn2:sequenceFlow>
<bpmn2:scriptTask id="ScriptTask_setSuccess" name="Set Success Indicator" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_31</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
def vnfAdapterRestV1 = new VnfAdapterRestV1()
vnfAdapterRestV1.setSuccessIndicator(execution, true)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="ScriptTask_setSuccess" targetRef="EndEvent_6"/>
<bpmn2:endEvent id="EndEvent_6" name="End Flow">
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
</bpmn2:endEvent>
<bpmn2:scriptTask id="ScriptTask_7" name="Send Request to Vnf Adapter" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
def vnfAdapterRestV1 = new VnfAdapterRestV1()
vnfAdapterRestV1.sendRequestToVnfAdapter(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="ScriptTask_7" targetRef="ScriptTask_2"/>
<bpmn2:subProcess id="SubProcess_1" name="Error Handling Sub Process" triggeredByEvent="true">
<bpmn2:scriptTask id="ScriptTask_8" name="Process Error" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
def exUtil = new ExceptionUtil()
exUtil.processSubflowsBPMNException(execution)
]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="ScriptTask_8" targetRef="EndEvent_1"/>
<bpmn2:endEvent id="EndEvent_1">
<bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
</bpmn2:endEvent>
<bpmn2:startEvent id="StartEvent_2">
<bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
<bpmn2:errorEventDefinition id="_ErrorEventDefinition_89"/>
</bpmn2:startEvent>
<bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="StartEvent_2" targetRef="ScriptTask_8"/>
</bpmn2:subProcess>
<bpmn2:scriptTask id="ScriptTask_1" name="Pre-Process Request" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
def vnfAdapterRestV1 = new VnfAdapterRestV1()
vnfAdapterRestV1.preProcessRequest(execution)
]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="ScriptTask_1" targetRef="ScriptTask_7"/>
<bpmn2:startEvent id="StartEvent_1" name="Start">
<bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
</bpmn2:startEvent>
<bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="StartEvent_1" targetRef="ScriptTask_1"/>
</bpmn2:process>
<bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/>
<bpmn2:message id="Message_1" name="WorkflowMessage"/>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="vnfAdapterRestV1">
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_56" bpmnElement="ScriptTask_1">
<dc:Bounds height="80.0" width="100.0" x="204.0" y="148.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_SubProcess_14" bpmnElement="waitForAsyncMessage" isExpanded="true">
<dc:Bounds height="154.0" width="265.0" x="744.0" y="275.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_58" bpmnElement="ScriptTask_6">
<dc:Bounds height="80.0" width="100.0" x="1046.0" y="311.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_59" bpmnElement="ScriptTask_5">
<dc:Bounds height="80.0" width="100.0" x="827.0" y="492.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_24" bpmnElement="BoundaryEvent_1">
<dc:Bounds height="36.0" width="36.0" x="859.0" y="411.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="22.0" width="52.0" x="894.0" y="441.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_20" bpmnElement="IntermediateCatchEvent_1">
<dc:Bounds height="36.0" width="36.0" x="863.0" y="330.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="22.0" width="76.0" x="843.0" y="371.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_78" bpmnElement="ScriptTask_4">
<dc:Bounds height="80.0" width="97.0" x="744.0" y="148.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_79" bpmnElement="ScriptTask_2">
<dc:Bounds height="80.0" width="100.0" x="492.0" y="148.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_54" bpmnElement="StartEvent_1">
<dc:Bounds height="36.0" width="36.0" x="84.0" y="170.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="22.0" width="34.0" x="85.0" y="211.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_168" bpmnElement="ScriptTask_3">
<dc:Bounds height="80.0" width="97.0" x="744.0" y="24.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_StartEvent_54" targetElement="_BPMNShape_ScriptTask_56">
<di:waypoint xsi:type="dc:Point" x="120.0" y="188.0"/>
<di:waypoint xsi:type="dc:Point" x="204.0" y="188.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="130.0" y="188.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_105" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true">
<dc:Bounds height="50.0" width="50.0" x="624.0" y="162.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="649.0" y="217.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_79" targetElement="_BPMNShape_ExclusiveGateway_105">
<di:waypoint xsi:type="dc:Point" x="592.0" y="188.0"/>
<di:waypoint xsi:type="dc:Point" x="624.0" y="187.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="611.0" y="187.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ExclusiveGateway_105" targetElement="_BPMNShape_ScriptTask_168">
<di:waypoint xsi:type="dc:Point" x="649.0" y="162.0"/>
<di:waypoint xsi:type="dc:Point" x="649.0" y="64.0"/>
<di:waypoint xsi:type="dc:Point" x="744.0" y="64.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="22.0" width="27.0" x="688.0" y="64.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_20" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_105" targetElement="_BPMNShape_ScriptTask_78">
<di:waypoint xsi:type="dc:Point" x="674.0" y="187.0"/>
<di:waypoint xsi:type="dc:Point" x="709.0" y="187.0"/>
<di:waypoint xsi:type="dc:Point" x="709.0" y="188.0"/>
<di:waypoint xsi:type="dc:Point" x="744.0" y="188.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="22.0" width="35.0" x="684.0" y="188.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_25" bpmnElement="SequenceFlow_24" sourceElement="_BPMNShape_ExclusiveGateway_105" targetElement="_BPMNShape_SubProcess_14">
<di:waypoint xsi:type="dc:Point" x="649.0" y="212.0"/>
<di:waypoint xsi:type="dc:Point" x="649.0" y="353.0"/>
<di:waypoint xsi:type="dc:Point" x="708.0" y="353.0"/>
<di:waypoint xsi:type="dc:Point" x="744.0" y="353.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="22.0" width="27.0" x="688.0" y="328.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_55" bpmnElement="StartEvent_3">
<dc:Bounds height="36.0" width="36.0" x="768.0" y="330.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="786.0" y="371.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_27" bpmnElement="SequenceFlow_25" sourceElement="_BPMNShape_StartEvent_55" targetElement="_BPMNShape_IntermediateCatchEvent_20">
<di:waypoint xsi:type="dc:Point" x="804.0" y="348.0"/>
<di:waypoint xsi:type="dc:Point" x="863.0" y="348.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="833.0" y="348.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_156" bpmnElement="EndEvent_2">
<dc:Bounds height="36.0" width="36.0" x="948.0" y="330.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="966.0" y="371.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_28" bpmnElement="SequenceFlow_26" sourceElement="_BPMNShape_IntermediateCatchEvent_20" targetElement="_BPMNShape_EndEvent_156">
<di:waypoint xsi:type="dc:Point" x="899.0" y="348.0"/>
<di:waypoint xsi:type="dc:Point" x="929.0" y="348.0"/>
<di:waypoint xsi:type="dc:Point" x="929.0" y="347.0"/>
<di:waypoint xsi:type="dc:Point" x="948.0" y="348.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="926.0" y="348.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_27" sourceElement="_BPMNShape_BoundaryEvent_24" targetElement="_BPMNShape_ScriptTask_59">
<di:waypoint xsi:type="dc:Point" x="877.0" y="447.0"/>
<di:waypoint xsi:type="dc:Point" x="877.0" y="492.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="874.0" y="472.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_30" bpmnElement="SequenceFlow_28" sourceElement="_BPMNShape_SubProcess_14" targetElement="_BPMNShape_ScriptTask_58">
<di:waypoint xsi:type="dc:Point" x="1008.0" y="351.0"/>
<di:waypoint xsi:type="dc:Point" x="1046.0" y="351.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="1023.0" y="351.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_106" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true">
<dc:Bounds height="50.0" width="50.0" x="1188.0" y="325.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="38.0" width="71.0" x="1179.0" y="288.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_158" bpmnElement="EndEvent_6">
<dc:Bounds height="36.0" width="36.0" x="1463.0" y="333.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="22.0" width="60.0" x="1451.0" y="374.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_33" bpmnElement="SequenceFlow_31" sourceElement="_BPMNShape_ExclusiveGateway_106" targetElement="_BPMNShape_ScriptTask_236">
<di:waypoint xsi:type="dc:Point" x="1238.0" y="350.0"/>
<di:waypoint xsi:type="dc:Point" x="1308.0" y="350.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="22.0" width="20.0" x="1248.0" y="350.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_159" bpmnElement="EndEvent_7">
<dc:Bounds height="36.0" width="36.0" x="1196.0" y="426.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="1214.0" y="467.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_34" bpmnElement="SequenceFlow_32" sourceElement="_BPMNShape_ExclusiveGateway_106" targetElement="_BPMNShape_EndEvent_159">
<di:waypoint xsi:type="dc:Point" x="1213.0" y="375.0"/>
<di:waypoint xsi:type="dc:Point" x="1213.0" y="392.0"/>
<di:waypoint xsi:type="dc:Point" x="1214.0" y="392.0"/>
<di:waypoint xsi:type="dc:Point" x="1214.0" y="426.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="22.0" width="27.0" x="1223.0" y="390.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_35" bpmnElement="SequenceFlow_33" sourceElement="_BPMNShape_ScriptTask_58" targetElement="_BPMNShape_ExclusiveGateway_106">
<di:waypoint xsi:type="dc:Point" x="1146.0" y="351.0"/>
<di:waypoint xsi:type="dc:Point" x="1173.0" y="351.0"/>
<di:waypoint xsi:type="dc:Point" x="1173.0" y="350.0"/>
<di:waypoint xsi:type="dc:Point" x="1188.0" y="350.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="1170.0" y="350.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_160" bpmnElement="EndEvent_8">
<dc:Bounds height="36.0" width="36.0" x="974.0" y="514.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="992.0" y="555.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_36" bpmnElement="SequenceFlow_34" sourceElement="_BPMNShape_ScriptTask_59" targetElement="_BPMNShape_EndEvent_160">
<di:waypoint xsi:type="dc:Point" x="927.0" y="532.0"/>
<di:waypoint xsi:type="dc:Point" x="974.0" y="532.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="951.0" y="532.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_161" bpmnElement="EndEvent_9">
<dc:Bounds height="36.0" width="36.0" x="891.0" y="46.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="909.0" y="87.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_37" bpmnElement="SequenceFlow_35" sourceElement="_BPMNShape_ScriptTask_168" targetElement="_BPMNShape_EndEvent_161">
<di:waypoint xsi:type="dc:Point" x="840.0" y="64.0"/>
<di:waypoint xsi:type="dc:Point" x="891.0" y="64.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="865.0" y="64.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_162" bpmnElement="EndEvent_10">
<dc:Bounds height="36.0" width="36.0" x="892.0" y="170.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="910.0" y="211.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_36" sourceElement="_BPMNShape_ScriptTask_78" targetElement="_BPMNShape_EndEvent_162">
<di:waypoint xsi:type="dc:Point" x="840.0" y="188.0"/>
<di:waypoint xsi:type="dc:Point" x="892.0" y="188.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_236" bpmnElement="ScriptTask_setSuccess">
<dc:Bounds height="83.0" width="97.0" x="1308.0" y="309.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_ScriptTask_236" targetElement="_BPMNShape_EndEvent_158">
<di:waypoint xsi:type="dc:Point" x="1404.0" y="350.0"/>
<di:waypoint xsi:type="dc:Point" x="1422.0" y="350.0"/>
<di:waypoint xsi:type="dc:Point" x="1422.0" y="351.0"/>
<di:waypoint xsi:type="dc:Point" x="1463.0" y="351.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="1419.0" y="351.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_237" bpmnElement="ScriptTask_7">
<dc:Bounds height="83.0" width="97.0" x="360.0" y="146.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_56" targetElement="_BPMNShape_ScriptTask_237">
<di:waypoint xsi:type="dc:Point" x="304.0" y="188.0"/>
<di:waypoint xsi:type="dc:Point" x="344.0" y="188.0"/>
<di:waypoint xsi:type="dc:Point" x="344.0" y="187.0"/>
<di:waypoint xsi:type="dc:Point" x="360.0" y="187.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="317.0" y="188.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_237" targetElement="_BPMNShape_ScriptTask_79">
<di:waypoint xsi:type="dc:Point" x="456.0" y="187.0"/>
<di:waypoint xsi:type="dc:Point" x="474.0" y="187.0"/>
<di:waypoint xsi:type="dc:Point" x="474.0" y="188.0"/>
<di:waypoint xsi:type="dc:Point" x="492.0" y="188.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_SubProcess_24" bpmnElement="SubProcess_1" isExpanded="true">
<dc:Bounds height="181.0" width="382.0" x="180.0" y="532.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_66" bpmnElement="StartEvent_2">
<dc:Bounds height="36.0" width="36.0" x="225.0" y="605.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="243.0" y="646.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_207" bpmnElement="EndEvent_1">
<dc:Bounds height="36.0" width="36.0" x="477.0" y="605.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="495.0" y="646.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_266" bpmnElement="ScriptTask_8">
<dc:Bounds height="83.0" width="97.0" x="323.0" y="581.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_StartEvent_66" targetElement="_BPMNShape_ScriptTask_266">
<di:waypoint xsi:type="dc:Point" x="261.0" y="623.0"/>
<di:waypoint xsi:type="dc:Point" x="323.0" y="622.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="273.0" y="623.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_266" targetElement="_BPMNShape_EndEvent_207">
<di:waypoint xsi:type="dc:Point" x="419.0" y="622.0"/>
<di:waypoint xsi:type="dc:Point" x="477.0" y="623.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="445.0" y="623.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>