summaryrefslogtreecommitdiffstats
path: root/bpmn/MSOCommonBPMN/src/main/resources/subprocess/FalloutHandler.bpmn
blob: 6914e7575f4eb313060d9f33a502780d0aebf21c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<
{{/*
# Copyright © 2017 Amdocs, Bell Canada
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
*/}}

{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
kind: PersistentVolume
apiVersion: v1
metadata:
  name: {{ include "common.fullname" . }}
  namespace: {{ include "common.namespace" . }}
  labels:
    app: {{ include "common.name" . }}
    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
    release: "{{ .Release.Name }}"
    heritage: "{{ .Release.Service }}"
    name: {{ include "common.fullname" . }}
spec:
  capacity:
    storage: {{ .Values.persistence.size }}
  accessModes:
    - {{ .Values.persistence.accessMode }}
  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
  hostPath:
    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Namespace }}/{{ .Values.persistence.mountSubPath }}
{{- end -}}
href='#n468'>468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544
<?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" id="_3SPHsLr9EeWak-hhutJWuQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.7.1" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
  <bpmn2:process id="FalloutHandler" name="Fallout Handler" isExecutable="true">
    <bpmn2:parallelGateway id="ParallelGateway_1">
      <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
      <bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing>
    </bpmn2:parallelGateway>
    <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="ParallelGateway_1" targetRef="ExclusiveGateway_1" />
    <bpmn2:sequenceFlow id="SequenceFlow_24" name="" sourceRef="ParallelGateway_1" targetRef="ExclusiveGateway_6" />
    <bpmn2:exclusiveGateway id="ExclusiveGateway_1" name="Notification URL exists?" default="SequenceFlow_23">
      <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
      <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing>
    </bpmn2:exclusiveGateway>
    <bpmn2:sequenceFlow id="SequenceFlow_3" name="yes" sourceRef="ExclusiveGateway_1" targetRef="Task_0ixuwt5">
      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("FH_notification-url-Ok") ==true}]]></bpmn2:conditionExpression>
    </bpmn2:sequenceFlow>
    <bpmn2:sequenceFlow id="SequenceFlow_23" name="no" sourceRef="ExclusiveGateway_1" targetRef="ParallelGateway_4" />
    <bpmn2:scriptTask id="ScriptTask_8" name="Pre-Process Request" scriptFormat="groovy">
      <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing>
      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
def preProcessRequestData = new FalloutHandler()
preProcessRequestData.preProcessRequest(execution)

]]></bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="ScriptTask_8" targetRef="ParallelGateway_1" />
    <bpmn2:startEvent id="StartEvent_1" name="Start">
      <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
    </bpmn2:startEvent>
    <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="StartEvent_1" targetRef="ScriptTask_8" />
    <bpmn2:parallelGateway id="ParallelGateway_6">
      <bpmn2:incoming>SequenceFlow_37</bpmn2:incoming>
      <bpmn2:incoming>SequenceFlow_38</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing>
    </bpmn2:parallelGateway>
    <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="ParallelGateway_6" targetRef="ScriptTask_2" />
    <bpmn2:scriptTask id="ScriptTask_2" name="Post Process Response" scriptFormat="groovy">
      <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
