1 <?xml version="1.0" encoding="UTF-8"?>
2 <bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="3.1.2">
3 <bpmn:process id="WorkflowActionBB" name="WorkflowActionBB" isExecutable="true">
4 <bpmn:extensionElements>
5 <camunda:executionListener class="org.onap.so.bpmn.core.plugins.AsyncTaskExecutorListener" event="end" />
6 </bpmn:extensionElements>
7 <bpmn:startEvent id="Start_WorkflowActionBB" name="start">
8 <bpmn:outgoing>SequenceFlow_15s0okp</bpmn:outgoing>
10 <bpmn:endEvent id="End_WorkflowActionBB" name="end">
11 <bpmn:incoming>SequenceFlow_0x4urgp</bpmn:incoming>
12 <bpmn:incoming>SequenceFlow_1pz6edz</bpmn:incoming>
14 <bpmn:sequenceFlow id="SequenceFlow_15s0okp" sourceRef="Start_WorkflowActionBB" targetRef="Task_RetrieveBBExectuionList" />
15 <bpmn:callActivity id="Call_ExecuteBB" name="Execute BB" camunda:asyncBefore="true" calledElement="ExecuteBuildingBlock">
16 <bpmn:extensionElements>
17 <camunda:in source="buildingBlock" target="buildingBlock" />
18 <camunda:out source="buildingBlock" target="buildingBlock" />
19 <camunda:out source="handlingCode" target="handlingCode" />
20 <camunda:in source="mso-request-id" target="mso-request-id" />
21 <camunda:in source="retryCount" target="retryCount" />
22 <camunda:out source="WorkflowExceptionErrorMessage" target="WorkflowExceptionErrorMessage" />
23 <camunda:in source="aLaCarte" target="aLaCarte" />
24 <camunda:in source="orchestrationStatusValidationResult" target="orchestrationStatusValidationResult" />
25 <camunda:out source="orchestrationStatusValidationResult" target="orchestrationStatusValidationResult" />
26 <camunda:out source="RetryDuration" target="RetryDuration" />
27 <camunda:in source="suppressRollback" target="suppressRollback" />
28 <camunda:out source="StatusMessage" target="StatusMessage" />
29 <camunda:in source="isRollback" target="isRollback" />
30 <camunda:in source="rollbackTargetState" target="rollbackTargetState" />
31 <camunda:out source="rollbackTargetState" target="rollbackTargetState" />
32 </bpmn:extensionElements>
33 <bpmn:incoming>SequenceFlow_0mew9im</bpmn:incoming>
34 <bpmn:outgoing>SequenceFlow_1hsqed1</bpmn:outgoing>
36 <bpmn:sequenceFlow id="SequenceFlow_0mqrkxv" sourceRef="Task_SelectBB" targetRef="ServiceTask_0e2p0xs" />
37 <bpmn:serviceTask id="Task_SelectBB" name="Select BB" camunda:expression="${WorkflowActionBBTasks.selectBB(execution)}">
38 <bpmn:incoming>SequenceFlow_1atzsgn</bpmn:incoming>
39 <bpmn:incoming>SequenceFlow_1tfizxf</bpmn:incoming>
40 <bpmn:incoming>SequenceFlow_1pnkpim</bpmn:incoming>
41 <bpmn:outgoing>SequenceFlow_0mqrkxv</bpmn:outgoing>
43 <bpmn:exclusiveGateway id="ExclusiveGateway_Finished" default="SequenceFlow_01j184u">
44 <bpmn:incoming>SequenceFlow_1fftixk</bpmn:incoming>
45 <bpmn:outgoing>SequenceFlow_1m2eezj</bpmn:outgoing>
46 <bpmn:outgoing>SequenceFlow_0v588sm</bpmn:outgoing>
47 <bpmn:outgoing>SequenceFlow_11530ei</bpmn:outgoing>
48 <bpmn:outgoing>SequenceFlow_01j184u</bpmn:outgoing>
49 <bpmn:outgoing>SequenceFlow_0l7kaba</bpmn:outgoing>
50 </bpmn:exclusiveGateway>
51 <bpmn:sequenceFlow id="SequenceFlow_1m2eezj" name="Completed = true" sourceRef="ExclusiveGateway_Finished" targetRef="ExclusiveGateway_isTopLevelFlowC">
52 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("completed")==true&&execution.getVariable("isRollback")==false&&execution.getVariable("handlingCode")=="Success"}</bpmn:conditionExpression>
54 <bpmn:serviceTask id="Task_RetrieveBBExectuionList" name="Retrieve BB Execution List" camunda:expression="${WorkflowAction.selectExecutionList(execution)}">
55 <bpmn:incoming>SequenceFlow_15s0okp</bpmn:incoming>
56 <bpmn:outgoing>SequenceFlow_0vc9go9</bpmn:outgoing>
58 <bpmn:serviceTask id="Task_SendSync" name="Send Sync Ack API Handler" camunda:asyncAfter="true" camunda:expression="${WorkflowActionBBTasks.sendSyncAck(execution)}">
59 <bpmn:incoming>SequenceFlow_0sckerv</bpmn:incoming>
60 <bpmn:outgoing>SequenceFlow_1lrz41x</bpmn:outgoing>
62 <bpmn:serviceTask id="Task_UpdateRequestComplete" name="Update Request To Complete" camunda:expression="${WorkflowActionBBTasks.updateRequestStatusToComplete(execution)}">
63 <bpmn:incoming>SequenceFlow_0kf5sen</bpmn:incoming>
64 <bpmn:outgoing>SequenceFlow_1pz6edz</bpmn:outgoing>
66 <bpmn:sequenceFlow id="SequenceFlow_1pz6edz" sourceRef="Task_UpdateRequestComplete" targetRef="End_WorkflowActionBB" />
67 <bpmn:subProcess id="SubProcess_18226x4" name="Error Handling" triggeredByEvent="true">
68 <bpmn:startEvent id="ErrorStart" name="error">
69 <bpmn:outgoing>SequenceFlow_1edjl5x</bpmn:outgoing>
70 <bpmn:errorEventDefinition />
72 <bpmn:endEvent id="ErrorEnd" name="end">
73 <bpmn:incoming>SequenceFlow_0wvzfgf</bpmn:incoming>
75 <bpmn:serviceTask id="Task_UpdateDb" name="Update Request To Failed" camunda:expression="${WorkflowActionBBFailure.updateRequestStatusToFailed(execution)}">
76 <bpmn:incoming>SequenceFlow_024g0d1</bpmn:incoming>
77 <bpmn:incoming>SequenceFlow_0eana0l</bpmn:incoming>
78 <bpmn:outgoing>SequenceFlow_0wvzfgf</bpmn:outgoing>
80 <bpmn:sequenceFlow id="SequenceFlow_1edjl5x" sourceRef="ErrorStart" targetRef="ExclusiveGateway_10q79b6" />
81 <bpmn:sequenceFlow id="SequenceFlow_0wvzfgf" sourceRef="Task_UpdateDb" targetRef="ErrorEnd" />
82 <bpmn:exclusiveGateway id="ExclusiveGateway_10q79b6" name="Is Top-Level Flow and Sync Ack not sent?" default="SequenceFlow_024g0d1">
83 <bpmn:incoming>SequenceFlow_1edjl5x</bpmn:incoming>
84 <bpmn:outgoing>SequenceFlow_024g0d1</bpmn:outgoing>
85 <bpmn:outgoing>SequenceFlow_0vi883o</bpmn:outgoing>
86 </bpmn:exclusiveGateway>
87 <bpmn:sequenceFlow id="SequenceFlow_024g0d1" name="no" sourceRef="ExclusiveGateway_10q79b6" targetRef="Task_UpdateDb" />
88 <bpmn:sequenceFlow id="SequenceFlow_0vi883o" name="yes" sourceRef="ExclusiveGateway_10q79b6" targetRef="Task_SendSyncAckError">
89 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isTopLevelFlow")==true&&execution.getVariable("sentSyncResponse")==false}</bpmn:conditionExpression>
91 <bpmn:sequenceFlow id="SequenceFlow_0eana0l" sourceRef="Task_SendSyncAckError" targetRef="Task_UpdateDb" />
92 <bpmn:serviceTask id="Task_SendSyncAckError" name="Send Sync Ack API Handler" camunda:asyncAfter="true" camunda:expression="${WorkflowActionBBTasks.sendErrorSyncAck(execution)}">
93 <bpmn:incoming>SequenceFlow_0vi883o</bpmn:incoming>
94 <bpmn:outgoing>SequenceFlow_0eana0l</bpmn:outgoing>
97 <bpmn:sequenceFlow id="SequenceFlow_0v588sm" name="Rollback = true" sourceRef="ExclusiveGateway_Finished" targetRef="Task_RollbackExecutionPath">
98 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("handlingCode")=="Rollback"||execution.getVariable("handlingCode")=="RollbackToAssigned"||execution.getVariable("handlingCode")=="RollbackToCreated"||execution.getVariable("handlingCode")=="RollbackToCreatedNoConfiguration"}</bpmn:conditionExpression>
100 <bpmn:sequenceFlow id="SequenceFlow_1atzsgn" sourceRef="Task_RollbackExecutionPath" targetRef="Task_SelectBB">
101 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isRollbackNeeded")==true}</bpmn:conditionExpression>
103 <bpmn:serviceTask id="Task_RollbackExecutionPath" name="Rollback Execution Path" camunda:expression="${WorkflowActionBBTasks.rollbackExecutionPath(execution)}">
104 <bpmn:incoming>SequenceFlow_0v588sm</bpmn:incoming>
105 <bpmn:outgoing>SequenceFlow_1atzsgn</bpmn:outgoing>
106 <bpmn:outgoing>SequenceFlow_11dlyzt</bpmn:outgoing>
108 <bpmn:sequenceFlow id="SequenceFlow_0vc9go9" sourceRef="Task_RetrieveBBExectuionList" targetRef="ExclusiveGateway_isTopLevelFlow" />
109 <bpmn:sequenceFlow id="SequenceFlow_11530ei" name="Abort = true" sourceRef="ExclusiveGateway_Finished" targetRef="ExclusiveGateway_isTopLevelFlowAbort">
110 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("handlingCode")=="Abort"}</bpmn:conditionExpression>
112 <bpmn:serviceTask id="Task_AbortAndCallErrorHandling" name="Update Request To Failed" camunda:expression="${WorkflowActionBBFailure.updateRequestStatusToFailed(execution)}">
113 <bpmn:incoming>SequenceFlow_02ksbt0</bpmn:incoming>
114 <bpmn:outgoing>SequenceFlow_1p8yxu6</bpmn:outgoing>
116 <bpmn:endEvent id="EndEvent_0lzz1ya" name="end">
117 <bpmn:incoming>SequenceFlow_1p8yxu6</bpmn:incoming>
118 <bpmn:incoming>SequenceFlow_1r570x3</bpmn:incoming>
120 <bpmn:sequenceFlow id="SequenceFlow_1p8yxu6" sourceRef="Task_AbortAndCallErrorHandling" targetRef="EndEvent_0lzz1ya" />
121 <bpmn:sequenceFlow id="SequenceFlow_01j184u" sourceRef="ExclusiveGateway_Finished" targetRef="Task_0a31dkf" />
122 <bpmn:serviceTask id="Task_0a31dkf" name="Check Retry Status" camunda:expression="${WorkflowActionBBTasks.checkRetryStatus(execution)}">
123 <bpmn:incoming>SequenceFlow_01j184u</bpmn:incoming>
124 <bpmn:outgoing>SequenceFlow_1pnkpim</bpmn:outgoing>
126 <bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlow" name="Is Top-Level Flow?" default="SequenceFlow_0sckerv">
127 <bpmn:incoming>SequenceFlow_0vc9go9</bpmn:incoming>
128 <bpmn:outgoing>SequenceFlow_0sckerv</bpmn:outgoing>
129 <bpmn:outgoing>SequenceFlow_0unbew4</bpmn:outgoing>
130 </bpmn:exclusiveGateway>
131 <bpmn:sequenceFlow id="SequenceFlow_0sckerv" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlow" targetRef="Task_SendSync" />
132 <bpmn:sequenceFlow id="SequenceFlow_0unbew4" name="no" sourceRef="ExclusiveGateway_isTopLevelFlow" targetRef="Task_PreValidateWorkflow">
133 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isTopLevelFlow")==false}</bpmn:conditionExpression>
135 <bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlowAbort" name="Is Top-Level Flow?" default="SequenceFlow_02ksbt0">
136 <bpmn:incoming>SequenceFlow_11530ei</bpmn:incoming>
137 <bpmn:outgoing>SequenceFlow_02ksbt0</bpmn:outgoing>
138 <bpmn:outgoing>SequenceFlow_1r570x3</bpmn:outgoing>
139 </bpmn:exclusiveGateway>
140 <bpmn:sequenceFlow id="SequenceFlow_02ksbt0" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlowAbort" targetRef="Task_AbortAndCallErrorHandling" />
141 <bpmn:sequenceFlow id="SequenceFlow_1r570x3" name="no" sourceRef="ExclusiveGateway_isTopLevelFlowAbort" targetRef="EndEvent_0lzz1ya">
142 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isTopLevelFlow")==false}</bpmn:conditionExpression>
144 <bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlowC" name="Is Top-Level Flow?" default="SequenceFlow_0kf5sen">
145 <bpmn:incoming>SequenceFlow_1m2eezj</bpmn:incoming>
146 <bpmn:outgoing>SequenceFlow_0x4urgp</bpmn:outgoing>
147 <bpmn:outgoing>SequenceFlow_0kf5sen</bpmn:outgoing>
148 </bpmn:exclusiveGateway>
149 <bpmn:sequenceFlow id="SequenceFlow_0x4urgp" name="no" sourceRef="ExclusiveGateway_isTopLevelFlowC" targetRef="End_WorkflowActionBB">
150 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isTopLevelFlow")==false}</bpmn:conditionExpression>
152 <bpmn:endEvent id="End_RollbackFailed" name="end">
153 <bpmn:incoming>SequenceFlow_1ui67mc</bpmn:incoming>
155 <bpmn:sequenceFlow id="SequenceFlow_11dlyzt" name="Rollback Not Needed" sourceRef="Task_RollbackExecutionPath" targetRef="Task_UpdateRequestToFailed">
156 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isRollbackNeeded")==false}</bpmn:conditionExpression>
158 <bpmn:serviceTask id="Task_UpdateRequestToFailed" name="Update Request To Failed" camunda:expression="${WorkflowActionBBFailure.updateRequestStatusToFailedWithRollback(execution)}">
159 <bpmn:incoming>SequenceFlow_11dlyzt</bpmn:incoming>
160 <bpmn:incoming>SequenceFlow_0l7kaba</bpmn:incoming>
161 <bpmn:outgoing>SequenceFlow_1ui67mc</bpmn:outgoing>
163 <bpmn:sequenceFlow id="SequenceFlow_0l7kaba" name="Rollback Completed" sourceRef="ExclusiveGateway_Finished" targetRef="Task_UpdateRequestToFailed">
164 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("completed")==true&&execution.getVariable("isRollback")==true&&execution.getVariable("handlingCode")=="Success"}</bpmn:conditionExpression>
166 <bpmn:sequenceFlow id="SequenceFlow_1ui67mc" sourceRef="Task_UpdateRequestToFailed" targetRef="End_RollbackFailed" />
167 <bpmn:subProcess id="SubProcess_0fuugr9" name="Java Exception Handling Sub Process" triggeredByEvent="true">
168 <bpmn:startEvent id="StartEvent_runtimeError" name="error">
169 <bpmn:outgoing>SequenceFlow_11d126w</bpmn:outgoing>
170 <bpmn:errorEventDefinition errorRef="Error_0kd2o2a" camunda:errorCodeVariable="BPMN_javaExpCode" camunda:errorMessageVariable="BPMN_javaExpMsg" />
172 <bpmn:serviceTask id="ServiceTask_HandleRuntimeError" name="Handle Runtime Exception" camunda:expression="${WorkflowAction.handleRuntimeException(execution)}">
173 <bpmn:incoming>SequenceFlow_11d126w</bpmn:incoming>
174 <bpmn:outgoing>SequenceFlow_0w4sx88</bpmn:outgoing>
176 <bpmn:endEvent id="EndEvent__runtimeError">
177 <bpmn:incoming>SequenceFlow_0w4sx88</bpmn:incoming>
179 <bpmn:sequenceFlow id="SequenceFlow_11d126w" sourceRef="StartEvent_runtimeError" targetRef="ServiceTask_HandleRuntimeError" />
180 <bpmn:sequenceFlow id="SequenceFlow_0w4sx88" sourceRef="ServiceTask_HandleRuntimeError" targetRef="EndEvent__runtimeError" />
182 <bpmn:serviceTask id="ServiceTask_0e2p0xs" name="Update Flow Statistics" camunda:expression="${WorkflowActionBBTasks.updateFlowStatistics(execution)}">
183 <bpmn:incoming>SequenceFlow_0mqrkxv</bpmn:incoming>
184 <bpmn:outgoing>SequenceFlow_0mew9im</bpmn:outgoing>
186 <bpmn:sequenceFlow id="SequenceFlow_0mew9im" sourceRef="ServiceTask_0e2p0xs" targetRef="Call_ExecuteBB" />
187 <bpmn:sequenceFlow id="SequenceFlow_0kf5sen" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlowC" targetRef="Task_UpdateRequestComplete" />
188 <bpmn:sequenceFlow id="SequenceFlow_1tfizxf" sourceRef="Task_PreValidateWorkflow" targetRef="Task_SelectBB" />
189 <bpmn:serviceTask id="Task_PreValidateWorkflow" name="PreValidate Workflow" camunda:expression="${WorkflowValidatorRunner.preValidate(execution.getVariable("requestAction"), execution)}">
190 <bpmn:incoming>SequenceFlow_0unbew4</bpmn:incoming>
191 <bpmn:incoming>SequenceFlow_0etawv5</bpmn:incoming>
192 <bpmn:outgoing>SequenceFlow_1tfizxf</bpmn:outgoing>
194 <bpmn:serviceTask id="ServiceTask_0lbkcyp" name="Post Processing Execute BB" camunda:expression="${WorkflowActionBBTasks.postProcessingExecuteBB(execution)}">
195 <bpmn:incoming>SequenceFlow_1hsqed1</bpmn:incoming>
196 <bpmn:outgoing>SequenceFlow_1fftixk</bpmn:outgoing>
198 <bpmn:sequenceFlow id="SequenceFlow_1hsqed1" sourceRef="Call_ExecuteBB" targetRef="ServiceTask_0lbkcyp" />
199 <bpmn:sequenceFlow id="SequenceFlow_1fftixk" sourceRef="ServiceTask_0lbkcyp" targetRef="ExclusiveGateway_Finished" />
200 <bpmn:sequenceFlow id="SequenceFlow_1pnkpim" sourceRef="Task_0a31dkf" targetRef="Task_SelectBB" />
201 <bpmn:exclusiveGateway id="ExclusiveGateway_1dez26n" name="Generated Id's?">
202 <bpmn:incoming>SequenceFlow_1lrz41x</bpmn:incoming>
203 <bpmn:outgoing>SequenceFlow_0etawv5</bpmn:outgoing>
204 <bpmn:outgoing>SequenceFlow_0ilo6lo</bpmn:outgoing>
205 </bpmn:exclusiveGateway>
206 <bpmn:sequenceFlow id="SequenceFlow_1lrz41x" sourceRef="Task_SendSync" targetRef="ExclusiveGateway_1dez26n" />
207 <bpmn:sequenceFlow id="SequenceFlow_0etawv5" name="no" sourceRef="ExclusiveGateway_1dez26n" targetRef="Task_PreValidateWorkflow">
208 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("generateIdsOnly") == null || execution.getVariable("generateIdsOnly")==false}</bpmn:conditionExpression>
210 <bpmn:endEvent id="EndEvent_12f15tu" name="End">
211 <bpmn:incoming>SequenceFlow_0ilo6lo</bpmn:incoming>
213 <bpmn:sequenceFlow id="SequenceFlow_0ilo6lo" name="yes" sourceRef="ExclusiveGateway_1dez26n" targetRef="EndEvent_12f15tu" />
215 <bpmn:error id="Error_0kd2o2a" name="java.lang.Exception" errorCode="java.lang.Exception" />
216 <bpmndi:BPMNDiagram id="BPMNDiagram_1">
217 <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="WorkflowActionBB">
218 <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="Start_WorkflowActionBB">
219 <dc:Bounds x="156" y="378" width="36" height="36" />
221 <dc:Bounds x="164" y="414" width="22" height="14" />
224 <bpmndi:BPMNShape id="EndEvent_1uv6erv_di" bpmnElement="End_WorkflowActionBB">
225 <dc:Bounds x="1894" y="423" width="36" height="36" />
227 <dc:Bounds x="1903" y="403" width="19" height="14" />
230 <bpmndi:BPMNEdge id="SequenceFlow_15s0okp_di" bpmnElement="SequenceFlow_15s0okp">
231 <di:waypoint x="192" y="396" />
232 <di:waypoint x="225" y="396" />
234 <dc:Bounds x="-381" y="99" width="0" height="0" />
237 <bpmndi:BPMNShape id="CallActivity_03m7z4y_di" bpmnElement="Call_ExecuteBB">
238 <dc:Bounds x="1150" y="356" width="100" height="80" />
240 <bpmndi:BPMNEdge id="SequenceFlow_0mqrkxv_di" bpmnElement="SequenceFlow_0mqrkxv">
241 <di:waypoint x="929" y="396" />
242 <di:waypoint x="990" y="396" />
244 <dc:Bounds x="324.5" y="105" width="90" height="0" />
247 <bpmndi:BPMNShape id="ServiceTask_1snenqk_di" bpmnElement="Task_SelectBB">
248 <dc:Bounds x="829" y="356" width="100" height="80" />
250 <bpmndi:BPMNShape id="ExclusiveGateway_0m1zt0q_di" bpmnElement="ExclusiveGateway_Finished" isMarkerVisible="true">
251 <dc:Bounds x="1501" y="371" width="50" height="50" />
253 <dc:Bounds x="850" y="42" width="90" height="0" />
256 <bpmndi:BPMNEdge id="SequenceFlow_1m2eezj_di" bpmnElement="SequenceFlow_1m2eezj">
257 <di:waypoint x="1539" y="408" />
258 <di:waypoint x="1570" y="441" />
259 <di:waypoint x="1650" y="441" />
261 <dc:Bounds x="1557" y="444" width="85" height="14" />
264 <bpmndi:BPMNShape id="ServiceTask_0kn8jt8_di" bpmnElement="Task_RetrieveBBExectuionList">
265 <dc:Bounds x="225" y="356" width="100" height="80" />
267 <bpmndi:BPMNShape id="ServiceTask_0654g3m_di" bpmnElement="Task_SendSync">
268 <dc:Bounds x="490" y="200" width="100" height="80" />
270 <bpmndi:BPMNShape id="ServiceTask_0wzh11j_di" bpmnElement="Task_UpdateRequestComplete">
271 <dc:Bounds x="1751" y="482" width="100" height="80" />
273 <bpmndi:BPMNEdge id="SequenceFlow_1pz6edz_di" bpmnElement="SequenceFlow_1pz6edz">
274 <di:waypoint x="1851" y="522" />
275 <di:waypoint x="1912" y="522" />
276 <di:waypoint x="1912" y="459" />
278 <dc:Bounds x="1247" y="231" width="90" height="0" />
281 <bpmndi:BPMNShape id="SubProcess_18226x4_di" bpmnElement="SubProcess_18226x4" isExpanded="true">
282 <dc:Bounds x="1088" y="720" width="438" height="297" />
284 <bpmndi:BPMNShape id="StartEvent_184g7f3_di" bpmnElement="ErrorStart">
285 <dc:Bounds x="1110" y="915" width="36" height="36" />
287 <dc:Bounds x="1116" y="958" width="24" height="14" />
290 <bpmndi:BPMNShape id="EndEvent_0l4edvr_di" bpmnElement="ErrorEnd">
291 <dc:Bounds x="1470" y="915" width="36" height="36" />
293 <dc:Bounds x="1480" y="957" width="19" height="14" />
296 <bpmndi:BPMNEdge id="SequenceFlow_0v588sm_di" bpmnElement="SequenceFlow_0v588sm">
297 <di:waypoint x="1526" y="421" />
298 <di:waypoint x="1526" y="538" />
299 <di:waypoint x="929" y="538" />
301 <dc:Bounds x="1359" y="548" width="74" height="14" />
304 <bpmndi:BPMNEdge id="SequenceFlow_1atzsgn_di" bpmnElement="SequenceFlow_1atzsgn">
305 <di:waypoint x="879" y="498" />
306 <di:waypoint x="879" y="436" />
308 <dc:Bounds x="259" y="191" width="90" height="0" />
311 <bpmndi:BPMNShape id="ServiceTask_19t1oyr_di" bpmnElement="Task_RollbackExecutionPath">
312 <dc:Bounds x="829" y="498" width="100" height="80" />
314 <bpmndi:BPMNEdge id="SequenceFlow_0vc9go9_di" bpmnElement="SequenceFlow_0vc9go9">
315 <di:waypoint x="325" y="396" />
316 <di:waypoint x="362" y="396" />
318 <dc:Bounds x="-246" y="105" width="0" height="0" />
321 <bpmndi:BPMNEdge id="SequenceFlow_11530ei_di" bpmnElement="SequenceFlow_11530ei">
322 <di:waypoint x="1536" y="381" />
323 <di:waypoint x="1573" y="320" />
324 <di:waypoint x="1650" y="321" />
326 <dc:Bounds x="1565" y="293" width="58" height="14" />
329 <bpmndi:BPMNShape id="ServiceTask_0jo36ez_di" bpmnElement="Task_AbortAndCallErrorHandling">
330 <dc:Bounds x="1766" y="200" width="100" height="80" />
332 <bpmndi:BPMNShape id="EndEvent_0lzz1ya_di" bpmnElement="EndEvent_0lzz1ya">
333 <dc:Bounds x="1976" y="303" width="36" height="36" />
335 <dc:Bounds x="1985" y="343" width="19" height="14" />
338 <bpmndi:BPMNEdge id="SequenceFlow_1p8yxu6_di" bpmnElement="SequenceFlow_1p8yxu6">
339 <di:waypoint x="1866" y="240" />
340 <di:waypoint x="1949" y="240" />
341 <di:waypoint x="1949" y="321" />
342 <di:waypoint x="1976" y="321" />
344 <dc:Bounds x="1329" y="5" width="90" height="0" />
347 <bpmndi:BPMNEdge id="SequenceFlow_01j184u_di" bpmnElement="SequenceFlow_01j184u">
348 <di:waypoint x="1526" y="371" />
349 <di:waypoint x="1526" y="331" />
350 <di:waypoint x="1526" y="331" />
351 <di:waypoint x="1526" y="280" />
353 <dc:Bounds x="906" y="49" width="90" height="0" />
356 <bpmndi:BPMNShape id="ServiceTask_1c1v3p1_di" bpmnElement="Task_0a31dkf">
357 <dc:Bounds x="1476" y="200" width="100" height="80" />
359 <bpmndi:BPMNShape id="ExclusiveGateway_0ptb1yi_di" bpmnElement="ExclusiveGateway_isTopLevelFlow" isMarkerVisible="true">
360 <dc:Bounds x="362" y="371" width="50" height="50" />
362 <dc:Bounds x="357" y="421" width="60" height="27" />
365 <bpmndi:BPMNEdge id="SequenceFlow_0sckerv_di" bpmnElement="SequenceFlow_0sckerv">
366 <di:waypoint x="388" y="372" />
367 <di:waypoint x="388" y="240" />
368 <di:waypoint x="490" y="240" />
370 <dc:Bounds x="396" y="294" width="18" height="14" />
373 <bpmndi:BPMNEdge id="SequenceFlow_0unbew4_di" bpmnElement="SequenceFlow_0unbew4">
374 <di:waypoint x="412" y="396" />
375 <di:waypoint x="670" y="396" />
377 <dc:Bounds x="503" y="376" width="13" height="14" />
380 <bpmndi:BPMNShape id="ExclusiveGateway_001g41v_di" bpmnElement="ExclusiveGateway_isTopLevelFlowAbort" isMarkerVisible="true">
381 <dc:Bounds x="1650" y="296" width="50" height="50" />
383 <dc:Bounds x="1646" y="346" width="60" height="27" />
386 <bpmndi:BPMNEdge id="SequenceFlow_02ksbt0_di" bpmnElement="SequenceFlow_02ksbt0">
387 <di:waypoint x="1675" y="296" />
388 <di:waypoint x="1675" y="239" />
389 <di:waypoint x="1766" y="239" />
391 <dc:Bounds x="1682" y="268" width="18" height="14" />
394 <bpmndi:BPMNEdge id="SequenceFlow_1r570x3_di" bpmnElement="SequenceFlow_1r570x3">
395 <di:waypoint x="1700" y="321" />
396 <di:waypoint x="1976" y="321" />
398 <dc:Bounds x="1832" y="296" width="13" height="14" />
401 <bpmndi:BPMNShape id="ExclusiveGateway_1er1kam_di" bpmnElement="ExclusiveGateway_isTopLevelFlowC" isMarkerVisible="true">
402 <dc:Bounds x="1650" y="416" width="50" height="50" />
404 <dc:Bounds x="1646" y="384" width="60" height="27" />
407 <bpmndi:BPMNEdge id="SequenceFlow_0x4urgp_di" bpmnElement="SequenceFlow_0x4urgp">
408 <di:waypoint x="1700" y="441" />
409 <di:waypoint x="1810" y="441" />
410 <di:waypoint x="1810" y="441" />
411 <di:waypoint x="1894" y="441" />
413 <dc:Bounds x="1846" y="416" width="13" height="14" />
416 <bpmndi:BPMNShape id="EndEvent_1q8eh5e_di" bpmnElement="End_RollbackFailed">
417 <dc:Bounds x="1749" y="623" width="36" height="36" />
419 <dc:Bounds x="1767" y="675" width="19" height="14" />
422 <bpmndi:BPMNEdge id="SequenceFlow_11dlyzt_di" bpmnElement="SequenceFlow_11dlyzt">
423 <di:waypoint x="879" y="578" />
424 <di:waypoint x="879" y="644" />
425 <di:waypoint x="1550" y="644" />
427 <dc:Bounds x="972" y="601" width="63" height="27" />
430 <bpmndi:BPMNShape id="ServiceTask_1h154rn_di" bpmnElement="Task_UpdateDb">
431 <dc:Bounds x="1303" y="893" width="100" height="80" />
433 <bpmndi:BPMNShape id="ServiceTask_1t8n9gd_di" bpmnElement="Task_UpdateRequestToFailed">
434 <dc:Bounds x="1550" y="601" width="100" height="80" />
436 <bpmndi:BPMNEdge id="SequenceFlow_0l7kaba_di" bpmnElement="SequenceFlow_0l7kaba">
437 <di:waypoint x="1532" y="415" />
438 <di:waypoint x="1566" y="528" />
439 <di:waypoint x="1606" y="528" />
440 <di:waypoint x="1606" y="601" />
442 <dc:Bounds x="1548" y="531" width="54" height="27" />
445 <bpmndi:BPMNEdge id="SequenceFlow_1edjl5x_di" bpmnElement="SequenceFlow_1edjl5x">
446 <di:waypoint x="1146" y="933" />
447 <di:waypoint x="1192" y="933" />
449 <dc:Bounds x="534" y="636" width="90" height="12" />
452 <bpmndi:BPMNEdge id="SequenceFlow_0wvzfgf_di" bpmnElement="SequenceFlow_0wvzfgf">
453 <di:waypoint x="1403" y="933" />
454 <di:waypoint x="1470" y="933" />
456 <dc:Bounds x="801.5" y="636" width="90" height="12" />
459 <bpmndi:BPMNEdge id="SequenceFlow_1ui67mc_di" bpmnElement="SequenceFlow_1ui67mc">
460 <di:waypoint x="1650" y="641" />
461 <di:waypoint x="1724" y="641" />
462 <di:waypoint x="1724" y="641" />
463 <di:waypoint x="1749" y="641" />
465 <dc:Bounds x="1104" y="359" width="90" height="13" />
468 <bpmndi:BPMNShape id="ExclusiveGateway_10q79b6_di" bpmnElement="ExclusiveGateway_10q79b6" isMarkerVisible="true">
469 <dc:Bounds x="1192" y="908" width="50" height="50" />
471 <dc:Bounds x="1174" y="962" width="86" height="40" />
474 <bpmndi:BPMNEdge id="SequenceFlow_024g0d1_di" bpmnElement="SequenceFlow_024g0d1">
475 <di:waypoint x="1242" y="933" />
476 <di:waypoint x="1273" y="933" />
477 <di:waypoint x="1273" y="933" />
478 <di:waypoint x="1303" y="933" />
480 <dc:Bounds x="1267" y="910" width="13" height="14" />
483 <bpmndi:BPMNEdge id="SequenceFlow_0vi883o_di" bpmnElement="SequenceFlow_0vi883o">
484 <di:waypoint x="1217" y="908" />
485 <di:waypoint x="1217" y="824" />
486 <di:waypoint x="1303" y="824" />
488 <dc:Bounds x="1223" y="860" width="18" height="14" />
491 <bpmndi:BPMNEdge id="SequenceFlow_0eana0l_di" bpmnElement="SequenceFlow_0eana0l">
492 <di:waypoint x="1353" y="864" />
493 <di:waypoint x="1353" y="893" />
495 <dc:Bounds x="778" y="596.5" width="0" height="12" />
498 <bpmndi:BPMNShape id="ServiceTask_10hs368_di" bpmnElement="Task_SendSyncAckError">
499 <dc:Bounds x="1303" y="784" width="100" height="80" />
501 <bpmndi:BPMNShape id="SubProcess_0fuugr9_di" bpmnElement="SubProcess_0fuugr9" isExpanded="true">
502 <dc:Bounds x="1105" y="1068" width="404" height="165" />
504 <bpmndi:BPMNShape id="StartEvent_15qkxd7_di" bpmnElement="StartEvent_runtimeError">
505 <dc:Bounds x="1160" y="1133" width="36" height="36" />
507 <dc:Bounds x="1167" y="1176" width="24" height="14" />
510 <bpmndi:BPMNShape id="ServiceTask_1p4kxh2_di" bpmnElement="ServiceTask_HandleRuntimeError">
511 <dc:Bounds x="1280" y="1111" width="100" height="80" />
513 <bpmndi:BPMNShape id="EndEvent_09e3lu5_di" bpmnElement="EndEvent__runtimeError">
514 <dc:Bounds x="1446" y="1133" width="36" height="36" />
516 <dc:Bounds x="784" y="897" width="0" height="12" />
519 <bpmndi:BPMNEdge id="SequenceFlow_11d126w_di" bpmnElement="SequenceFlow_11d126w">
520 <di:waypoint x="1196" y="1151" />
521 <di:waypoint x="1280" y="1151" />
523 <dc:Bounds x="603" y="854" width="0" height="12" />
526 <bpmndi:BPMNEdge id="SequenceFlow_0w4sx88_di" bpmnElement="SequenceFlow_0w4sx88">
527 <di:waypoint x="1380" y="1151" />
528 <di:waypoint x="1446" y="1151" />
530 <dc:Bounds x="778" y="854" width="0" height="12" />
533 <bpmndi:BPMNShape id="ServiceTask_0e2p0xs_di" bpmnElement="ServiceTask_0e2p0xs">
534 <dc:Bounds x="990" y="356" width="100" height="80" />
536 <bpmndi:BPMNEdge id="SequenceFlow_0mew9im_di" bpmnElement="SequenceFlow_0mew9im">
537 <di:waypoint x="1090" y="396" />
538 <di:waypoint x="1150" y="396" />
540 <dc:Bounds x="530" y="99" width="0" height="12" />
543 <bpmndi:BPMNEdge id="SequenceFlow_0kf5sen_di" bpmnElement="SequenceFlow_0kf5sen">
544 <di:waypoint x="1675" y="466" />
545 <di:waypoint x="1675" y="522" />
546 <di:waypoint x="1751" y="522" />
548 <dc:Bounds x="1682" y="494" width="18" height="14" />
551 <bpmndi:BPMNEdge id="SequenceFlow_1tfizxf_di" bpmnElement="SequenceFlow_1tfizxf">
552 <di:waypoint x="770" y="396" />
553 <di:waypoint x="801" y="396" />
554 <di:waypoint x="801" y="396" />
555 <di:waypoint x="829" y="396" />
557 <dc:Bounds x="226" y="120" width="0" height="0" />
560 <bpmndi:BPMNShape id="ServiceTask_0m5xr0e_di" bpmnElement="Task_PreValidateWorkflow">
561 <dc:Bounds x="670" y="356" width="100" height="80" />
563 <bpmndi:BPMNShape id="ServiceTask_0lbkcyp_di" bpmnElement="ServiceTask_0lbkcyp">
564 <dc:Bounds x="1325" y="356" width="100" height="80" />
566 <bpmndi:BPMNEdge id="SequenceFlow_1hsqed1_di" bpmnElement="SequenceFlow_1hsqed1">
567 <di:waypoint x="1250" y="396" />
568 <di:waypoint x="1325" y="396" />
570 <dc:Bounds x="697.5" y="99" width="0" height="12" />
573 <bpmndi:BPMNEdge id="SequenceFlow_1fftixk_di" bpmnElement="SequenceFlow_1fftixk">
574 <di:waypoint x="1425" y="396" />
575 <di:waypoint x="1501" y="396" />
577 <dc:Bounds x="873" y="99" width="0" height="12" />
580 <bpmndi:BPMNEdge id="SequenceFlow_1pnkpim_di" bpmnElement="SequenceFlow_1pnkpim">
581 <di:waypoint x="1476" y="240" />
582 <di:waypoint x="879" y="240" />
583 <di:waypoint x="879" y="356" />
585 <dc:Bounds x="587.5" y="-57" width="0" height="12" />
588 <bpmndi:BPMNShape id="ExclusiveGateway_1dez26n_di" bpmnElement="ExclusiveGateway_1dez26n" isMarkerVisible="true">
589 <dc:Bounds x="695" y="215" width="50" height="50" />
591 <dc:Bounds x="745" y="228" width="78" height="14" />
594 <bpmndi:BPMNEdge id="SequenceFlow_1lrz41x_di" bpmnElement="SequenceFlow_1lrz41x">
595 <di:waypoint x="590" y="240" />
596 <di:waypoint x="695" y="240" />
598 <dc:Bounds x="52.5" y="-57" width="0" height="12" />
601 <bpmndi:BPMNEdge id="SequenceFlow_0etawv5_di" bpmnElement="SequenceFlow_0etawv5">
602 <di:waypoint x="720" y="265" />
603 <di:waypoint x="720" y="356" />
605 <dc:Bounds x="729" y="305" width="13" height="14" />
608 <bpmndi:BPMNShape id="EndEvent_12f15tu_di" bpmnElement="EndEvent_12f15tu">
609 <dc:Bounds x="702" y="106" width="36" height="36" />
611 <dc:Bounds x="710" y="81" width="20" height="14" />
614 <bpmndi:BPMNEdge id="SequenceFlow_0ilo6lo_di" bpmnElement="SequenceFlow_0ilo6lo">
615 <di:waypoint x="720" y="215" />
616 <di:waypoint x="720" y="142" />
618 <dc:Bounds x="727" y="173" width="18" height="14" />
622 </bpmndi:BPMNDiagram>