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.6.0">
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_0duoleg</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="ExclusiveGateway_10j89d1" />
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:incoming>SequenceFlow_1knplug</bpmn:incoming>
197 <bpmn:outgoing>SequenceFlow_1fftixk</bpmn:outgoing>
199 <bpmn:sequenceFlow id="SequenceFlow_1hsqed1" sourceRef="Call_ExecuteBB" targetRef="ServiceTask_0lbkcyp" />
200 <bpmn:sequenceFlow id="SequenceFlow_1fftixk" sourceRef="ServiceTask_0lbkcyp" targetRef="ExclusiveGateway_Finished" />
201 <bpmn:sequenceFlow id="SequenceFlow_1pnkpim" sourceRef="Task_0a31dkf" targetRef="Task_SelectBB" />
202 <bpmn:exclusiveGateway id="ExclusiveGateway_1dez26n" name="Generated Id's?">
203 <bpmn:incoming>SequenceFlow_1lrz41x</bpmn:incoming>
204 <bpmn:outgoing>SequenceFlow_0etawv5</bpmn:outgoing>
205 <bpmn:outgoing>SequenceFlow_0ilo6lo</bpmn:outgoing>
206 </bpmn:exclusiveGateway>
207 <bpmn:sequenceFlow id="SequenceFlow_1lrz41x" sourceRef="Task_SendSync" targetRef="ExclusiveGateway_1dez26n" />
208 <bpmn:sequenceFlow id="SequenceFlow_0etawv5" name="no" sourceRef="ExclusiveGateway_1dez26n" targetRef="Task_PreValidateWorkflow">
209 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("generateIdsOnly") == null || execution.getVariable("generateIdsOnly")==false}</bpmn:conditionExpression>
211 <bpmn:endEvent id="EndEvent_12f15tu" name="End">
212 <bpmn:incoming>SequenceFlow_0ilo6lo</bpmn:incoming>
214 <bpmn:sequenceFlow id="SequenceFlow_0ilo6lo" name="yes" sourceRef="ExclusiveGateway_1dez26n" targetRef="EndEvent_12f15tu" />
215 <bpmn:exclusiveGateway id="ExclusiveGateway_10j89d1" default="SequenceFlow_0duoleg">
216 <bpmn:incoming>SequenceFlow_0mew9im</bpmn:incoming>
217 <bpmn:outgoing>SequenceFlow_0duoleg</bpmn:outgoing>
218 <bpmn:outgoing>SequenceFlow_1knplug</bpmn:outgoing>
219 </bpmn:exclusiveGateway>
220 <bpmn:sequenceFlow id="SequenceFlow_0duoleg" sourceRef="ExclusiveGateway_10j89d1" targetRef="Call_ExecuteBB" />
221 <bpmn:sequenceFlow id="SequenceFlow_1knplug" name="completed = true" sourceRef="ExclusiveGateway_10j89d1" targetRef="ServiceTask_0lbkcyp">
222 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("completed")==true}</bpmn:conditionExpression>
225 <bpmn:error id="Error_0kd2o2a" name="java.lang.Exception" errorCode="java.lang.Exception" />
226 <bpmndi:BPMNDiagram id="BPMNDiagram_1">
227 <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="WorkflowActionBB">
228 <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="Start_WorkflowActionBB">
229 <dc:Bounds x="156" y="378" width="36" height="36" />
231 <dc:Bounds x="164" y="414" width="22" height="14" />
234 <bpmndi:BPMNShape id="EndEvent_1uv6erv_di" bpmnElement="End_WorkflowActionBB">
235 <dc:Bounds x="1894" y="423" width="36" height="36" />
237 <dc:Bounds x="1903" y="403" width="19" height="14" />
240 <bpmndi:BPMNEdge id="SequenceFlow_15s0okp_di" bpmnElement="SequenceFlow_15s0okp">
241 <di:waypoint x="192" y="396" />
242 <di:waypoint x="225" y="396" />
244 <dc:Bounds x="-381" y="99" width="0" height="0" />
247 <bpmndi:BPMNShape id="CallActivity_03m7z4y_di" bpmnElement="Call_ExecuteBB">
248 <dc:Bounds x="1200" y="356" width="100" height="80" />
250 <bpmndi:BPMNEdge id="SequenceFlow_0mqrkxv_di" bpmnElement="SequenceFlow_0mqrkxv">
251 <di:waypoint x="929" y="396" />
252 <di:waypoint x="960" y="396" />
254 <dc:Bounds x="324.5" y="105" width="90" height="0" />
257 <bpmndi:BPMNShape id="ServiceTask_1snenqk_di" bpmnElement="Task_SelectBB">
258 <dc:Bounds x="829" y="356" width="100" height="80" />
260 <bpmndi:BPMNShape id="ExclusiveGateway_0m1zt0q_di" bpmnElement="ExclusiveGateway_Finished" isMarkerVisible="true">
261 <dc:Bounds x="1501" y="371" width="50" height="50" />
263 <dc:Bounds x="850" y="42" width="90" height="0" />
266 <bpmndi:BPMNEdge id="SequenceFlow_1m2eezj_di" bpmnElement="SequenceFlow_1m2eezj">
267 <di:waypoint x="1539" y="408" />
268 <di:waypoint x="1570" y="441" />
269 <di:waypoint x="1650" y="441" />
271 <dc:Bounds x="1557" y="444" width="85" height="14" />
274 <bpmndi:BPMNShape id="ServiceTask_0kn8jt8_di" bpmnElement="Task_RetrieveBBExectuionList">
275 <dc:Bounds x="225" y="356" width="100" height="80" />
277 <bpmndi:BPMNShape id="ServiceTask_0654g3m_di" bpmnElement="Task_SendSync">
278 <dc:Bounds x="490" y="200" width="100" height="80" />
280 <bpmndi:BPMNShape id="ServiceTask_0wzh11j_di" bpmnElement="Task_UpdateRequestComplete">
281 <dc:Bounds x="1751" y="482" width="100" height="80" />
283 <bpmndi:BPMNEdge id="SequenceFlow_1pz6edz_di" bpmnElement="SequenceFlow_1pz6edz">
284 <di:waypoint x="1851" y="522" />
285 <di:waypoint x="1912" y="522" />
286 <di:waypoint x="1912" y="459" />
288 <dc:Bounds x="1247" y="231" width="90" height="0" />
291 <bpmndi:BPMNShape id="SubProcess_18226x4_di" bpmnElement="SubProcess_18226x4" isExpanded="true">
292 <dc:Bounds x="1088" y="720" width="438" height="297" />
294 <bpmndi:BPMNShape id="StartEvent_184g7f3_di" bpmnElement="ErrorStart">
295 <dc:Bounds x="1110" y="915" width="36" height="36" />
297 <dc:Bounds x="1116" y="958" width="24" height="14" />
300 <bpmndi:BPMNShape id="EndEvent_0l4edvr_di" bpmnElement="ErrorEnd">
301 <dc:Bounds x="1470" y="915" width="36" height="36" />
303 <dc:Bounds x="1480" y="957" width="19" height="14" />
306 <bpmndi:BPMNEdge id="SequenceFlow_0v588sm_di" bpmnElement="SequenceFlow_0v588sm">
307 <di:waypoint x="1526" y="421" />
308 <di:waypoint x="1526" y="538" />
309 <di:waypoint x="929" y="538" />
311 <dc:Bounds x="1359" y="548" width="74" height="14" />
314 <bpmndi:BPMNEdge id="SequenceFlow_1atzsgn_di" bpmnElement="SequenceFlow_1atzsgn">
315 <di:waypoint x="879" y="498" />
316 <di:waypoint x="879" y="436" />
318 <dc:Bounds x="259" y="191" width="90" height="0" />
321 <bpmndi:BPMNShape id="ServiceTask_19t1oyr_di" bpmnElement="Task_RollbackExecutionPath">
322 <dc:Bounds x="829" y="498" width="100" height="80" />
324 <bpmndi:BPMNEdge id="SequenceFlow_0vc9go9_di" bpmnElement="SequenceFlow_0vc9go9">
325 <di:waypoint x="325" y="396" />
326 <di:waypoint x="362" y="396" />
328 <dc:Bounds x="-246" y="105" width="0" height="0" />
331 <bpmndi:BPMNEdge id="SequenceFlow_11530ei_di" bpmnElement="SequenceFlow_11530ei">
332 <di:waypoint x="1536" y="381" />
333 <di:waypoint x="1573" y="320" />
334 <di:waypoint x="1650" y="321" />
336 <dc:Bounds x="1565" y="293" width="58" height="14" />
339 <bpmndi:BPMNShape id="ServiceTask_0jo36ez_di" bpmnElement="Task_AbortAndCallErrorHandling">
340 <dc:Bounds x="1766" y="200" width="100" height="80" />
342 <bpmndi:BPMNShape id="EndEvent_0lzz1ya_di" bpmnElement="EndEvent_0lzz1ya">
343 <dc:Bounds x="1976" y="303" width="36" height="36" />
345 <dc:Bounds x="1985" y="343" width="19" height="14" />
348 <bpmndi:BPMNEdge id="SequenceFlow_1p8yxu6_di" bpmnElement="SequenceFlow_1p8yxu6">
349 <di:waypoint x="1866" y="240" />
350 <di:waypoint x="1949" y="240" />
351 <di:waypoint x="1949" y="321" />
352 <di:waypoint x="1976" y="321" />
354 <dc:Bounds x="1329" y="5" width="90" height="0" />
357 <bpmndi:BPMNEdge id="SequenceFlow_01j184u_di" bpmnElement="SequenceFlow_01j184u">
358 <di:waypoint x="1526" y="371" />
359 <di:waypoint x="1526" y="331" />
360 <di:waypoint x="1526" y="331" />
361 <di:waypoint x="1526" y="280" />
363 <dc:Bounds x="906" y="49" width="90" height="0" />
366 <bpmndi:BPMNShape id="ServiceTask_1c1v3p1_di" bpmnElement="Task_0a31dkf">
367 <dc:Bounds x="1476" y="200" width="100" height="80" />
369 <bpmndi:BPMNShape id="ExclusiveGateway_0ptb1yi_di" bpmnElement="ExclusiveGateway_isTopLevelFlow" isMarkerVisible="true">
370 <dc:Bounds x="362" y="371" width="50" height="50" />
372 <dc:Bounds x="357" y="421" width="60" height="27" />
375 <bpmndi:BPMNEdge id="SequenceFlow_0sckerv_di" bpmnElement="SequenceFlow_0sckerv">
376 <di:waypoint x="388" y="372" />
377 <di:waypoint x="388" y="240" />
378 <di:waypoint x="490" y="240" />
380 <dc:Bounds x="396" y="294" width="18" height="14" />
383 <bpmndi:BPMNEdge id="SequenceFlow_0unbew4_di" bpmnElement="SequenceFlow_0unbew4">
384 <di:waypoint x="412" y="396" />
385 <di:waypoint x="670" y="396" />
387 <dc:Bounds x="503" y="376" width="13" height="14" />
390 <bpmndi:BPMNShape id="ExclusiveGateway_001g41v_di" bpmnElement="ExclusiveGateway_isTopLevelFlowAbort" isMarkerVisible="true">
391 <dc:Bounds x="1650" y="296" width="50" height="50" />
393 <dc:Bounds x="1646" y="346" width="60" height="27" />
396 <bpmndi:BPMNEdge id="SequenceFlow_02ksbt0_di" bpmnElement="SequenceFlow_02ksbt0">
397 <di:waypoint x="1675" y="296" />
398 <di:waypoint x="1675" y="239" />
399 <di:waypoint x="1766" y="239" />
401 <dc:Bounds x="1682" y="268" width="18" height="14" />
404 <bpmndi:BPMNEdge id="SequenceFlow_1r570x3_di" bpmnElement="SequenceFlow_1r570x3">
405 <di:waypoint x="1700" y="321" />
406 <di:waypoint x="1976" y="321" />
408 <dc:Bounds x="1832" y="296" width="13" height="14" />
411 <bpmndi:BPMNShape id="ExclusiveGateway_1er1kam_di" bpmnElement="ExclusiveGateway_isTopLevelFlowC" isMarkerVisible="true">
412 <dc:Bounds x="1650" y="416" width="50" height="50" />
414 <dc:Bounds x="1646" y="384" width="60" height="27" />
417 <bpmndi:BPMNEdge id="SequenceFlow_0x4urgp_di" bpmnElement="SequenceFlow_0x4urgp">
418 <di:waypoint x="1700" y="441" />
419 <di:waypoint x="1810" y="441" />
420 <di:waypoint x="1810" y="441" />
421 <di:waypoint x="1894" y="441" />
423 <dc:Bounds x="1846" y="416" width="13" height="14" />
426 <bpmndi:BPMNShape id="EndEvent_1q8eh5e_di" bpmnElement="End_RollbackFailed">
427 <dc:Bounds x="1749" y="623" width="36" height="36" />
429 <dc:Bounds x="1767" y="675" width="19" height="14" />
432 <bpmndi:BPMNEdge id="SequenceFlow_11dlyzt_di" bpmnElement="SequenceFlow_11dlyzt">
433 <di:waypoint x="879" y="578" />
434 <di:waypoint x="879" y="644" />
435 <di:waypoint x="1550" y="644" />
437 <dc:Bounds x="972" y="601" width="63" height="27" />
440 <bpmndi:BPMNShape id="ServiceTask_1h154rn_di" bpmnElement="Task_UpdateDb">
441 <dc:Bounds x="1303" y="893" width="100" height="80" />
443 <bpmndi:BPMNShape id="ServiceTask_1t8n9gd_di" bpmnElement="Task_UpdateRequestToFailed">
444 <dc:Bounds x="1550" y="601" width="100" height="80" />
446 <bpmndi:BPMNEdge id="SequenceFlow_0l7kaba_di" bpmnElement="SequenceFlow_0l7kaba">
447 <di:waypoint x="1532" y="415" />
448 <di:waypoint x="1566" y="528" />
449 <di:waypoint x="1606" y="528" />
450 <di:waypoint x="1606" y="601" />
452 <dc:Bounds x="1548" y="531" width="54" height="27" />
455 <bpmndi:BPMNEdge id="SequenceFlow_1edjl5x_di" bpmnElement="SequenceFlow_1edjl5x">
456 <di:waypoint x="1146" y="933" />
457 <di:waypoint x="1192" y="933" />
459 <dc:Bounds x="534" y="636" width="90" height="12" />
462 <bpmndi:BPMNEdge id="SequenceFlow_0wvzfgf_di" bpmnElement="SequenceFlow_0wvzfgf">
463 <di:waypoint x="1403" y="933" />
464 <di:waypoint x="1470" y="933" />
466 <dc:Bounds x="801.5" y="636" width="90" height="12" />
469 <bpmndi:BPMNEdge id="SequenceFlow_1ui67mc_di" bpmnElement="SequenceFlow_1ui67mc">
470 <di:waypoint x="1650" y="641" />
471 <di:waypoint x="1724" y="641" />
472 <di:waypoint x="1724" y="641" />
473 <di:waypoint x="1749" y="641" />
475 <dc:Bounds x="1104" y="359" width="90" height="13" />
478 <bpmndi:BPMNShape id="ExclusiveGateway_10q79b6_di" bpmnElement="ExclusiveGateway_10q79b6" isMarkerVisible="true">
479 <dc:Bounds x="1192" y="908" width="50" height="50" />
481 <dc:Bounds x="1174" y="962" width="86" height="40" />
484 <bpmndi:BPMNEdge id="SequenceFlow_024g0d1_di" bpmnElement="SequenceFlow_024g0d1">
485 <di:waypoint x="1242" y="933" />
486 <di:waypoint x="1273" y="933" />
487 <di:waypoint x="1273" y="933" />
488 <di:waypoint x="1303" y="933" />
490 <dc:Bounds x="1267" y="910" width="13" height="14" />
493 <bpmndi:BPMNEdge id="SequenceFlow_0vi883o_di" bpmnElement="SequenceFlow_0vi883o">
494 <di:waypoint x="1217" y="908" />
495 <di:waypoint x="1217" y="824" />
496 <di:waypoint x="1303" y="824" />
498 <dc:Bounds x="1223" y="860" width="18" height="14" />
501 <bpmndi:BPMNEdge id="SequenceFlow_0eana0l_di" bpmnElement="SequenceFlow_0eana0l">
502 <di:waypoint x="1353" y="864" />
503 <di:waypoint x="1353" y="893" />
505 <dc:Bounds x="778" y="596.5" width="0" height="12" />
508 <bpmndi:BPMNShape id="ServiceTask_10hs368_di" bpmnElement="Task_SendSyncAckError">
509 <dc:Bounds x="1303" y="784" width="100" height="80" />
511 <bpmndi:BPMNShape id="SubProcess_0fuugr9_di" bpmnElement="SubProcess_0fuugr9" isExpanded="true">
512 <dc:Bounds x="1105" y="1068" width="404" height="165" />
514 <bpmndi:BPMNShape id="StartEvent_15qkxd7_di" bpmnElement="StartEvent_runtimeError">
515 <dc:Bounds x="1160" y="1133" width="36" height="36" />
517 <dc:Bounds x="1167" y="1176" width="24" height="14" />
520 <bpmndi:BPMNShape id="ServiceTask_1p4kxh2_di" bpmnElement="ServiceTask_HandleRuntimeError">
521 <dc:Bounds x="1280" y="1111" width="100" height="80" />
523 <bpmndi:BPMNShape id="EndEvent_09e3lu5_di" bpmnElement="EndEvent__runtimeError">
524 <dc:Bounds x="1446" y="1133" width="36" height="36" />
526 <dc:Bounds x="784" y="897" width="0" height="12" />
529 <bpmndi:BPMNEdge id="SequenceFlow_11d126w_di" bpmnElement="SequenceFlow_11d126w">
530 <di:waypoint x="1196" y="1151" />
531 <di:waypoint x="1280" y="1151" />
533 <dc:Bounds x="603" y="854" width="0" height="12" />
536 <bpmndi:BPMNEdge id="SequenceFlow_0w4sx88_di" bpmnElement="SequenceFlow_0w4sx88">
537 <di:waypoint x="1380" y="1151" />
538 <di:waypoint x="1446" y="1151" />
540 <dc:Bounds x="778" y="854" width="0" height="12" />
543 <bpmndi:BPMNShape id="ServiceTask_0e2p0xs_di" bpmnElement="ServiceTask_0e2p0xs">
544 <dc:Bounds x="960" y="356" width="100" height="80" />
546 <bpmndi:BPMNEdge id="SequenceFlow_0mew9im_di" bpmnElement="SequenceFlow_0mew9im">
547 <di:waypoint x="1060" y="396" />
548 <di:waypoint x="1105" y="396" />
550 <dc:Bounds x="530" y="99" width="0" height="12" />
553 <bpmndi:BPMNEdge id="SequenceFlow_0kf5sen_di" bpmnElement="SequenceFlow_0kf5sen">
554 <di:waypoint x="1675" y="466" />
555 <di:waypoint x="1675" y="522" />
556 <di:waypoint x="1751" y="522" />
558 <dc:Bounds x="1682" y="494" width="18" height="14" />
561 <bpmndi:BPMNEdge id="SequenceFlow_1tfizxf_di" bpmnElement="SequenceFlow_1tfizxf">
562 <di:waypoint x="770" y="396" />
563 <di:waypoint x="801" y="396" />
564 <di:waypoint x="801" y="396" />
565 <di:waypoint x="829" y="396" />
567 <dc:Bounds x="226" y="120" width="0" height="0" />
570 <bpmndi:BPMNShape id="ServiceTask_0m5xr0e_di" bpmnElement="Task_PreValidateWorkflow">
571 <dc:Bounds x="670" y="356" width="100" height="80" />
573 <bpmndi:BPMNShape id="ServiceTask_0lbkcyp_di" bpmnElement="ServiceTask_0lbkcyp">
574 <dc:Bounds x="1350" y="356" width="100" height="80" />
576 <bpmndi:BPMNEdge id="SequenceFlow_1hsqed1_di" bpmnElement="SequenceFlow_1hsqed1">
577 <di:waypoint x="1300" y="396" />
578 <di:waypoint x="1350" y="396" />
580 <dc:Bounds x="697.5" y="99" width="0" height="12" />
583 <bpmndi:BPMNEdge id="SequenceFlow_1fftixk_di" bpmnElement="SequenceFlow_1fftixk">
584 <di:waypoint x="1450" y="396" />
585 <di:waypoint x="1501" y="396" />
587 <dc:Bounds x="873" y="99" width="0" height="12" />
590 <bpmndi:BPMNEdge id="SequenceFlow_1pnkpim_di" bpmnElement="SequenceFlow_1pnkpim">
591 <di:waypoint x="1476" y="240" />
592 <di:waypoint x="879" y="240" />
593 <di:waypoint x="879" y="356" />
595 <dc:Bounds x="587.5" y="-57" width="0" height="12" />
598 <bpmndi:BPMNShape id="ExclusiveGateway_1dez26n_di" bpmnElement="ExclusiveGateway_1dez26n" isMarkerVisible="true">
599 <dc:Bounds x="695" y="215" width="50" height="50" />
601 <dc:Bounds x="745" y="228" width="78" height="14" />
604 <bpmndi:BPMNEdge id="SequenceFlow_1lrz41x_di" bpmnElement="SequenceFlow_1lrz41x">
605 <di:waypoint x="590" y="240" />
606 <di:waypoint x="695" y="240" />
608 <dc:Bounds x="52.5" y="-57" width="0" height="12" />
611 <bpmndi:BPMNEdge id="SequenceFlow_0etawv5_di" bpmnElement="SequenceFlow_0etawv5">
612 <di:waypoint x="720" y="265" />
613 <di:waypoint x="720" y="356" />
615 <dc:Bounds x="729" y="305" width="13" height="14" />
618 <bpmndi:BPMNShape id="EndEvent_12f15tu_di" bpmnElement="EndEvent_12f15tu">
619 <dc:Bounds x="702" y="106" width="36" height="36" />
621 <dc:Bounds x="710" y="81" width="20" height="14" />
624 <bpmndi:BPMNEdge id="SequenceFlow_0ilo6lo_di" bpmnElement="SequenceFlow_0ilo6lo">
625 <di:waypoint x="720" y="215" />
626 <di:waypoint x="720" y="142" />
628 <dc:Bounds x="727" y="173" width="18" height="14" />
631 <bpmndi:BPMNShape id="ExclusiveGateway_10j89d1_di" bpmnElement="ExclusiveGateway_10j89d1" isMarkerVisible="true">
632 <dc:Bounds x="1105" y="371" width="50" height="50" />
634 <dc:Bounds x="1100" y="428" width="60" height="14" />
637 <bpmndi:BPMNEdge id="SequenceFlow_0duoleg_di" bpmnElement="SequenceFlow_0duoleg">
638 <di:waypoint x="1155" y="396" />
639 <di:waypoint x="1200" y="396" />
641 <bpmndi:BPMNEdge id="SequenceFlow_1knplug_di" bpmnElement="SequenceFlow_1knplug">
642 <di:waypoint x="1130" y="371" />
643 <di:waypoint x="1130" y="330" />
644 <di:waypoint x="1400" y="330" />
645 <di:waypoint x="1400" y="356" />
647 <dc:Bounds x="1224" y="312" width="83" height="14" />
651 </bpmndi:BPMNDiagram>