cee6e43f93f7faef57eb48a268f54b512a274302
[so.git] / bpmn / MSOCommonBPMN / src / main / resources / subprocess / SDNCAdapterRestV2.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:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="_GraPIIyxEeWmdMDkx6Uftw" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.13.1" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
3   <bpmn2:process id="SDNCAdapterRestV2" name="SDNCAdapterRestV2" isExecutable="true">
4     <bpmn2:documentation>This version of SDNCAdapterRest allows for interim notifications to be sent for any non-final response received from SDNC.</bpmn2:documentation>
5     <bpmn2:scriptTask id="ScriptTask_2" name="Log Response" scriptFormat="groovy">
6       <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
7       <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
8       <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
9 def sdncAdapterRestV2 = new SDNCAdapterRestV2()
10 def statusCode = execution.getVariable('SDNCREST_sdncAdapterStatusCode')
11 String response = String.valueOf(execution.getVariable('SDNCREST_sdncAdapterResponse'))
12 def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
13 def processKey = sdncAdapterRestV2.getProcessKey(execution)
14 sdncAdapterRestV2.logDebug(processKey + " received response from SDNCAdapter: statusCode=" + statusCode +
15         " response=" + (response.isEmpty() ? "" : "\n") + response, isDebugLogEnabled)</bpmn2:script>
16     </bpmn2:scriptTask>
17     <bpmn2:scriptTask id="ScriptTask_3" name="Workflow Exception (no connection)" scriptFormat="groovy">
18       <bpmn2:incoming>SequenceFlow_17</bpmn2:incoming>
19       <bpmn2:outgoing>SequenceFlow_35</bpmn2:outgoing>
20       <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
21 def exceptionUtil = new ExceptionUtil()
22 exceptionUtil.buildWorkflowException(execution, 5300, "Failed to communicate with SDNCAdapter")</bpmn2:script>
23     </bpmn2:scriptTask>
24     <bpmn2:scriptTask id="ScriptTask_4" name="Workflow Exception (bad response)" scriptFormat="groovy">
25       <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming>
26       <bpmn2:outgoing>SequenceFlow_36</bpmn2:outgoing>
27       <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
28
29 String res = execution.getVariable('SDNCREST_sdncAdapterResponse')
30
31 def sdncAdapterRestV2 = new SDNCAdapterRestV2()
32 sdncAdapterRestV2.sdncAdapterBuildWorkflowException(execution, res)</bpmn2:script>
33     </bpmn2:scriptTask>
34     <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="ScriptTask_2" targetRef="ExclusiveGateway_1" />
35     <bpmn2:exclusiveGateway id="ExclusiveGateway_1" default="SequenceFlow_23">
36       <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
37       <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
38       <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing>
39       <bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing>
40     </bpmn2:exclusiveGateway>
41     <bpmn2:sequenceFlow id="SequenceFlow_17" name="404" sourceRef="ExclusiveGateway_1" targetRef="ScriptTask_3">
42       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("SDNCREST_sdncAdapterStatusCode") == '404'}</bpmn2:conditionExpression>
43     </bpmn2:sequenceFlow>
44     <bpmn2:sequenceFlow id="SequenceFlow_23" name="other" sourceRef="ExclusiveGateway_1" targetRef="ScriptTask_4" />
45     <bpmn2:sequenceFlow id="SequenceFlow_24" name="2xx" sourceRef="ExclusiveGateway_1" targetRef="SubProcess_2">
46       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("SDNCREST_sdncAdapterStatusCode") == '200' || execution.getVariable("SDNCREST_sdncAdapterStatusCode") == '202'}</bpmn2:conditionExpression>
47     </bpmn2:sequenceFlow>
48     <bpmn2:sequenceFlow id="SequenceFlow_35" name="" sourceRef="ScriptTask_3" targetRef="EndEvent_9" />
49     <bpmn2:endEvent id="EndEvent_9">
50       <bpmn2:incoming>SequenceFlow_35</bpmn2:incoming>
51       <bpmn2:errorEventDefinition id="_ErrorEventDefinition_22" errorRef="Error_1" />
52     </bpmn2:endEvent>
53     <bpmn2:endEvent id="EndEvent_10">
54       <bpmn2:incoming>SequenceFlow_36</bpmn2:incoming>
55       <bpmn2:errorEventDefinition id="_ErrorEventDefinition_23" errorRef="Error_1" />
56     </bpmn2:endEvent>
57     <bpmn2:sequenceFlow id="SequenceFlow_36" name="" sourceRef="ScriptTask_4" targetRef="EndEvent_10" />
58     <bpmn2:scriptTask id="ScriptTask_7" name="Send Request to SDNC Adapter" scriptFormat="groovy">
59       <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
60       <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
61       <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
62 def sdncAdapterRestV2 = new SDNCAdapterRestV2()
63 sdncAdapterRestV2.sendRequestToSDNCAdapter(execution)</bpmn2:script>
64     </bpmn2:scriptTask>
65     <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="ScriptTask_7" targetRef="ScriptTask_2" />
66     <bpmn2:scriptTask id="ScriptTask_1" name="Pre-Process Request" scriptFormat="groovy">
67       <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
68       <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
69       <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
70 def sdncAdapterRestV2 = new SDNCAdapterRestV2()
71 sdncAdapterRestV2.preProcessRequest(execution)
72 </bpmn2:script>
73     </bpmn2:scriptTask>
74     <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="ScriptTask_1" targetRef="ScriptTask_7" />
75     <bpmn2:startEvent id="StartEvent_1" name="Start">
76       <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
77     </bpmn2:startEvent>
78     <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="StartEvent_1" targetRef="ScriptTask_1" />
79     <bpmn2:scriptTask id="ScriptTask_5" name="Workflow Exception (timeout)" scriptFormat="groovy">
80       <bpmn2:incoming>SequenceFlow_27</bpmn2:incoming>
81       <bpmn2:outgoing>SequenceFlow_34</bpmn2:outgoing>
82       <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
83 def exceptionUtil = new ExceptionUtil()
84 exceptionUtil.buildWorkflowException(execution, 5320, "SDNCAdapter Callback Timeout Error")</bpmn2:script>
85     </bpmn2:scriptTask>
86     <bpmn2:sequenceFlow id="SequenceFlow_34" name="" sourceRef="ScriptTask_5" targetRef="EndEvent_8" />
87     <bpmn2:endEvent id="EndEvent_8">
88       <bpmn2:incoming>SequenceFlow_34</bpmn2:incoming>
89       <bpmn2:errorEventDefinition id="_ErrorEventDefinition_21" errorRef="Error_1" />
90     </bpmn2:endEvent>
91     <bpmn2:scriptTask id="ScriptTask_setSuccess" name="Set Success Indicator and WorkflowResponse" scriptFormat="groovy">
92       <bpmn2:incoming>SequenceFlow_44</bpmn2:incoming>
93       <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
94       <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
95 def sdncAdapterRestV2 = new SDNCAdapterRestV2()
96 sdncAdapterRestV2.setSuccessIndicator(execution, true)
97 execution.setVariable('WorkflowResponse', sdncAdapterRestV2.getLastCallback(execution))</bpmn2:script>
98     </bpmn2:scriptTask>
99     <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="ScriptTask_setSuccess" targetRef="EndEvent_6" />
100     <bpmn2:endEvent id="EndEvent_6" name="End">
101       <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
102     </bpmn2:endEvent>
103     <bpmn2:boundaryEvent id="BoundaryEvent_1" name="Timeout" attachedToRef="SubProcess_2">
104       <bpmn2:outgoing>SequenceFlow_27</bpmn2:outgoing>
105       <bpmn2:timerEventDefinition id="TimerEventDefinition_1">
106         <bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression">${SDNCREST_timeout}</bpmn2:timeDuration>
107       </bpmn2:timerEventDefinition>
108     </bpmn2:boundaryEvent>
109     <bpmn2:sequenceFlow id="SequenceFlow_27" name="" sourceRef="BoundaryEvent_1" targetRef="ScriptTask_5" />
110     <bpmn2:subProcess id="SubProcess_2" name="Wait for Callbacks" camunda:asyncAfter="true">
111       <bpmn2:incoming>SequenceFlow_24</bpmn2:incoming>
112       <bpmn2:outgoing>SequenceFlow_44</bpmn2:outgoing>
113       <bpmn2:scriptTask id="ScriptTask_6" name="Process Callback" scriptFormat="groovy">
114         <bpmn2:incoming>SequenceFlow_41</bpmn2:incoming>
115         <bpmn2:outgoing>SequenceFlow_42</bpmn2:outgoing>
116         <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
117 def sdncAdapterRestV2 = new SDNCAdapterRestV2()
118 sdncAdapterRestV2.processCallback(execution)</bpmn2:script>
119       </bpmn2:scriptTask>
120       <bpmn2:sequenceFlow id="SequenceFlow_42" name="" sourceRef="ScriptTask_6" targetRef="ExclusiveGateway_3" />
121       <bpmn2:startEvent id="StartEvent_3">
122         <bpmn2:outgoing>SequenceFlow_25</bpmn2:outgoing>
123       </bpmn2:startEvent>
124       <bpmn2:sequenceFlow id="SequenceFlow_25" name="" sourceRef="StartEvent_3" targetRef="IntermediateCatchEvent_1" />
125       <bpmn2:exclusiveGateway id="ExclusiveGateway_7" name="ack-final-indicator" default="SequenceFlow_43">
126         <bpmn2:incoming>SequenceFlow_30</bpmn2:incoming>
127         <bpmn2:outgoing>SequenceFlow_39</bpmn2:outgoing>
128         <bpmn2:outgoing>SequenceFlow_43</bpmn2:outgoing>
129       </bpmn2:exclusiveGateway>
130       <bpmn2:sequenceFlow id="SequenceFlow_39" name="Y" sourceRef="ExclusiveGateway_7" targetRef="EndEvent_12">
131         <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable('SDNCREST_ackFinalIndicator')=="Y"}</bpmn2:conditionExpression>
132       </bpmn2:sequenceFlow>
133       <bpmn2:sequenceFlow id="SequenceFlow_43" name="N" sourceRef="ExclusiveGateway_7" targetRef="ExclusiveGateway_1611bnb" />
134       <bpmn2:exclusiveGateway id="ExclusiveGateway_3" name="Callback&#10;&#10;Exception?" default="SequenceFlow_30">
135         <bpmn2:incoming>SequenceFlow_42</bpmn2:incoming>
136         <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing>
137         <bpmn2:outgoing>SequenceFlow_30</bpmn2:outgoing>
138       </bpmn2:exclusiveGateway>
139       <bpmn2:sequenceFlow id="SequenceFlow_8" name="yes" sourceRef="ExclusiveGateway_3" targetRef="EndEvent_3">
140         <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("WorkflowException") != null}</bpmn2:conditionExpression>
141       </bpmn2:sequenceFlow>
142       <bpmn2:sequenceFlow id="SequenceFlow_30" name="no" sourceRef="ExclusiveGateway_3" targetRef="ExclusiveGateway_7" />
143       <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1" name="Catch Event">
144         <bpmn2:incoming>SequenceFlow_25</bpmn2:incoming>
145         <bpmn2:incoming>SequenceFlow_0u48ihb</bpmn2:incoming>
146         <bpmn2:incoming>SequenceFlow_0vluoaq</bpmn2:incoming>
147         <bpmn2:outgoing>SequenceFlow_41</bpmn2:outgoing>
148         <bpmn2:messageEventDefinition id="MessageEventDefinition_1" messageRef="Message_1" />
149       </bpmn2:intermediateCatchEvent>
150       <bpmn2:sequenceFlow id="SequenceFlow_41" name="" sourceRef="IntermediateCatchEvent_1" targetRef="ScriptTask_6" />
151       <bpmn2:endEvent id="EndEvent_12">
152         <bpmn2:incoming>SequenceFlow_39</bpmn2:incoming>
153       </bpmn2:endEvent>
154       <bpmn2:endEvent id="EndEvent_3">
155         <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming>
156         <bpmn2:errorEventDefinition id="_ErrorEventDefinition_90" errorRef="Error_1" />
157       </bpmn2:endEvent>
158       <bpmn2:exclusiveGateway id="ExclusiveGateway_1611bnb" name="Do Interim Notification?" default="SequenceFlow_0u48ihb">
159         <bpmn2:incoming>SequenceFlow_43</bpmn2:incoming>
160         <bpmn2:outgoing>SequenceFlow_0u48ihb</bpmn2:outgoing>
161         <bpmn2:outgoing>SequenceFlow_1g8pswz</bpmn2:outgoing>
162       </bpmn2:exclusiveGateway>
163       <bpmn2:scriptTask id="Task_0pe8nq9" name="Prepare Interim Notification" scriptFormat="groovy">
164         <bpmn2:incoming>SequenceFlow_1g8pswz</bpmn2:incoming>
165         <bpmn2:outgoing>SequenceFlow_0my3p6y</bpmn2:outgoing>
166         <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
167 def sdncAdapterRestV2 = new SDNCAdapterRestV2()
168 sdncAdapterRestV2.prepareInterimNotification(execution)</bpmn2:script>
169       </bpmn2:scriptTask>
170       <bpmn2:sequenceFlow id="SequenceFlow_0u48ihb" name="N" sourceRef="ExclusiveGateway_1611bnb" targetRef="IntermediateCatchEvent_1" />
171       <bpmn2:sequenceFlow id="SequenceFlow_1g8pswz" name="Y" sourceRef="ExclusiveGateway_1611bnb" targetRef="Task_0pe8nq9">
172         <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("SDNCREST_doInterimNotification") != null &amp;&amp; execution.getVariable("SDNCREST_doInterimNotification") == true}</bpmn2:conditionExpression>
173       </bpmn2:sequenceFlow>
174       <bpmn2:sequenceFlow id="SequenceFlow_0my3p6y" sourceRef="Task_0pe8nq9" targetRef="Task_1ashvem" />
175       <bpmn2:sequenceFlow id="SequenceFlow_0vluoaq" sourceRef="Task_1ashvem" targetRef="IntermediateCatchEvent_1" />
176       <bpmn2:callActivity id="Task_1ashvem" name="Call Notification Service" calledElement="${UrnPropertiesReader.getVariable(&#34;mso.workflow.notification.name&#34;, execution)}">
177         <bpmn2:extensionElements>
178           <camunda:in target="all" variables="all" />
179           <camunda:out variables="all" />
180         </bpmn2:extensionElements>
181         <bpmn2:incoming>SequenceFlow_0my3p6y</bpmn2:incoming>
182         <bpmn2:outgoing>SequenceFlow_0vluoaq</bpmn2:outgoing>
183       </bpmn2:callActivity>
184     </bpmn2:subProcess>
185     <bpmn2:sequenceFlow id="SequenceFlow_44" name="" sourceRef="SubProcess_2" targetRef="ScriptTask_setSuccess" />
186     <bpmn2:subProcess id="SubProcess_1" name="Error Handling Sub Process" triggeredByEvent="true">
187       <bpmn2:startEvent id="StartEvent_2">
188         <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
189         <bpmn2:errorEventDefinition id="_ErrorEventDefinition_89" />
190       </bpmn2:startEvent>
191       <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="StartEvent_2" targetRef="ScriptTask_8" />
192       <bpmn2:scriptTask id="ScriptTask_8" name="Process Error" scriptFormat="groovy">
193         <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
194         <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing>
195         <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
196 def exUtil = new ExceptionUtil()
197 exUtil.processSubflowsBPMNException(execution)
198 </bpmn2:script>
199       </bpmn2:scriptTask>
200       <bpmn2:sequenceFlow id="SequenceFlow_11" name="" sourceRef="ScriptTask_8" targetRef="EndEvent_2" />
201       <bpmn2:endEvent id="EndEvent_2">
202         <bpmn2:incoming>SequenceFlow_11</bpmn2:incoming>
203       </bpmn2:endEvent>
204     </bpmn2:subProcess>
205   </bpmn2:process>
206   <bpmn2:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
207   <bpmn2:message id="Message_1" name="WorkflowMessage" />
208   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
209     <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="SDNCAdapterRestV2">
210       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_56" bpmnElement="ScriptTask_1">
211         <dc:Bounds x="204" y="148" width="100" height="80" />
212       </bpmndi:BPMNShape>
213       <bpmndi:BPMNShape id="_BPMNShape_SubProcess_14" bpmnElement="SubProcess_2" isExpanded="true">
214         <dc:Bounds x="745" y="236" width="633" height="440" />
215       </bpmndi:BPMNShape>
216       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_58" bpmnElement="ScriptTask_6">
217         <dc:Bounds x="949" y="494" width="100" height="80" />
218       </bpmndi:BPMNShape>
219       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_59" bpmnElement="ScriptTask_5">
220         <dc:Bounds x="1418" y="726" width="100" height="80" />
221       </bpmndi:BPMNShape>
222       <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_24" bpmnElement="BoundaryEvent_1">
223         <dc:Bounds x="1305" y="658" width="36" height="36" />
224         <bpmndi:BPMNLabel>
225           <dc:Bounds x="1346" y="688" width="39" height="12" />
226         </bpmndi:BPMNLabel>
227       </bpmndi:BPMNShape>
228       <bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_20" bpmnElement="IntermediateCatchEvent_1">
229         <dc:Bounds x="874" y="516" width="36" height="36" />
230         <bpmndi:BPMNLabel>
231           <dc:Bounds x="862" y="558" width="60" height="12" />
232         </bpmndi:BPMNLabel>
233       </bpmndi:BPMNShape>
234       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_78" bpmnElement="ScriptTask_4">
235         <dc:Bounds x="744" y="148" width="97" height="80" />
236       </bpmndi:BPMNShape>
237       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_79" bpmnElement="ScriptTask_2">
238         <dc:Bounds x="492" y="148" width="100" height="80" />
239       </bpmndi:BPMNShape>
240       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_54" bpmnElement="StartEvent_1">
241         <dc:Bounds x="130" y="170" width="36" height="36" />
242         <bpmndi:BPMNLabel>
243           <dc:Bounds x="131" y="211" width="34" height="22" />
244         </bpmndi:BPMNLabel>
245       </bpmndi:BPMNShape>
246       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_168" bpmnElement="ScriptTask_3">
247         <dc:Bounds x="744" y="24" width="97" height="80" />
248       </bpmndi:BPMNShape>
249       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_StartEvent_54" targetElement="_BPMNShape_ScriptTask_56">
250         <di:waypoint x="166" y="188" />
251         <di:waypoint x="204" y="188" />
252         <bpmndi:BPMNLabel>
253           <dc:Bounds x="176" y="188" width="6" height="6" />
254         </bpmndi:BPMNLabel>
255       </bpmndi:BPMNEdge>
256       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_105" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true">
257         <dc:Bounds x="624" y="162" width="50" height="50" />
258         <bpmndi:BPMNLabel>
259           <dc:Bounds x="649" y="217" width="0" height="0" />
260         </bpmndi:BPMNLabel>
261       </bpmndi:BPMNShape>
262       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_79" targetElement="_BPMNShape_ExclusiveGateway_105">
263         <di:waypoint x="592" y="188" />
264         <di:waypoint x="624" y="187" />
265         <bpmndi:BPMNLabel>
266           <dc:Bounds x="611" y="187" width="6" height="6" />
267         </bpmndi:BPMNLabel>
268       </bpmndi:BPMNEdge>
269       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ExclusiveGateway_105" targetElement="_BPMNShape_ScriptTask_168">
270         <di:waypoint x="649" y="162" />
271         <di:waypoint x="649" y="64" />
272         <di:waypoint x="744" y="64" />
273         <bpmndi:BPMNLabel>
274           <dc:Bounds x="688" y="64" width="27" height="22" />
275         </bpmndi:BPMNLabel>
276       </bpmndi:BPMNEdge>
277       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_20" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_105" targetElement="_BPMNShape_ScriptTask_78">
278         <di:waypoint x="674" y="187" />
279         <di:waypoint x="709" y="187" />
280         <di:waypoint x="709" y="188" />
281         <di:waypoint x="744" y="188" />
282         <bpmndi:BPMNLabel>
283           <dc:Bounds x="684" y="188" width="35" height="22" />
284         </bpmndi:BPMNLabel>
285       </bpmndi:BPMNEdge>
286       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_25" bpmnElement="SequenceFlow_24" sourceElement="_BPMNShape_ExclusiveGateway_105" targetElement="_BPMNShape_SubProcess_14">
287         <di:waypoint x="649" y="212" />
288         <di:waypoint x="649" y="457" />
289         <di:waypoint x="745" y="457" />
290         <bpmndi:BPMNLabel>
291           <dc:Bounds x="691" y="457" width="18" height="12" />
292         </bpmndi:BPMNLabel>
293       </bpmndi:BPMNEdge>
294       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_55" bpmnElement="StartEvent_3">
295         <dc:Bounds x="777" y="516" width="36" height="36" />
296         <bpmndi:BPMNLabel>
297           <dc:Bounds x="795" y="557" width="0" height="0" />
298         </bpmndi:BPMNLabel>
299       </bpmndi:BPMNShape>
300       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_27" bpmnElement="SequenceFlow_25" sourceElement="_BPMNShape_StartEvent_55" targetElement="_BPMNShape_IntermediateCatchEvent_20">
301         <di:waypoint x="813" y="534" />
302         <di:waypoint x="842" y="534" />
303         <di:waypoint x="842" y="534" />
304         <di:waypoint x="874" y="534" />
305         <bpmndi:BPMNLabel>
306           <dc:Bounds x="857" y="534" width="0" height="0" />
307         </bpmndi:BPMNLabel>
308       </bpmndi:BPMNEdge>
309       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_27" sourceElement="_BPMNShape_BoundaryEvent_24" targetElement="_BPMNShape_ScriptTask_59">
310         <di:waypoint x="1323" y="694" />
311         <di:waypoint x="1323" y="766" />
312         <di:waypoint x="1418" y="766" />
313         <bpmndi:BPMNLabel>
314           <dc:Bounds x="1338" y="730" width="0" height="0" />
315         </bpmndi:BPMNLabel>
316       </bpmndi:BPMNEdge>
317       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_158" bpmnElement="EndEvent_6">
318         <dc:Bounds x="1603" y="440" width="36" height="36" />
319         <bpmndi:BPMNLabel>
320           <dc:Bounds x="1612" y="481" width="19" height="12" />
321         </bpmndi:BPMNLabel>
322       </bpmndi:BPMNShape>
323       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_160" bpmnElement="EndEvent_8">
324         <dc:Bounds x="1573" y="748" width="36" height="36" />
325         <bpmndi:BPMNLabel>
326           <dc:Bounds x="1591" y="789" width="0" height="0" />
327         </bpmndi:BPMNLabel>
328       </bpmndi:BPMNShape>
329       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_36" bpmnElement="SequenceFlow_34" sourceElement="_BPMNShape_ScriptTask_59" targetElement="_BPMNShape_EndEvent_160">
330         <di:waypoint x="1518" y="766" />
331         <di:waypoint x="1540" y="766" />
332         <di:waypoint x="1540" y="766" />
333         <di:waypoint x="1573" y="766" />
334         <bpmndi:BPMNLabel>
335           <dc:Bounds x="1555" y="766" width="0" height="0" />
336         </bpmndi:BPMNLabel>
337       </bpmndi:BPMNEdge>
338       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_161" bpmnElement="EndEvent_9">
339         <dc:Bounds x="891" y="46" width="36" height="36" />
340         <bpmndi:BPMNLabel>
341           <dc:Bounds x="909" y="87" width="0" height="0" />
342         </bpmndi:BPMNLabel>
343       </bpmndi:BPMNShape>
344       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_37" bpmnElement="SequenceFlow_35" sourceElement="_BPMNShape_ScriptTask_168" targetElement="_BPMNShape_EndEvent_161">
345         <di:waypoint x="840" y="64" />
346         <di:waypoint x="891" y="64" />
347         <bpmndi:BPMNLabel>
348           <dc:Bounds x="865" y="64" width="6" height="6" />
349         </bpmndi:BPMNLabel>
350       </bpmndi:BPMNEdge>
351       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_162" bpmnElement="EndEvent_10">
352         <dc:Bounds x="892" y="170" width="36" height="36" />
353         <bpmndi:BPMNLabel>
354           <dc:Bounds x="910" y="211" width="0" height="0" />
355         </bpmndi:BPMNLabel>
356       </bpmndi:BPMNShape>
357       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_36" sourceElement="_BPMNShape_ScriptTask_78" targetElement="_BPMNShape_EndEvent_162">
358         <di:waypoint x="840" y="188" />
359         <di:waypoint x="892" y="188" />
360       </bpmndi:BPMNEdge>
361       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_236" bpmnElement="ScriptTask_setSuccess">
362         <dc:Bounds x="1455" y="416" width="97" height="83" />
363       </bpmndi:BPMNShape>
364       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_ScriptTask_236" targetElement="_BPMNShape_EndEvent_158">
365         <di:waypoint x="1552" y="457" />
366         <di:waypoint x="1603" y="458" />
367         <bpmndi:BPMNLabel>
368           <dc:Bounds x="1578" y="442.5" width="0" height="0" />
369         </bpmndi:BPMNLabel>
370       </bpmndi:BPMNEdge>
371       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_237" bpmnElement="ScriptTask_7">
372         <dc:Bounds x="360" y="146" width="97" height="83" />
373       </bpmndi:BPMNShape>
374       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_56" targetElement="_BPMNShape_ScriptTask_237">
375         <di:waypoint x="304" y="188" />
376         <di:waypoint x="344" y="188" />
377         <di:waypoint x="344" y="187" />
378         <di:waypoint x="360" y="187" />
379         <bpmndi:BPMNLabel>
380           <dc:Bounds x="317" y="188" width="6" height="6" />
381         </bpmndi:BPMNLabel>
382       </bpmndi:BPMNEdge>
383       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_237" targetElement="_BPMNShape_ScriptTask_79">
384         <di:waypoint x="456" y="187" />
385         <di:waypoint x="474" y="187" />
386         <di:waypoint x="474" y="188" />
387         <di:waypoint x="492" y="188" />
388       </bpmndi:BPMNEdge>
389       <bpmndi:BPMNShape id="_BPMNShape_SubProcess_24" bpmnElement="SubProcess_1" isExpanded="true">
390         <dc:Bounds x="156" y="516" width="382" height="181" />
391       </bpmndi:BPMNShape>
392       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_66" bpmnElement="StartEvent_2">
393         <dc:Bounds x="204" y="589" width="36" height="36" />
394         <bpmndi:BPMNLabel>
395           <dc:Bounds x="222" y="630" width="0" height="0" />
396         </bpmndi:BPMNLabel>
397       </bpmndi:BPMNShape>
398       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_266" bpmnElement="ScriptTask_8">
399         <dc:Bounds x="302" y="565" width="97" height="83" />
400       </bpmndi:BPMNShape>
401       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_StartEvent_66" targetElement="_BPMNShape_ScriptTask_266">
402         <di:waypoint x="240" y="607" />
403         <di:waypoint x="302" y="606" />
404         <bpmndi:BPMNLabel>
405           <dc:Bounds x="280" y="630" width="6" height="6" />
406         </bpmndi:BPMNLabel>
407       </bpmndi:BPMNEdge>
408       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_107" bpmnElement="ExclusiveGateway_3" isMarkerVisible="true">
409         <dc:Bounds x="1105" y="509" width="50" height="50" />
410         <bpmndi:BPMNLabel>
411           <dc:Bounds x="1068" y="544" width="54" height="24" />
412         </bpmndi:BPMNLabel>
413       </bpmndi:BPMNShape>
414       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_215" bpmnElement="EndEvent_3">
415         <dc:Bounds x="1112" y="619" width="36" height="36" />
416         <bpmndi:BPMNLabel>
417           <dc:Bounds x="1130" y="660" width="0" height="0" />
418         </bpmndi:BPMNLabel>
419       </bpmndi:BPMNShape>
420       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ExclusiveGateway_107" targetElement="_BPMNShape_EndEvent_215">
421         <di:waypoint x="1129" y="558" />
422         <di:waypoint x="1130" y="619" />
423         <bpmndi:BPMNLabel>
424           <dc:Bounds x="1135" y="575.0654163104991" width="18" height="12" />
425         </bpmndi:BPMNLabel>
426       </bpmndi:BPMNEdge>
427       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_111" bpmnElement="ExclusiveGateway_7" isMarkerVisible="true">
428         <dc:Bounds x="1205" y="508" width="50" height="50" />
429         <bpmndi:BPMNLabel>
430           <dc:Bounds x="1193" y="562" width="86" height="12" />
431         </bpmndi:BPMNLabel>
432       </bpmndi:BPMNShape>
433       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_26" bpmnElement="SequenceFlow_30" sourceElement="_BPMNShape_ExclusiveGateway_107" targetElement="_BPMNShape_ExclusiveGateway_111">
434         <di:waypoint x="1155" y="534" />
435         <di:waypoint x="1205" y="533" />
436         <bpmndi:BPMNLabel>
437           <dc:Bounds x="1166" y="533.6762115651724" width="12" height="12" />
438         </bpmndi:BPMNLabel>
439       </bpmndi:BPMNEdge>
440       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_39" bpmnElement="SequenceFlow_39" sourceElement="_BPMNShape_ExclusiveGateway_111" targetElement="_BPMNShape_EndEvent_219">
441         <di:waypoint x="1255" y="533" />
442         <di:waypoint x="1309" y="534" />
443         <bpmndi:BPMNLabel>
444           <dc:Bounds x="1277" y="508" width="7" height="12" />
445         </bpmndi:BPMNLabel>
446       </bpmndi:BPMNEdge>
447       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_41" bpmnElement="SequenceFlow_41" sourceElement="_BPMNShape_IntermediateCatchEvent_20" targetElement="_BPMNShape_ScriptTask_58">
448         <di:waypoint x="910" y="534" />
449         <di:waypoint x="949" y="534" />
450         <bpmndi:BPMNLabel>
451           <dc:Bounds x="930" y="519" width="0" height="0" />
452         </bpmndi:BPMNLabel>
453       </bpmndi:BPMNEdge>
454       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_219" bpmnElement="EndEvent_12">
455         <dc:Bounds x="1309" y="516" width="36" height="36" />
456         <bpmndi:BPMNLabel>
457           <dc:Bounds x="1327" y="557" width="0" height="0" />
458         </bpmndi:BPMNLabel>
459       </bpmndi:BPMNShape>
460       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_42" bpmnElement="SequenceFlow_42" sourceElement="_BPMNShape_ScriptTask_58" targetElement="_BPMNShape_ExclusiveGateway_107">
461         <di:waypoint x="1049" y="534" />
462         <di:waypoint x="1105" y="534" />
463         <bpmndi:BPMNLabel>
464           <dc:Bounds x="1077" y="519" width="0" height="0" />
465         </bpmndi:BPMNLabel>
466       </bpmndi:BPMNEdge>
467       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_43" bpmnElement="SequenceFlow_43" sourceElement="_BPMNShape_ExclusiveGateway_111" targetElement="_BPMNShape_IntermediateCatchEvent_20">
468         <di:waypoint x="1230" y="508" />
469         <di:waypoint x="1230" y="444" />
470         <bpmndi:BPMNLabel>
471           <dc:Bounds x="1236" y="478.9261883440748" width="8" height="12" />
472         </bpmndi:BPMNLabel>
473       </bpmndi:BPMNEdge>
474       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_44" bpmnElement="SequenceFlow_44" sourceElement="_BPMNShape_SubProcess_14" targetElement="_BPMNShape_ScriptTask_236">
475         <di:waypoint x="1378" y="457" />
476         <di:waypoint x="1455" y="457" />
477         <bpmndi:BPMNLabel>
478           <dc:Bounds x="1417" y="442" width="0" height="0" />
479         </bpmndi:BPMNLabel>
480       </bpmndi:BPMNEdge>
481       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_220" bpmnElement="EndEvent_2">
482         <dc:Bounds x="444" y="589" width="36" height="36" />
483         <bpmndi:BPMNLabel>
484           <dc:Bounds x="462" y="630" width="0" height="0" />
485         </bpmndi:BPMNLabel>
486       </bpmndi:BPMNShape>
487       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_ScriptTask_266" targetElement="_BPMNShape_EndEvent_220">
488         <di:waypoint x="398" y="606" />
489         <di:waypoint x="444" y="607" />
490         <bpmndi:BPMNLabel>
491           <dc:Bounds x="412" y="606" width="6" height="6" />
492         </bpmndi:BPMNLabel>
493       </bpmndi:BPMNEdge>
494       <bpmndi:BPMNShape id="ExclusiveGateway_1611bnb_di" bpmnElement="ExclusiveGateway_1611bnb" isMarkerVisible="true">
495         <dc:Bounds x="1205" y="394" width="50" height="50" />
496         <bpmndi:BPMNLabel>
497           <dc:Bounds x="1258" y="407" width="59" height="24" />
498         </bpmndi:BPMNLabel>
499       </bpmndi:BPMNShape>
500       <bpmndi:BPMNShape id="ScriptTask_0czuzgs_di" bpmnElement="Task_0pe8nq9">
501         <dc:Bounds x="1092" y="293" width="100" height="80" />
502       </bpmndi:BPMNShape>
503       <bpmndi:BPMNEdge id="SequenceFlow_0u48ihb_di" bpmnElement="SequenceFlow_0u48ihb">
504         <di:waypoint x="1205" y="419" />
505         <di:waypoint x="892" y="419" />
506         <di:waypoint x="892" y="516" />
507         <bpmndi:BPMNLabel>
508           <dc:Bounds x="1174" y="402" width="8" height="12" />
509         </bpmndi:BPMNLabel>
510       </bpmndi:BPMNEdge>
511       <bpmndi:BPMNEdge id="SequenceFlow_1g8pswz_di" bpmnElement="SequenceFlow_1g8pswz">
512         <di:waypoint x="1230" y="394" />
513         <di:waypoint x="1230" y="333" />
514         <di:waypoint x="1192" y="333" />
515         <bpmndi:BPMNLabel>
516           <dc:Bounds x="1239" y="364.76190476190476" width="7" height="12" />
517         </bpmndi:BPMNLabel>
518       </bpmndi:BPMNEdge>
519       <bpmndi:BPMNEdge id="SequenceFlow_0my3p6y_di" bpmnElement="SequenceFlow_0my3p6y">
520         <di:waypoint x="1092" y="333" />
521         <di:waypoint x="1039" y="333" />
522         <bpmndi:BPMNLabel>
523           <dc:Bounds x="1066" y="318" width="0" height="0" />
524         </bpmndi:BPMNLabel>
525       </bpmndi:BPMNEdge>
526       <bpmndi:BPMNEdge id="SequenceFlow_0vluoaq_di" bpmnElement="SequenceFlow_0vluoaq">
527         <di:waypoint x="939" y="333" />
528         <di:waypoint x="892" y="333" />
529         <di:waypoint x="892" y="516" />
530         <bpmndi:BPMNLabel>
531           <dc:Bounds x="916" y="318" width="0" height="0" />
532         </bpmndi:BPMNLabel>
533       </bpmndi:BPMNEdge>
534       <bpmndi:BPMNShape id="CallActivity_1rlfstt_di" bpmnElement="Task_1ashvem">
535         <dc:Bounds x="939" y="293" width="100" height="80" />
536       </bpmndi:BPMNShape>
537     </bpmndi:BPMNPlane>
538   </bpmndi:BPMNDiagram>
539 </bpmn2:definitions>