def falloutHandler = new FalloutHandler()
falloutHandler.postProcessResponse(execution)]]></bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="ScriptTask_2" targetRef="EndEvent_6" />
    <bpmn2:exclusiveGateway id="ParallelGateway_4">
      <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming>
      <bpmn2:incoming>SequenceFlow_0m7gwor</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_38</bpmn2:outgoing>
    </bpmn2:exclusiveGateway>
    <bpmn2:sequenceFlow id="SequenceFlow_38" name="" sourceRef="ParallelGateway_4" targetRef="ParallelGateway_6" />
    <bpmn2:exclusiveGateway id="ExclusiveGateway_6" default="SequenceFlow_26">
      <bpmn2:incoming>SequenceFlow_24</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_25</bpmn2:outgoing>
      <bpmn2:outgoing>SequenceFlow_26</bpmn2:outgoing>
    </bpmn2:exclusiveGateway>
    <bpmn2:sequenceFlow id="SequenceFlow_25" name="" sourceRef="ExclusiveGateway_6" targetRef="ServiceTask_3">
      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("FH_request_id-Ok") ==true}]]></bpmn2:conditionExpression>
    </bpmn2:sequenceFlow>
    <bpmn2:sequenceFlow id="SequenceFlow_26" name="" sourceRef="ExclusiveGateway_6" targetRef="ServiceTask_2" />
    <bpmn2:serviceTask id="ServiceTask_3" name="Update Request Gamma">
      <bpmn2:extensionElements>
        <camunda:connector>
          <camunda:inputOutput>
            <camunda:inputParameter name="url"><![CDATA[${UrnPropertiesReader.getVariable("mso.adapters.db.att-endpoint", execution)}]]></camunda:inputParameter>
            <camunda:inputParameter name="method">POST</camunda:inputParameter>
            <camunda:inputParameter name="headers">
              <camunda:map>
                <camunda:entry key="content-type">application/soap+xml</camunda:entry>
                <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry>
                <camunda:entry key="X-ONAP-RequestID">#{FH_request_id}</camunda:entry>
              </camunda:map>
            </camunda:inputParameter>
            <camunda:inputParameter name="payload">
              <camunda:script scriptFormat="groovy"><![CDATA[//println"INSIDE --> update Request Gamma"
import org.onap.so.bpmn.common.scripts.*
def updateRequestGamma= new FalloutHandler()
return updateRequestGamma.updateRequestGammaPayload(execution)]]></camunda:script>
            </camunda:inputParameter>
            <camunda:outputParameter name="FH_updateRequestGammaResponse"><![CDATA[${statusCode == null || statusCode == 204 ? "" : response}]]></camunda:outputParameter>
            <camunda:outputParameter name="FH_updateRequestGammaResponseCode">${statusCode}</camunda:outputParameter>
          </camunda:inputOutput>
          <camunda:connectorId>soap-http-connector</camunda:connectorId>
        </camunda:connector>
      </bpmn2:extensionElements>
      <bpmn2:incoming>SequenceFlow_25</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_29</bpmn2:outgoing>
    </bpmn2:serviceTask>
    <bpmn2:sequenceFlow id="SequenceFlow_29" name="" sourceRef="ServiceTask_3" targetRef="ExclusiveGateway_7" />
    <bpmn2:boundaryEvent id="BoundaryEvent_2" name="Connect Fault" attachedToRef="ServiceTask_3">
      <bpmn2:outgoing>SequenceFlow_72</bpmn2:outgoing>
      <bpmn2:errorEventDefinition id="_ErrorEventDefinition_89" errorRef="Error_2" />
    </bpmn2:boundaryEvent>
    <bpmn2:exclusiveGateway id="ParallelGateway_5">
      <bpmn2:incoming>SequenceFlow_35</bpmn2:incoming>
      <bpmn2:incoming>SequenceFlow_36</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_37</bpmn2:outgoing>
    </bpmn2:exclusiveGateway>
    <bpmn2:sequenceFlow id="SequenceFlow_37" name="" sourceRef="ParallelGateway_5" targetRef="ParallelGateway_6" />
    <bpmn2:endEvent id="EndEvent_6" name="Normal End">
      <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
    </bpmn2:endEvent>
    <bpmn2:sequenceFlow id="SequenceFlow_72" name="" sourceRef="BoundaryEvent_2" targetRef="ScriptTask_6" />
    <bpmn2:scriptTask id="ScriptTask_6" name="Build Workflow Exception" scriptFormat="groovy">
      <bpmn2:incoming>SequenceFlow_72</bpmn2:incoming>
      <bpmn2:incoming>SequenceFlow_31</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_79</bpmn2:outgoing>
      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
