Flows fail to update status in requests DB
[so.git] / bpmn / MSOCommonBPMN / src / main / resources / subprocess / FalloutHandler.bpmn
1 <?xml version="1.0" encoding="UTF-8"?>
2 <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.8.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
3   <bpmn2:process id="FalloutHandler" name="Fallout Handler" isExecutable="true">
4     <bpmn2:parallelGateway id="ParallelGateway_1">
5       <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming>
6       <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
7       <bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing>
8     </bpmn2:parallelGateway>
9     <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="ParallelGateway_1" targetRef="ExclusiveGateway_1" />
10     <bpmn2:sequenceFlow id="SequenceFlow_24" name="" sourceRef="ParallelGateway_1" targetRef="ExclusiveGateway_6" />
11     <bpmn2:exclusiveGateway id="ExclusiveGateway_1" name="Notification URL exists?" default="SequenceFlow_23">
12       <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
13       <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
14       <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing>
15     </bpmn2:exclusiveGateway>
16     <bpmn2:sequenceFlow id="SequenceFlow_3" name="yes" sourceRef="ExclusiveGateway_1" targetRef="Task_0ixuwt5">
17       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("FH_notification-url-Ok") ==true}]]></bpmn2:conditionExpression>
18     </bpmn2:sequenceFlow>
19     <bpmn2:sequenceFlow id="SequenceFlow_23" name="no" sourceRef="ExclusiveGateway_1" targetRef="ParallelGateway_4" />
20     <bpmn2:scriptTask id="ScriptTask_8" name="Pre-Process Request" scriptFormat="groovy">
21       <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
22       <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing>
23       <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
24 def preProcessRequestData = new FalloutHandler()
25 preProcessRequestData.preProcessRequest(execution)
26
27 ]]></bpmn2:script>
28     </bpmn2:scriptTask>
29     <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="ScriptTask_8" targetRef="ParallelGateway_1" />
30     <bpmn2:startEvent id="StartEvent_1" name="Start">
31       <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
32     </bpmn2:startEvent>
33     <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="StartEvent_1" targetRef="ScriptTask_8" />
34     <bpmn2:parallelGateway id="ParallelGateway_6">
35       <bpmn2:incoming>SequenceFlow_37</bpmn2:incoming>
36       <bpmn2:incoming>SequenceFlow_38</bpmn2:incoming>
37       <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing>
38     </bpmn2:parallelGateway>
39     <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="ParallelGateway_6" targetRef="ScriptTask_2" />
40     <bpmn2:scriptTask id="ScriptTask_2" name="Post Process Response" scriptFormat="groovy">
41       <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming>
42       <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
43       <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
44 def falloutHandler = new FalloutHandler()
45 falloutHandler.postProcessResponse(execution)]]></bpmn2:script>
46     </bpmn2:scriptTask>
47     <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="ScriptTask_2" targetRef="EndEvent_6" />
48     <bpmn2:exclusiveGateway id="ParallelGateway_4">
49       <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming>
50       <bpmn2:incoming>SequenceFlow_0m7gwor</bpmn2:incoming>
51       <bpmn2:outgoing>SequenceFlow_38</bpmn2:outgoing>
52     </bpmn2:exclusiveGateway>
53     <bpmn2:sequenceFlow id="SequenceFlow_38" name="" sourceRef="ParallelGateway_4" targetRef="ParallelGateway_6" />
54     <bpmn2:exclusiveGateway id="ExclusiveGateway_6" default="SequenceFlow_26">
55       <bpmn2:incoming>SequenceFlow_24</bpmn2:incoming>
56       <bpmn2:outgoing>SequenceFlow_25</bpmn2:outgoing>
57       <bpmn2:outgoing>SequenceFlow_26</bpmn2:outgoing>
58     </bpmn2:exclusiveGateway>
59     <bpmn2:sequenceFlow id="SequenceFlow_25" name="" sourceRef="ExclusiveGateway_6" targetRef="ServiceTask_3">
60       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("FH_request_id-Ok") ==true}]]></bpmn2:conditionExpression>
61     </bpmn2:sequenceFlow>
62     <bpmn2:sequenceFlow id="SequenceFlow_26" name="" sourceRef="ExclusiveGateway_6" targetRef="ServiceTask_2" />
63     <bpmn2:serviceTask id="ServiceTask_3" name="Update Request Gamma">
64       <bpmn2:extensionElements>
65         <camunda:connector>
66           <camunda:inputOutput>
67             <camunda:inputParameter name="url">${URN_mso_adapters_db_endpoint}</camunda:inputParameter>
68             <camunda:inputParameter name="method">POST</camunda:inputParameter>
69             <camunda:inputParameter name="headers">
70               <camunda:map>
71                 <camunda:entry key="content-type">application/soap+xml</camunda:entry>
72                 <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry>
73               </camunda:map>
74             </camunda:inputParameter>
75             <camunda:inputParameter name="payload">
76               <camunda:script scriptFormat="groovy"><![CDATA[//println"INSIDE --> update Request Gamma"
77 import org.openecomp.mso.bpmn.common.scripts.*
78 def updateRequestGamma= new FalloutHandler()
79 return updateRequestGamma.updateRequestGammaPayload(execution)]]></camunda:script>
80             </camunda:inputParameter>
81             <camunda:outputParameter name="FH_updateRequestGammaResponse"><![CDATA[${statusCode == null || statusCode == 204 ? "" : response}]]></camunda:outputParameter>
82             <camunda:outputParameter name="FH_updateRequestGammaResponseCode">${statusCode}</camunda:outputParameter>
83           </camunda:inputOutput>
84           <camunda:connectorId>soap-http-connector</camunda:connectorId>
85         </camunda:connector>
86       </bpmn2:extensionElements>
87       <bpmn2:incoming>SequenceFlow_25</bpmn2:incoming>
88       <bpmn2:outgoing>SequenceFlow_29</bpmn2:outgoing>
89     </bpmn2:serviceTask>
90     <bpmn2:sequenceFlow id="SequenceFlow_29" name="" sourceRef="ServiceTask_3" targetRef="ExclusiveGateway_7" />
91     <bpmn2:boundaryEvent id="BoundaryEvent_2" name="Connect Fault" attachedToRef="ServiceTask_3">
92       <bpmn2:outgoing>SequenceFlow_72</bpmn2:outgoing>
93       <bpmn2:errorEventDefinition id="_ErrorEventDefinition_89" errorRef="Error_2" />
94     </bpmn2:boundaryEvent>
95     <bpmn2:exclusiveGateway id="ParallelGateway_5">
96       <bpmn2:incoming>SequenceFlow_35</bpmn2:incoming>
97       <bpmn2:incoming>SequenceFlow_36</bpmn2:incoming>
98       <bpmn2:outgoing>SequenceFlow_37</bpmn2:outgoing>
99     </bpmn2:exclusiveGateway>
100     <bpmn2:sequenceFlow id="SequenceFlow_37" name="" sourceRef="ParallelGateway_5" targetRef="ParallelGateway_6" />
101     <bpmn2:endEvent id="EndEvent_6" name="Normal End">
102       <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
103     </bpmn2:endEvent>
104     <bpmn2:sequenceFlow id="SequenceFlow_72" name="" sourceRef="BoundaryEvent_2" targetRef="ScriptTask_6" />
105     <bpmn2:scriptTask id="ScriptTask_6" name="Build Workflow Exception" scriptFormat="groovy">
106       <bpmn2:incoming>SequenceFlow_72</bpmn2:incoming>
107       <bpmn2:incoming>SequenceFlow_31</bpmn2:incoming>
108       <bpmn2:outgoing>SequenceFlow_79</bpmn2:outgoing>
109       <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
110 def falloutHandler = new FalloutHandler()
111 falloutHandler.buildDBWorkflowException(execution, "FH_updateRequestGammaResponseCode")]]></bpmn2:script>
112     </bpmn2:scriptTask>
113     <bpmn2:sequenceFlow id="SequenceFlow_79" name="" sourceRef="ScriptTask_6" targetRef="EndEvent_13" />
114     <bpmn2:exclusiveGateway id="ExclusiveGateway_7" name="Update Success?" default="SequenceFlow_31">
115       <bpmn2:incoming>SequenceFlow_29</bpmn2:incoming>
116       <bpmn2:outgoing>SequenceFlow_31</bpmn2:outgoing>
117       <bpmn2:outgoing>SequenceFlow_35</bpmn2:outgoing>
118     </bpmn2:exclusiveGateway>
119     <bpmn2:sequenceFlow id="SequenceFlow_31" name="" sourceRef="ExclusiveGateway_7" targetRef="ScriptTask_6" />
120     <bpmn2:sequenceFlow id="SequenceFlow_35" name="" sourceRef="ExclusiveGateway_7" targetRef="ParallelGateway_5">
121       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("FH_updateRequestGammaResponseCode")==200}]]></bpmn2:conditionExpression>
122     </bpmn2:sequenceFlow>
123     <bpmn2:scriptTask id="ScriptTask_7" name="Build Workflow Exception" scriptFormat="groovy">
124       <bpmn2:incoming>SequenceFlow_32</bpmn2:incoming>
125       <bpmn2:incoming>SequenceFlow_80</bpmn2:incoming>
126       <bpmn2:outgoing>SequenceFlow_73</bpmn2:outgoing>
127       <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
128 def falloutHandler = new FalloutHandler()
129 falloutHandler.buildDBWorkflowException(execution, "FH_updateRequestInfraResponseCode")]]></bpmn2:script>
130     </bpmn2:scriptTask>
131     <bpmn2:sequenceFlow id="SequenceFlow_73" name="" sourceRef="ScriptTask_7" targetRef="EndEvent_14" />
132     <bpmn2:serviceTask id="ServiceTask_2" name="Update Request Infra">
133       <bpmn2:extensionElements>
134         <camunda:connector>
135           <camunda:inputOutput>
136             <camunda:inputParameter name="url">${URN_mso_adapters_openecomp_db_endpoint}</camunda:inputParameter>
137             <camunda:inputParameter name="method">POST</camunda:inputParameter>
138             <camunda:inputParameter name="headers">
139               <camunda:map>
140                 <camunda:entry key="content-type">application/soap+xml</camunda:entry>
141                 <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry>
142               </camunda:map>
143             </camunda:inputParameter>
144             <camunda:inputParameter name="payload">
145               <camunda:script scriptFormat="groovy"><![CDATA[//println"INSIDE --> update Request Infra"
146 import org.openecomp.mso.bpmn.common.scripts.*
147 def updateRequestInfra= new FalloutHandler()
148 return updateRequestInfra.updateRequestInfraPayload(execution)]]></camunda:script>
149             </camunda:inputParameter>
150             <camunda:outputParameter name="FH_updateRequestInfraResponse"><![CDATA[${statusCode == null || statusCode == 204 ? "" : response}]]></camunda:outputParameter>
151             <camunda:outputParameter name="FH_updateRequestInfraResponseCode">${statusCode}</camunda:outputParameter>
152           </camunda:inputOutput>
153           <camunda:connectorId>soap-http-connector</camunda:connectorId>
154         </camunda:connector>
155       </bpmn2:extensionElements>
156       <bpmn2:incoming>SequenceFlow_26</bpmn2:incoming>
157       <bpmn2:outgoing>SequenceFlow_30</bpmn2:outgoing>
158     </bpmn2:serviceTask>
159     <bpmn2:sequenceFlow id="SequenceFlow_30" name="" sourceRef="ServiceTask_2" targetRef="ExclusiveGateway_8" />
160     <bpmn2:exclusiveGateway id="ExclusiveGateway_8" name="Update Success?" default="SequenceFlow_32">
161       <bpmn2:incoming>SequenceFlow_30</bpmn2:incoming>
162       <bpmn2:outgoing>SequenceFlow_32</bpmn2:outgoing>
163       <bpmn2:outgoing>SequenceFlow_36</bpmn2:outgoing>
164     </bpmn2:exclusiveGateway>
165     <bpmn2:sequenceFlow id="SequenceFlow_32" name="" sourceRef="ExclusiveGateway_8" targetRef="ScriptTask_7" />
166     <bpmn2:sequenceFlow id="SequenceFlow_36" name="" sourceRef="ExclusiveGateway_8" targetRef="ParallelGateway_5">
167       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("FH_updateRequestInfraResponseCode")==200}]]></bpmn2:conditionExpression>
168     </bpmn2:sequenceFlow>
169     <bpmn2:boundaryEvent id="BoundaryEvent_3" name="Connect Fault" attachedToRef="ServiceTask_2">
170       <bpmn2:outgoing>SequenceFlow_80</bpmn2:outgoing>
171       <bpmn2:errorEventDefinition id="_ErrorEventDefinition_90" errorRef="Error_2" />
172     </bpmn2:boundaryEvent>
173     <bpmn2:sequenceFlow id="SequenceFlow_80" name="" sourceRef="BoundaryEvent_3" targetRef="ScriptTask_7" />
174     <bpmn2:subProcess id="SubProcess_1" name="Event Handler" triggeredByEvent="true">
175       <bpmn2:scriptTask id="ScriptTask_4" name="Handle Event" scriptFormat="groovy">
176         <bpmn2:incoming>SequenceFlow_1ko8ggw</bpmn2:incoming>
177         <bpmn2:outgoing>SequenceFlow_1pm9r7h</bpmn2:outgoing>
178         <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
179 execution.setVariable("FH_success", false)
180 def falloutHandler = new FalloutHandler()
181
182 // This does not (and cannot) throw exceptions
183 falloutHandler.postProcessResponse(execution)
184
185 // Clear any WorkflowException object that might be in the execution, but keep a copy in FH_WorkflowException
186 def wfe = execution.getVariable("WorkflowException")
187 execution.setVariable("WorkflowException", null)
188 execution.setVariable("FH_WorkflowException", wfe)]]></bpmn2:script>
189       </bpmn2:scriptTask>
190       <bpmn2:startEvent id="StartEvent_2">
191         <bpmn2:outgoing>SequenceFlow_1ko8ggw</bpmn2:outgoing>
192         <bpmn2:errorEventDefinition id="ErrorEventDefinition_8" />
193       </bpmn2:startEvent>
194       <bpmn2:endEvent id="EndEvent_2" name="Error End">
195         <bpmn2:incoming>SequenceFlow_1pm9r7h</bpmn2:incoming>
196         <bpmn2:terminateEventDefinition />
197       </bpmn2:endEvent>
198       <bpmn2:sequenceFlow id="SequenceFlow_1ko8ggw" sourceRef="StartEvent_2" targetRef="ScriptTask_4" />
199       <bpmn2:sequenceFlow id="SequenceFlow_1pm9r7h" sourceRef="ScriptTask_4" targetRef="EndEvent_2" />
200     </bpmn2:subProcess>
201     <bpmn2:endEvent id="EndEvent_14">
202       <bpmn2:incoming>SequenceFlow_73</bpmn2:incoming>
203       <bpmn2:terminateEventDefinition />
204     </bpmn2:endEvent>
205     <bpmn2:endEvent id="EndEvent_13">
206       <bpmn2:incoming>SequenceFlow_79</bpmn2:incoming>
207       <bpmn2:terminateEventDefinition />
208     </bpmn2:endEvent>
209     <bpmn2:sequenceFlow id="SequenceFlow_0m7gwor" sourceRef="Task_0ixuwt5" targetRef="ParallelGateway_4" />
210     <bpmn2:callActivity id="Task_0ixuwt5" name="Call Notification Service" calledElement="${URN_mso_workflow_notification_name}">
211       <bpmn2:extensionElements>
212         <camunda:in source="mso-request-id" target="mso-request-id" />
213         <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
214         <camunda:in variables="all" />
215         <camunda:out variables="all" />
216       </bpmn2:extensionElements>
217       <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
218       <bpmn2:outgoing>SequenceFlow_0m7gwor</bpmn2:outgoing>
219     </bpmn2:callActivity>
220   </bpmn2:process>
221   <bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
222   <bpmn2:error id="Error_2" name="Java Lang Exception" errorCode="java.lang.Exception" />
223   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
224     <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="FalloutHandler">
225       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_52" bpmnElement="StartEvent_1">
226         <dc:Bounds x="139" y="263" width="36" height="36" />
227         <bpmndi:BPMNLabel>
228           <dc:Bounds x="145" y="300" width="23" height="12" />
229         </bpmndi:BPMNLabel>
230       </bpmndi:BPMNShape>
231       <bpmndi:BPMNShape id="_BPMNShape_ParallelGateway_12" bpmnElement="ParallelGateway_1">
232         <dc:Bounds x="342" y="255" width="50" height="50" />
233         <bpmndi:BPMNLabel>
234           <dc:Bounds x="367" y="310" width="0" height="0" />
235         </bpmndi:BPMNLabel>
236       </bpmndi:BPMNShape>
237       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_74" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true">
238         <dc:Bounds x="415" y="107" width="50" height="50" />
239         <bpmndi:BPMNLabel>
240           <dc:Bounds x="315" y="89" width="81" height="24" />
241         </bpmndi:BPMNLabel>
242       </bpmndi:BPMNShape>
243       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ParallelGateway_12" targetElement="_BPMNShape_ExclusiveGateway_74">
244         <di:waypoint xsi:type="dc:Point" x="367" y="255" />
245         <di:waypoint xsi:type="dc:Point" x="367" y="132" />
246         <di:waypoint xsi:type="dc:Point" x="415" y="132" />
247         <bpmndi:BPMNLabel>
248           <dc:Bounds x="438" y="212" width="0" height="0" />
249         </bpmndi:BPMNLabel>
250       </bpmndi:BPMNEdge>
251       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ExclusiveGateway_74" targetElement="CallActivity_0jz0w0k_di">
252         <di:waypoint xsi:type="dc:Point" x="440" y="107" />
253         <di:waypoint xsi:type="dc:Point" x="440" y="65" />
254         <di:waypoint xsi:type="dc:Point" x="553" y="65" />
255         <bpmndi:BPMNLabel>
256           <dc:Bounds x="475" y="70" width="18" height="12" />
257         </bpmndi:BPMNLabel>
258       </bpmndi:BPMNEdge>
259       <bpmndi:BPMNShape id="_BPMNShape_ParallelGateway_15" bpmnElement="ParallelGateway_4" isMarkerVisible="true">
260         <dc:Bounds x="742" y="107" width="50" height="50" />
261         <bpmndi:BPMNLabel>
262           <dc:Bounds x="767" y="162" width="0" height="0" />
263         </bpmndi:BPMNLabel>
264       </bpmndi:BPMNShape>
265       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_74" targetElement="_BPMNShape_ParallelGateway_15">
266         <di:waypoint xsi:type="dc:Point" x="440" y="157" />
267         <di:waypoint xsi:type="dc:Point" x="441" y="198" />
268         <di:waypoint xsi:type="dc:Point" x="767" y="198" />
269         <di:waypoint xsi:type="dc:Point" x="767" y="157" />
270         <bpmndi:BPMNLabel>
271           <dc:Bounds x="452" y="173" width="12" height="12" />
272         </bpmndi:BPMNLabel>
273       </bpmndi:BPMNEdge>
274       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_79" bpmnElement="ExclusiveGateway_6" isMarkerVisible="true">
275         <dc:Bounds x="412" y="468" width="50" height="50" />
276         <bpmndi:BPMNLabel>
277           <dc:Bounds x="437" y="523" width="0" height="0" />
278         </bpmndi:BPMNLabel>
279       </bpmndi:BPMNShape>
280       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_24" sourceElement="_BPMNShape_ParallelGateway_12" targetElement="_BPMNShape_ExclusiveGateway_79">
281         <di:waypoint xsi:type="dc:Point" x="367" y="305" />
282         <di:waypoint xsi:type="dc:Point" x="367" y="493" />
283         <di:waypoint xsi:type="dc:Point" x="412" y="493" />
284         <bpmndi:BPMNLabel>
285           <dc:Bounds x="415" y="445" width="0" height="0" />
286         </bpmndi:BPMNLabel>
287       </bpmndi:BPMNEdge>
288       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_25" bpmnElement="SequenceFlow_25" sourceElement="_BPMNShape_ExclusiveGateway_79" targetElement="_BPMNShape_ServiceTask_90">
289         <di:waypoint xsi:type="dc:Point" x="437" y="468" />
290         <di:waypoint xsi:type="dc:Point" x="437" y="402" />
291         <di:waypoint xsi:type="dc:Point" x="492" y="402" />
292         <bpmndi:BPMNLabel>
293           <dc:Bounds x="437" y="444" width="0" height="0" />
294         </bpmndi:BPMNLabel>
295       </bpmndi:BPMNEdge>
296       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_26" bpmnElement="SequenceFlow_26" sourceElement="_BPMNShape_ExclusiveGateway_79" targetElement="_BPMNShape_ServiceTask_91">
297         <di:waypoint xsi:type="dc:Point" x="437" y="518" />
298         <di:waypoint xsi:type="dc:Point" x="437" y="650" />
299         <di:waypoint xsi:type="dc:Point" x="488" y="650" />
300         <bpmndi:BPMNLabel>
301           <dc:Bounds x="437" y="596" width="0" height="0" />
302         </bpmndi:BPMNLabel>
303       </bpmndi:BPMNEdge>
304       <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_90" bpmnElement="ServiceTask_3">
305         <dc:Bounds x="492" y="362" width="100" height="80" />
306       </bpmndi:BPMNShape>
307       <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_91" bpmnElement="ServiceTask_2">
308         <dc:Bounds x="488" y="610" width="100" height="80" />
309       </bpmndi:BPMNShape>
310       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_80" bpmnElement="ExclusiveGateway_7" isMarkerVisible="true">
311         <dc:Bounds x="675" y="376" width="50" height="50" />
312         <bpmndi:BPMNLabel>
313           <dc:Bounds x="657" y="431" width="87" height="12" />
314         </bpmndi:BPMNLabel>
315       </bpmndi:BPMNShape>
316       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_29" sourceElement="_BPMNShape_ServiceTask_90" targetElement="_BPMNShape_ExclusiveGateway_80">
317         <di:waypoint xsi:type="dc:Point" x="592" y="402" />
318         <di:waypoint xsi:type="dc:Point" x="675" y="401" />
319         <bpmndi:BPMNLabel>
320           <dc:Bounds x="632" y="404" width="0" height="0" />
321         </bpmndi:BPMNLabel>
322       </bpmndi:BPMNEdge>
323       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_81" bpmnElement="ExclusiveGateway_8" isMarkerVisible="true">
324         <dc:Bounds x="674" y="625" width="50" height="50" />
325         <bpmndi:BPMNLabel>
326           <dc:Bounds x="656" y="680" width="87" height="12" />
327         </bpmndi:BPMNLabel>
328       </bpmndi:BPMNShape>
329       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_30" bpmnElement="SequenceFlow_30" sourceElement="_BPMNShape_ServiceTask_91" targetElement="_BPMNShape_ExclusiveGateway_81">
330         <di:waypoint xsi:type="dc:Point" x="588" y="650" />
331         <di:waypoint xsi:type="dc:Point" x="626" y="650" />
332         <di:waypoint xsi:type="dc:Point" x="626" y="649" />
333         <di:waypoint xsi:type="dc:Point" x="674" y="650" />
334         <bpmndi:BPMNLabel>
335           <dc:Bounds x="636" y="651" width="0" height="0" />
336         </bpmndi:BPMNLabel>
337       </bpmndi:BPMNEdge>
338       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_31" bpmnElement="SequenceFlow_31" sourceElement="_BPMNShape_ExclusiveGateway_80" targetElement="_BPMNShape_ScriptTask_252">
339         <di:waypoint xsi:type="dc:Point" x="700" y="376" />
340         <di:waypoint xsi:type="dc:Point" x="701" y="324" />
341         <bpmndi:BPMNLabel>
342           <dc:Bounds x="707" y="351" width="0" height="0" />
343         </bpmndi:BPMNLabel>
344       </bpmndi:BPMNEdge>
345       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_32" bpmnElement="SequenceFlow_32" sourceElement="_BPMNShape_ExclusiveGateway_81" targetElement="_BPMNShape_ScriptTask_253">
346         <di:waypoint xsi:type="dc:Point" x="699" y="625" />
347         <di:waypoint xsi:type="dc:Point" x="699" y="608" />
348         <di:waypoint xsi:type="dc:Point" x="699" y="577" />
349         <bpmndi:BPMNLabel>
350           <dc:Bounds x="709" y="657" width="0" height="0" />
351         </bpmndi:BPMNLabel>
352       </bpmndi:BPMNEdge>
353       <bpmndi:BPMNShape id="_BPMNShape_ParallelGateway_16" bpmnElement="ParallelGateway_5" isMarkerVisible="true">
354         <dc:Bounds x="853" y="468" width="50" height="50" />
355         <bpmndi:BPMNLabel>
356           <dc:Bounds x="878" y="523" width="0" height="0" />
357         </bpmndi:BPMNLabel>
358       </bpmndi:BPMNShape>
359       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_35" bpmnElement="SequenceFlow_35" sourceElement="_BPMNShape_ExclusiveGateway_80" targetElement="_BPMNShape_ParallelGateway_16">
360         <di:waypoint xsi:type="dc:Point" x="725" y="401" />
361         <di:waypoint xsi:type="dc:Point" x="878" y="401" />
362         <di:waypoint xsi:type="dc:Point" x="878" y="468" />
363         <bpmndi:BPMNLabel>
364           <dc:Bounds x="762" y="392" width="0" height="0" />
365         </bpmndi:BPMNLabel>
366       </bpmndi:BPMNEdge>
367       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_36" bpmnElement="SequenceFlow_36" sourceElement="_BPMNShape_ExclusiveGateway_81" targetElement="_BPMNShape_ParallelGateway_16">
368         <di:waypoint xsi:type="dc:Point" x="724" y="650" />
369         <di:waypoint xsi:type="dc:Point" x="878" y="650" />
370         <di:waypoint xsi:type="dc:Point" x="878" y="518" />
371         <bpmndi:BPMNLabel>
372           <dc:Bounds x="878" y="574" width="0" height="0" />
373         </bpmndi:BPMNLabel>
374       </bpmndi:BPMNEdge>
375       <bpmndi:BPMNShape id="_BPMNShape_ParallelGateway_17" bpmnElement="ParallelGateway_6">
376         <dc:Bounds x="957" y="254" width="50" height="50" />
377         <bpmndi:BPMNLabel>
378           <dc:Bounds x="982" y="309" width="0" height="0" />
379         </bpmndi:BPMNLabel>
380       </bpmndi:BPMNShape>
381       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_37" bpmnElement="SequenceFlow_37" sourceElement="_BPMNShape_ParallelGateway_16" targetElement="_BPMNShape_ParallelGateway_17">
382         <di:waypoint xsi:type="dc:Point" x="903" y="493" />
383         <di:waypoint xsi:type="dc:Point" x="982" y="493" />
384         <di:waypoint xsi:type="dc:Point" x="982" y="304" />
385         <bpmndi:BPMNLabel>
386           <dc:Bounds x="943" y="478" width="0" height="0" />
387         </bpmndi:BPMNLabel>
388       </bpmndi:BPMNEdge>
389       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_38" sourceElement="_BPMNShape_ParallelGateway_15" targetElement="_BPMNShape_ParallelGateway_17">
390         <di:waypoint xsi:type="dc:Point" x="792" y="132" />
391         <di:waypoint xsi:type="dc:Point" x="982" y="132" />
392         <di:waypoint xsi:type="dc:Point" x="982" y="254" />
393         <bpmndi:BPMNLabel>
394           <dc:Bounds x="887" y="117" width="0" height="0" />
395         </bpmndi:BPMNLabel>
396       </bpmndi:BPMNEdge>
397       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_StartEvent_52" targetElement="_BPMNShape_ScriptTask_99">
398         <di:waypoint xsi:type="dc:Point" x="175" y="281" />
399         <di:waypoint xsi:type="dc:Point" x="211" y="281" />
400         <bpmndi:BPMNLabel>
401           <dc:Bounds x="193" y="281" width="0" height="0" />
402         </bpmndi:BPMNLabel>
403       </bpmndi:BPMNEdge>
404       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_99" bpmnElement="ScriptTask_8">
405         <dc:Bounds x="211" y="241" width="100" height="80" />
406       </bpmndi:BPMNShape>
407       <bpmndi:BPMNShape id="_BPMNShape_SubProcess_14" bpmnElement="SubProcess_1" isExpanded="true">
408         <dc:Bounds x="146" y="759" width="329" height="167" />
409       </bpmndi:BPMNShape>
410       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_100" bpmnElement="ScriptTask_4">
411         <dc:Bounds x="259" y="803" width="100" height="80" />
412       </bpmndi:BPMNShape>
413       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_54" bpmnElement="StartEvent_2">
414         <dc:Bounds x="175" y="825" width="36" height="36" />
415         <bpmndi:BPMNLabel>
416           <dc:Bounds x="193" y="869" width="0" height="0" />
417         </bpmndi:BPMNLabel>
418       </bpmndi:BPMNShape>
419       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_101" bpmnElement="ScriptTask_2">
420         <dc:Bounds x="1054" y="240" width="100" height="80" />
421       </bpmndi:BPMNShape>
422       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ParallelGateway_17" targetElement="_BPMNShape_ScriptTask_101">
423         <di:waypoint xsi:type="dc:Point" x="1007" y="279" />
424         <di:waypoint xsi:type="dc:Point" x="1054" y="280" />
425         <bpmndi:BPMNLabel>
426           <dc:Bounds x="1177" y="280" width="0" height="0" />
427         </bpmndi:BPMNLabel>
428       </bpmndi:BPMNEdge>
429       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_ScriptTask_99" targetElement="_BPMNShape_ParallelGateway_12">
430         <di:waypoint xsi:type="dc:Point" x="311" y="281" />
431         <di:waypoint xsi:type="dc:Point" x="342" y="280" />
432         <bpmndi:BPMNLabel>
433           <dc:Bounds x="327" y="281" width="0" height="0" />
434         </bpmndi:BPMNLabel>
435       </bpmndi:BPMNEdge>
436       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_129" bpmnElement="EndEvent_6">
437         <dc:Bounds x="1188" y="262" width="36" height="36" />
438         <bpmndi:BPMNLabel>
439           <dc:Bounds x="1177" y="303" width="57" height="12" />
440         </bpmndi:BPMNLabel>
441       </bpmndi:BPMNShape>
442       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_ScriptTask_101" targetElement="_BPMNShape_EndEvent_129">
443         <di:waypoint xsi:type="dc:Point" x="1154" y="280" />
444         <di:waypoint xsi:type="dc:Point" x="1188" y="280" />
445         <bpmndi:BPMNLabel>
446           <dc:Bounds x="1171" y="280" width="0" height="0" />
447         </bpmndi:BPMNLabel>
448       </bpmndi:BPMNEdge>
449       <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_31" bpmnElement="BoundaryEvent_2">
450         <dc:Bounds x="525" y="344" width="36" height="36" />
451         <bpmndi:BPMNLabel>
452           <dc:Bounds x="563" y="300" width="68" height="12" />
453         </bpmndi:BPMNLabel>
454       </bpmndi:BPMNShape>
455       <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_32" bpmnElement="BoundaryEvent_3">
456         <dc:Bounds x="521" y="592" width="36" height="36" />
457         <bpmndi:BPMNLabel>
458           <dc:Bounds x="563" y="554" width="68" height="12" />
459         </bpmndi:BPMNLabel>
460       </bpmndi:BPMNShape>
461       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_72" bpmnElement="SequenceFlow_72" sourceElement="_BPMNShape_BoundaryEvent_31" targetElement="_BPMNShape_ScriptTask_252">
462         <di:waypoint xsi:type="dc:Point" x="543" y="344" />
463         <di:waypoint xsi:type="dc:Point" x="543" y="284" />
464         <di:waypoint xsi:type="dc:Point" x="651" y="284" />
465         <bpmndi:BPMNLabel>
466           <dc:Bounds x="543" y="326" width="0" height="0" />
467         </bpmndi:BPMNLabel>
468       </bpmndi:BPMNEdge>
469       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_73" bpmnElement="SequenceFlow_73" sourceElement="_BPMNShape_ScriptTask_253">
470         <di:waypoint xsi:type="dc:Point" x="750" y="537" />
471         <di:waypoint xsi:type="dc:Point" x="790" y="537" />
472         <bpmndi:BPMNLabel>
473           <dc:Bounds x="770" y="522" width="0" height="0" />
474         </bpmndi:BPMNLabel>
475       </bpmndi:BPMNEdge>
476       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_252" bpmnElement="ScriptTask_6">
477         <dc:Bounds x="651" y="244" width="100" height="80" />
478       </bpmndi:BPMNShape>
479       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_253" bpmnElement="ScriptTask_7">
480         <dc:Bounds x="650" y="497" width="100" height="80" />
481       </bpmndi:BPMNShape>
482       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_79" bpmnElement="SequenceFlow_79" sourceElement="_BPMNShape_ScriptTask_252">
483         <di:waypoint xsi:type="dc:Point" x="751" y="284" />
484         <di:waypoint xsi:type="dc:Point" x="793" y="284" />
485         <bpmndi:BPMNLabel>
486           <dc:Bounds x="772" y="269" width="0" height="0" />
487         </bpmndi:BPMNLabel>
488       </bpmndi:BPMNEdge>
489       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_80" bpmnElement="SequenceFlow_80" sourceElement="_BPMNShape_BoundaryEvent_32" targetElement="_BPMNShape_ScriptTask_253">
490         <di:waypoint xsi:type="dc:Point" x="539" y="592" />
491         <di:waypoint xsi:type="dc:Point" x="539" y="537" />
492         <di:waypoint xsi:type="dc:Point" x="650" y="537" />
493         <bpmndi:BPMNLabel>
494           <dc:Bounds x="567" y="537" width="0" height="0" />
495         </bpmndi:BPMNLabel>
496       </bpmndi:BPMNEdge>
497       <bpmndi:BPMNShape id="EndEvent_0b9vn2u_di" bpmnElement="EndEvent_2">
498         <dc:Bounds x="403" y="825" width="36" height="36" />
499         <bpmndi:BPMNLabel>
500           <dc:Bounds x="399" y="869" width="47" height="12" />
501         </bpmndi:BPMNLabel>
502       </bpmndi:BPMNShape>
503       <bpmndi:BPMNShape id="EndEvent_1fmpj5u_di" bpmnElement="EndEvent_14">
504         <dc:Bounds x="790" y="519" width="36" height="36" />
505         <bpmndi:BPMNLabel>
506           <dc:Bounds x="808" y="560" width="0" height="0" />
507         </bpmndi:BPMNLabel>
508       </bpmndi:BPMNShape>
509       <bpmndi:BPMNShape id="EndEvent_0w1puhf_di" bpmnElement="EndEvent_13">
510         <dc:Bounds x="793" y="266" width="36" height="36" />
511         <bpmndi:BPMNLabel>
512           <dc:Bounds x="811" y="307" width="0" height="0" />
513         </bpmndi:BPMNLabel>
514       </bpmndi:BPMNShape>
515       <bpmndi:BPMNEdge id="SequenceFlow_0m7gwor_di" bpmnElement="SequenceFlow_0m7gwor">
516         <di:waypoint xsi:type="dc:Point" x="654" y="65" />
517         <di:waypoint xsi:type="dc:Point" x="767" y="65" />
518         <di:waypoint xsi:type="dc:Point" x="767" y="107" />
519         <bpmndi:BPMNLabel>
520           <dc:Bounds x="711" y="50" width="0" height="0" />
521         </bpmndi:BPMNLabel>
522       </bpmndi:BPMNEdge>
523       <bpmndi:BPMNEdge id="SequenceFlow_1ko8ggw_di" bpmnElement="SequenceFlow_1ko8ggw">
524         <di:waypoint xsi:type="dc:Point" x="211" y="843" />
525         <di:waypoint xsi:type="dc:Point" x="259" y="843" />
526         <bpmndi:BPMNLabel>
527           <dc:Bounds x="235" y="818" width="0" height="0" />
528         </bpmndi:BPMNLabel>
529       </bpmndi:BPMNEdge>
530       <bpmndi:BPMNEdge id="SequenceFlow_1pm9r7h_di" bpmnElement="SequenceFlow_1pm9r7h">
531         <di:waypoint xsi:type="dc:Point" x="359" y="843" />
532         <di:waypoint xsi:type="dc:Point" x="403" y="843" />
533         <bpmndi:BPMNLabel>
534           <dc:Bounds x="381" y="818" width="0" height="0" />
535         </bpmndi:BPMNLabel>
536       </bpmndi:BPMNEdge>
537       <bpmndi:BPMNShape id="CallActivity_0jz0w0k_di" bpmnElement="Task_0ixuwt5">
538         <dc:Bounds x="554" y="25" width="100" height="80" />
539       </bpmndi:BPMNShape>
540     </bpmndi:BPMNPlane>
541   </bpmndi:BPMNDiagram>
542 </bpmn2:definitions>