def falloutHandler = new FalloutHandler()
falloutHandler.buildDBWorkflowException(execution, "FH_updateRequestGammaResponseCode")]]></bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:sequenceFlow id="SequenceFlow_79" name="" sourceRef="ScriptTask_6" targetRef="EndEvent_13" />
    <bpmn2:exclusiveGateway id="ExclusiveGateway_7" name="Update Success?" default="SequenceFlow_31">
      <bpmn2:incoming>SequenceFlow_29</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_31</bpmn2:outgoing>
      <bpmn2:outgoing>SequenceFlow_35</bpmn2:outgoing>
    </bpmn2:exclusiveGateway>
    <bpmn2:sequenceFlow id="SequenceFlow_31" name="" sourceRef="ExclusiveGateway_7" targetRef="ScriptTask_6" />
    <bpmn2:sequenceFlow id="SequenceFlow_35" name="" sourceRef="ExclusiveGateway_7" targetRef="ParallelGateway_5">
      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("FH_updateRequestGammaResponseCode")==200}]]></bpmn2:conditionExpression>
    </bpmn2:sequenceFlow>
    <bpmn2:scriptTask id="ScriptTask_7" name="Build Workflow Exception" scriptFormat="groovy">
      <bpmn2:incoming>SequenceFlow_32</bpmn2:incoming>
      <bpmn2:incoming>SequenceFlow_80</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_73</bpmn2:outgoing>
      <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
def falloutHandler = new FalloutHandler()
falloutHandler.buildDBWorkflowException(execution, "FH_updateRequestInfraResponseCode")]]></bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:sequenceFlow id="SequenceFlow_73" name="" sourceRef="ScriptTask_7" targetRef="EndEvent_14" />
    <bpmn2:serviceTask id="ServiceTask_2" name="Update Request Infra">
      <bpmn2:extensionElements>
        <camunda:connector>
          <camunda:inputOutput>
            <camunda:inputParameter name="url"><![CDATA[${UrnPropertiesReader.getVariable("mso.adapters.openecomp.db.endpoint", execution)}]]></camunda:inputParameter>
            <camunda:inputParameter name="method">POST</camunda:inputParameter>
            <camunda:inputParameter name="headers">
              <camunda:map>
                <camunda:entry key="content-type">application/soap+xml</camunda:entry>
                <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry>
                <camunda:entry key="X-ONAP-RequestID">#{FH_request_id}</camunda:entry>
              </camunda:map>
            </camunda:inputParameter>
            <camunda:inputParameter name="payload">
              <camunda:script scriptFormat="groovy"><![CDATA[//println"INSIDE --> update Request Infra"
import org.onap.so.bpmn.common.scripts.*
def updateRequestInfra= new FalloutHandler()
return updateRequestInfra.updateRequestInfraPayload(execution)]]></camunda:script>
            </camunda:inputParameter>
            <camunda:outputParameter name="FH_updateRequestInfraResponse"><![CDATA[${statusCode == null || statusCode == 204 ? "" : response}]]></camunda:outputParameter>
            <camunda:outputParameter name="FH_updateRequestInfraResponseCode">${statusCode}</camunda:outputParameter>
          </camunda:inputOutput>
          <camunda:connectorId>soap-http-connector</camunda:connectorId>
        </camunda:connector>
      </bpmn2:extensionElements>
      <bpmn2:incoming>SequenceFlow_26</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_30</bpmn2:outgoing>
    </bpmn2:serviceTask>
    <bpmn2:sequenceFlow id="SequenceFlow_30" name="" sourceRef="ServiceTask_2" targetRef="ExclusiveGateway_8" />
    <bpmn2:exclusiveGateway id="ExclusiveGateway_8" name="Update Success?" default="SequenceFlow_32">
      <bpmn2:incoming>SequenceFlow_30</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_32</bpmn2:outgoing>
      <bpmn2:outgoing>SequenceFlow_36</bpmn2:outgoing>
    </bpmn2:exclusiveGateway>
    <bpmn2:sequenceFlow id="SequenceFlow_32" name="" sourceRef="ExclusiveGateway_8" targetRef="ScriptTask_7" />
    <bpmn2:sequenceFlow id="SequenceFlow_36" name="" sourceRef="ExclusiveGateway_8" targetRef="ParallelGateway_5">
      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("FH_updateRequestInfraResponseCode")==200}]]></bpmn2:conditionExpression>
    </bpmn2:sequenceFlow>
    <bpmn2:boundaryEvent id="BoundaryEvent_3" name="Connect Fault" attachedToRef="ServiceTask_2">
      <bpmn2:outgoing>SequenceFlow_80</bpmn2:outgoing>
      <bpmn2:errorEventDefinition id="_ErrorEventDefinition_90" errorRef="Error_2" camunda:errorCodeVariable="gJavaErrorCode" camunda:errorMessageVariable="gJavaErrorMessage" />
    </bpmn2:boundaryEvent>
    <bpmn2:sequenceFlow id="SequenceFlow_80" name="" sourceRef="BoundaryEvent_3" targetRef="ScriptTask_7" />
    <bpmn2:subProcess id="SubProcess_1" name="Event Handler" triggeredByEvent="true">
      <bpmn2:scriptTask id="ScriptTask_4" name="Handle Event" scriptFormat="groovy">
        <bpmn2:incoming>SequenceFlow_1ko8ggw</bpmn2:incoming>
        <bpmn2:outgoing>SequenceFlow_1pm9r7h</bpmn2:outgoing>
        <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
execution.setVariable("FH_success", false)
def falloutHandler = new FalloutHandler()

// This does not (and cannot) throw exceptions
falloutHandler.postProcessResponse(execution)

// Clear any WorkflowException object that might be in the execution, but keep a copy in FH_WorkflowException
def wfe = execution.getVariable("WorkflowException")
execution.setVariable("WorkflowException", null)
execution.setVariable("FH_WorkflowException", wfe)]]></bpmn2:script>
      </bpmn2:scriptTask>
      <bpmn2:startEvent id="StartEvent_2">
        <bpmn2:outgoing>SequenceFlow_1ko8ggw</bpmn2:outgoing>
        <bpmn2:errorEventDefinition id="ErrorEventDefinition_8" />
      </bpmn2:startEvent>
      <bpmn2:endEvent id="EndEvent_2" name="Error End">
        <bpmn2:incoming>SequenceFlow_1pm9r7h</bpmn2:incoming>
        <bpmn2:terminateEventDefinition />
      </bpmn2:endEvent>
      <bpmn2:sequenceFlow id="SequenceFlow_1ko8ggw" sourceRef="StartEvent_2" targetRef="ScriptTask_4" />
      <bpmn2:sequenceFlow id="SequenceFlow_1pm9r7h" sourceRef="ScriptTask_4" targetRef="EndEvent_2" />
    </bpmn2:subProcess>
    <bpmn2:endEvent id="EndEvent_14">
      <bpmn2:incoming>SequenceFlow_73</bpmn2:incoming>
      <bpmn2:terminateEventDefinition />
    </bpmn2:endEvent>
    <bpmn2:endEvent id="EndEvent_13">
      <bpmn2:incoming>SequenceFlow_79</bpmn2:incoming>
      <bpmn2:terminateEventDefinition />
    </bpmn2:endEvent>
    <bpmn2:sequenceFlow id="SequenceFlow_0m7gwor" sourceRef="Task_0ixuwt5" targetRef="ParallelGateway_4" />
    <bpmn2:callActivity id="Task_0ixuwt5" name="Call Notification Service" calledElement="${UrnPropertiesReader.getVariable(&#34;mso.workflow.notification.name&#34;, execution)}">
      <bpmn2:extensionElements>
        <camunda:in source="mso-request-id" target="mso-request-id" />
        <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
        <camunda:in variables="all" />
        <camunda:out variables="all" />
      </bpmn2:extensionElements>
      <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
      <bpmn2:outgoing>SequenceFlow_0m7gwor</bpmn2:outgoing>
    </bpmn2:callActivity>
  </bpmn2:process>
  <bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
  <bpmn2:error id="Error_2" name="Java Lang Exception" errorCode="java.lang.Exception" />
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="FalloutHandler">
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_52" bpmnElement="StartEvent_1">
        <dc:Bounds x="139" y="263" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="145" y="300" width="23" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_ParallelGateway_12" bpmnElement="ParallelGateway_1">
        <dc:Bounds x="342" y="255" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="367" y="310" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_74" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true">
        <dc:Bounds x="415" y="107" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="315" y="89" width="81" height="24" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ParallelGateway_12" targetElement="_BPMNShape_ExclusiveGateway_74">
        <di:waypoint xsi:type="dc:Point" x="367" y="255" />
        <di:waypoint xsi:type="dc:Point" x="367" y="132" />
        <di:waypoint xsi:type="dc:Point" x="415" y="132" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="438" y="212" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ExclusiveGateway_74" targetElement="CallActivity_0jz0w0k_di">
        <di:waypoint xsi:type="dc:Point" x="440" y="107" />
        <di:waypoint xsi:type="dc:Point" x="440" y="65" />
        <di:waypoint xsi:type="dc:Point" x="553" y="65" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="475" y="70" width="18" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_ParallelGateway_15" bpmnElement="ParallelGateway_4" isMarkerVisible="true">
        <dc:Bounds x="742" y="107" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="767" y="162" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_74" targetElement="_BPMNShape_ParallelGateway_15">
        <di:waypoint xsi:type="dc:Point" x="440" y="157" />
        <di:waypoint xsi:type="dc:Point" x="441" y="198" />
        <di:waypoint xsi:type="dc:Point" x="767" y="198" />
        <di:waypoint xsi:type="dc:Point" x="767" y="157" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="452" y="173" width="12" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_79" bpmnElement="ExclusiveGateway_6" isMarkerVisible="true">
        <dc:Bounds x="412" y="468" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="437" y="523" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_24" sourceElement="_BPMNShape_ParallelGateway_12" targetElement="_BPMNShape_ExclusiveGateway_79">
        <di:waypoint xsi:type="dc:Point" x="367" y="305" />
        <di:waypoint xsi:type="dc:Point" x="367" y="493" />
        <di:waypoint xsi:type="dc:Point" x="412" y="493" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="415" y="445" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_25" bpmnElement="SequenceFlow_25" sourceElement="_BPMNShape_ExclusiveGateway_79" targetElement="_BPMNShape_ServiceTask_90">
        <di:waypoint xsi:type="dc:Point" x="437" y="468" />
        <di:waypoint xsi:type="dc:Point" x="437" y="402" />
        <di:waypoint xsi:type="dc:Point" x="492" y="402" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="437" y="444" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_26" bpmnElement="SequenceFlow_26" sourceElement="_BPMNShape_ExclusiveGateway_79" targetElement="_BPMNShape_ServiceTask_91">
        <di:waypoint xsi:type="dc:Point" x="437" y="518" />
        <di:waypoint xsi:type="dc:Point" x="437" y="650" />
        <di:waypoint xsi:type="dc:Point" x="488" y="650" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="437" y="596" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_90" bpmnElement="ServiceTask_3">
        <dc:Bounds x="492" y="362" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_91" bpmnElement="ServiceTask_2">
        <dc:Bounds x="488" y="610" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_80" bpmnElement="ExclusiveGateway_7" isMarkerVisible="true">
        <dc:Bounds x="675" y="376" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="657" y="431" width="87" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_29" sourceElement="_BPMNShape_ServiceTask_90" targetElement="_BPMNShape_ExclusiveGateway_80">
        <di:waypoint xsi:type="dc:Point" x="592" y="402" />
        <di:waypoint xsi:type="dc:Point" x="675" y="401" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="632" y="404" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_81" bpmnElement="ExclusiveGateway_8" isMarkerVisible="true">
        <dc:Bounds x="674" y="625" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="656" y="680" width="87" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_30" bpmnElement="SequenceFlow_30" sourceElement="_BPMNShape_ServiceTask_91" targetElement="_BPMNShape_ExclusiveGateway_81">
        <di:waypoint xsi:type="dc:Point" x="588" y="650" />
        <di:waypoint xsi:type="dc:Point" x="626" y="650" />
        <di:waypoint xsi:type="dc:Point" x="626" y="649" />
        <di:waypoint xsi:type="dc:Point" x="674" y="650" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="636" y="651" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_31" bpmnElement="SequenceFlow_31" sourceElement="_BPMNShape_ExclusiveGateway_80" targetElement="_BPMNShape_ScriptTask_252">
        <di:waypoint xsi:type="dc:Point" x="700" y="376" />
        <di:waypoint xsi:type="dc:Point" x="701" y="324" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="707" y="351" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_32" bpmnElement="SequenceFlow_32" sourceElement="_BPMNShape_ExclusiveGateway_81" targetElement="_BPMNShape_ScriptTask_253">
        <di:waypoint xsi:type="dc:Point" x="699" y="625" />
        <di:waypoint xsi:type="dc:Point" x="699" y="608" />
        <di:waypoint xsi:type="dc:Point" x="699" y="577" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="709" y="657" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_ParallelGateway_16" bpmnElement="ParallelGateway_5" isMarkerVisible="true">
        <dc:Bounds x="853" y="468" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="878" y="523" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_35" bpmnElement="SequenceFlow_35" sourceElement="_BPMNShape_ExclusiveGateway_80" targetElement="_BPMNShape_ParallelGateway_16">
        <di:waypoint xsi:type="dc:Point" x="725" y="401" />
        <di:waypoint xsi:type="dc:Point" x="878" y="401" />
        <di:waypoint xsi:type="dc:Point" x="878" y="468" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="762" y="392" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_36" bpmnElement="SequenceFlow_36" sourceElement="_BPMNShape_ExclusiveGateway_81" targetElement="_BPMNShape_ParallelGateway_16">
        <di:waypoint xsi:type="dc:Point" x="724" y="650" />
        <di:waypoint xsi:type="dc:Point" x="878" y="650" />
        <di:waypoint xsi:type="dc:Point" x="878" y="518" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="878" y="574" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_ParallelGateway_17" bpmnElement="ParallelGateway_6">
        <dc:Bounds x="957" y="254" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="982" y="309" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_37" bpmnElement="SequenceFlow_37" sourceElement="_BPMNShape_ParallelGateway_16" targetElement="_BPMNShape_ParallelGateway_17">
        <di:waypoint xsi:type="dc:Point" x="903" y="493" />
        <di:waypoint xsi:type="dc:Point" x="982" y="493" />
        <di:waypoint xsi:type="dc:Point" x="982" y="304" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="943" y="478" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_38" sourceElement="_BPMNShape_ParallelGateway_15" targetElement="_BPMNShape_ParallelGateway_17">
        <di:waypoint xsi:type="dc:Point" x="792" y="132" />
        <di:waypoint xsi:type="dc:Point" x="982" y="132" />
        <di:waypoint xsi:type="dc:Point" x="982" y="254" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="887" y="117" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_StartEvent_52" targetElement="_BPMNShape_ScriptTask_99">
        <di:waypoint xsi:type="dc:Point" x="175" y="281" />
        <di:waypoint xsi:type="dc:Point" x="211" y="281" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="193" y="281" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_99" bpmnElement="ScriptTask_8">
        <dc:Bounds x="211" y="241" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_SubProcess_14" bpmnElement="SubProcess_1" isExpanded="true">
        <dc:Bounds x="146" y="759" width="329" height="167" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_100" bpmnElement="ScriptTask_4">
        <dc:Bounds x="259" y="803" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_54" bpmnElement="StartEvent_2">
        <dc:Bounds x="175" y="825" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="193" y="869" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_101" bpmnElement="ScriptTask_2">
        <dc:Bounds x="1054" y="240" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ParallelGateway_17" targetElement="_BPMNShape_ScriptTask_101">
        <di:waypoint xsi:type="dc:Point" x="1007" y="279" />
        <di:waypoint xsi:type="dc:Point" x="1054" y="280" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1177" y="280" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_ScriptTask_99" targetElement="_BPMNShape_ParallelGateway_12">
        <di:waypoint xsi:type="dc:Point" x="311" y="281" />
        <di:waypoint xsi:type="dc:Point" x="342" y="280" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="327" y="281" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_EndEvent_129" bpmnElement="EndEvent_6">
        <dc:Bounds x="1188" y="262" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1177" y="303" width="57" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_ScriptTask_101" targetElement="_BPMNShape_EndEvent_129">
        <di:waypoint xsi:type="dc:Point" x="1154" y="280" />
        <di:waypoint xsi:type="dc:Point" x="1188" y="280" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1171" y="280" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_31" bpmnElement="BoundaryEvent_2">
        <dc:Bounds x="525" y="344" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="563" y="300" width="68" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_32" bpmnElement="BoundaryEvent_3">
        <dc:Bounds x="521" y="592" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="563" y="554" width="68" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_72" bpmnElement="SequenceFlow_72" sourceElement="_BPMNShape_BoundaryEvent_31" targetElement="_BPMNShape_ScriptTask_252">
        <di:waypoint xsi:type="dc:Point" x="543" y="344" />
        <di:waypoint xsi:type="dc:Point" x="543" y="284" />
        <di:waypoint xsi:type="dc:Point" x="651" y="284" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="543" y="326" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_73" bpmnElement="SequenceFlow_73" sourceElement="_BPMNShape_ScriptTask_253">
        <di:waypoint xsi:type="dc:Point" x="750" y="537" />
        <di:waypoint xsi:type="dc:Point" x="790" y="537" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="770" y="522" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_252" bpmnElement="ScriptTask_6">
        <dc:Bounds x="651" y="244" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_253" bpmnElement="ScriptTask_7">
        <dc:Bounds x="650" y="497" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_79" bpmnElement="SequenceFlow_79" sourceElement="_BPMNShape_ScriptTask_252">
        <di:waypoint xsi:type="dc:Point" x="751" y="284" />
        <di:waypoint xsi:type="dc:Point" x="793" y="284" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="772" y="269" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_80" bpmnElement="SequenceFlow_80" sourceElement="_BPMNShape_BoundaryEvent_32" targetElement="_BPMNShape_ScriptTask_253">
        <di:waypoint xsi:type="dc:Point" x="539" y="592" />
        <di:waypoint xsi:type="dc:Point" x="539" y="537" />
        <di:waypoint xsi:type="dc:Point" x="650" y="537" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="567" y="537" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="EndEvent_0b9vn2u_di" bpmnElement="EndEvent_2">
        <dc:Bounds x="403" y="825" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="399" y="869" width="47" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="EndEvent_1fmpj5u_di" bpmnElement="EndEvent_14">
        <dc:Bounds x="790" y="519" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="808" y="560" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="EndEvent_0w1puhf_di" bpmnElement="EndEvent_13">
        <dc:Bounds x="793" y="266" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="811" y="307" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_0m7gwor_di" bpmnElement="SequenceFlow_0m7gwor">
        <di:waypoint xsi:type="dc:Point" x="654" y="65" />
        <di:waypoint xsi:type="dc:Point" x="767" y="65" />
        <di:waypoint xsi:type="dc:Point" x="767" y="107" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="711" y="50" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_1ko8ggw_di" bpmnElement="SequenceFlow_1ko8ggw">
        <di:waypoint xsi:type="dc:Point" x="211" y="843" />
        <di:waypoint xsi:type="dc:Point" x="259" y="843" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="235" y="818" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_1pm9r7h_di" bpmnElement="SequenceFlow_1pm9r7h">
        <di:waypoint xsi:type="dc:Point" x="359" y="843" />
        <di:waypoint xsi:type="dc:Point" x="403" y="843" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="381" y="818" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="CallActivity_0jz0w0k_di" bpmnElement="Task_0ixuwt5">
        <dc:Bounds x="554" y="25" width="100" height="80" />
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn2:definitions>