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="1.7.2">
3 <bpmn:process id="WorkflowActionBB" name="WorkflowActionBB" isExecutable="true">
4 <bpmn:startEvent id="Start_WorkflowActionBB" name="start">
5 <bpmn:outgoing>SequenceFlow_15s0okp</bpmn:outgoing>
7 <bpmn:endEvent id="End_WorkflowActionBB" name="end">
8 <bpmn:incoming>SequenceFlow_0x4urgp</bpmn:incoming>
9 <bpmn:incoming>SequenceFlow_1pz6edz</bpmn:incoming>
11 <bpmn:sequenceFlow id="SequenceFlow_15s0okp" sourceRef="Start_WorkflowActionBB" targetRef="Task_RetrieveBBExectuionList" />
12 <bpmn:callActivity id="Call_ExecuteBB" name="Execute BB" camunda:asyncBefore="true" calledElement="ExecuteBuildingBlock">
13 <bpmn:extensionElements>
14 <camunda:in source="buildingBlock" target="buildingBlock" />
15 <camunda:out source="buildingBlock" target="buildingBlock" />
16 <camunda:out source="handlingCode" target="handlingCode" />
17 <camunda:in source="mso-request-id" target="mso-request-id" />
18 <camunda:in source="retryCount" target="retryCount" />
19 <camunda:out source="WorkflowExceptionErrorMessage" target="WorkflowExceptionErrorMessage" />
20 <camunda:in source="aLaCarte" target="aLaCarte" />
21 <camunda:in source="orchestrationStatusValidationResult" target="orchestrationStatusValidationResult" />
22 <camunda:out source="orchestrationStatusValidationResult" target="orchestrationStatusValidationResult" />
23 <camunda:out source="RetryDuration" target="RetryDuration" />
24 <camunda:in source="suppressRollback" target="suppressRollback" />
25 </bpmn:extensionElements>
26 <bpmn:incoming>SequenceFlow_0mew9im</bpmn:incoming>
27 <bpmn:outgoing>SequenceFlow_1hsqed1</bpmn:outgoing>
29 <bpmn:sequenceFlow id="SequenceFlow_0mqrkxv" sourceRef="Task_SelectBB" targetRef="ServiceTask_0e2p0xs" />
30 <bpmn:serviceTask id="Task_SelectBB" name="Select BB" camunda:expression="${WorkflowActionBBTasks.selectBB(execution)}">
31 <bpmn:incoming>SequenceFlow_1atzsgn</bpmn:incoming>
32 <bpmn:incoming>SequenceFlow_1tfizxf</bpmn:incoming>
33 <bpmn:incoming>SequenceFlow_1pnkpim</bpmn:incoming>
34 <bpmn:outgoing>SequenceFlow_0mqrkxv</bpmn:outgoing>
36 <bpmn:exclusiveGateway id="ExclusiveGateway_Finished" default="SequenceFlow_01j184u">
37 <bpmn:incoming>SequenceFlow_1fftixk</bpmn:incoming>
38 <bpmn:outgoing>SequenceFlow_1m2eezj</bpmn:outgoing>
39 <bpmn:outgoing>SequenceFlow_0v588sm</bpmn:outgoing>
40 <bpmn:outgoing>SequenceFlow_11530ei</bpmn:outgoing>
41 <bpmn:outgoing>SequenceFlow_01j184u</bpmn:outgoing>
42 <bpmn:outgoing>SequenceFlow_0l7kaba</bpmn:outgoing>
43 </bpmn:exclusiveGateway>
44 <bpmn:sequenceFlow id="SequenceFlow_1m2eezj" name="Completed = true" sourceRef="ExclusiveGateway_Finished" targetRef="ExclusiveGateway_isTopLevelFlowC">
45 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("completed")==true&&execution.getVariable("isRollback")==false&&execution.getVariable("handlingCode")=="Success"}]]></bpmn:conditionExpression>
47 <bpmn:serviceTask id="Task_RetrieveBBExectuionList" name="Retrieve BB Execution List" camunda:expression="${WorkflowAction.selectExecutionList(execution)}">
48 <bpmn:incoming>SequenceFlow_15s0okp</bpmn:incoming>
49 <bpmn:outgoing>SequenceFlow_0vc9go9</bpmn:outgoing>
51 <bpmn:serviceTask id="Task_SendSync" name="Send Sync Ack API Handler" camunda:asyncAfter="true" camunda:expression="${WorkflowActionBBTasks.sendSyncAck(execution)}">
52 <bpmn:incoming>SequenceFlow_0sckerv</bpmn:incoming>
53 <bpmn:outgoing>SequenceFlow_1wb59ic</bpmn:outgoing>
55 <bpmn:serviceTask id="Task_UpdateRequestComplete" name="Update Request To Complete" camunda:expression="${WorkflowActionBBTasks.updateRequestStatusToComplete(execution)}">
56 <bpmn:incoming>SequenceFlow_0kf5sen</bpmn:incoming>
57 <bpmn:outgoing>SequenceFlow_1pz6edz</bpmn:outgoing>
59 <bpmn:sequenceFlow id="SequenceFlow_1pz6edz" sourceRef="Task_UpdateRequestComplete" targetRef="End_WorkflowActionBB" />
60 <bpmn:subProcess id="SubProcess_18226x4" name="Error Handling" triggeredByEvent="true">
61 <bpmn:startEvent id="ErrorStart" name="error">
62 <bpmn:outgoing>SequenceFlow_1edjl5x</bpmn:outgoing>
63 <bpmn:errorEventDefinition />
65 <bpmn:endEvent id="ErrorEnd" name="end">
66 <bpmn:incoming>SequenceFlow_0wvzfgf</bpmn:incoming>
68 <bpmn:serviceTask id="Task_UpdateDb" name="Update Request To Failed" camunda:expression="${WorkflowActionBBFailure.updateRequestStatusToFailed(execution)}">
69 <bpmn:incoming>SequenceFlow_024g0d1</bpmn:incoming>
70 <bpmn:incoming>SequenceFlow_0eana0l</bpmn:incoming>
71 <bpmn:outgoing>SequenceFlow_0wvzfgf</bpmn:outgoing>
73 <bpmn:sequenceFlow id="SequenceFlow_1edjl5x" sourceRef="ErrorStart" targetRef="ExclusiveGateway_10q79b6" />
74 <bpmn:sequenceFlow id="SequenceFlow_0wvzfgf" sourceRef="Task_UpdateDb" targetRef="ErrorEnd" />
75 <bpmn:exclusiveGateway id="ExclusiveGateway_10q79b6" name="Is Top-Level Flow and Sync Ack not sent?" default="SequenceFlow_024g0d1">
76 <bpmn:incoming>SequenceFlow_1edjl5x</bpmn:incoming>
77 <bpmn:outgoing>SequenceFlow_024g0d1</bpmn:outgoing>
78 <bpmn:outgoing>SequenceFlow_0vi883o</bpmn:outgoing>
79 </bpmn:exclusiveGateway>
80 <bpmn:sequenceFlow id="SequenceFlow_024g0d1" name="no" sourceRef="ExclusiveGateway_10q79b6" targetRef="Task_UpdateDb" />
81 <bpmn:sequenceFlow id="SequenceFlow_0vi883o" name="yes" sourceRef="ExclusiveGateway_10q79b6" targetRef="Task_SendSyncAckError">
82 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==true&&execution.getVariable("sentSyncResponse")==false}]]></bpmn:conditionExpression>
84 <bpmn:sequenceFlow id="SequenceFlow_0eana0l" sourceRef="Task_SendSyncAckError" targetRef="Task_UpdateDb" />
85 <bpmn:serviceTask id="Task_SendSyncAckError" name="Send Sync Ack API Handler" camunda:asyncAfter="true" camunda:expression="${WorkflowActionBBTasks.sendSyncAck(execution)}">
86 <bpmn:incoming>SequenceFlow_0vi883o</bpmn:incoming>
87 <bpmn:outgoing>SequenceFlow_0eana0l</bpmn:outgoing>
90 <bpmn:sequenceFlow id="SequenceFlow_0v588sm" name="Rollback = true" sourceRef="ExclusiveGateway_Finished" targetRef="Task_RollbackExecutionPath">
91 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("handlingCode")=="Rollback"||execution.getVariable("handlingCode")=="RollbackToAssigned"||execution.getVariable("handlingCode")=="RollbackToCreated"}]]></bpmn:conditionExpression>
93 <bpmn:sequenceFlow id="SequenceFlow_1atzsgn" sourceRef="Task_RollbackExecutionPath" targetRef="Task_SelectBB">
94 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isRollbackNeeded")==true}]]></bpmn:conditionExpression>
96 <bpmn:serviceTask id="Task_RollbackExecutionPath" name="Rollback Execution Path" camunda:expression="${WorkflowActionBBTasks.rollbackExecutionPath(execution)}">
97 <bpmn:incoming>SequenceFlow_0v588sm</bpmn:incoming>
98 <bpmn:outgoing>SequenceFlow_1atzsgn</bpmn:outgoing>
99 <bpmn:outgoing>SequenceFlow_11dlyzt</bpmn:outgoing>
101 <bpmn:sequenceFlow id="SequenceFlow_0vc9go9" sourceRef="Task_RetrieveBBExectuionList" targetRef="ExclusiveGateway_isTopLevelFlow" />
102 <bpmn:sequenceFlow id="SequenceFlow_11530ei" name="Abort = true" sourceRef="ExclusiveGateway_Finished" targetRef="ExclusiveGateway_isTopLevelFlowAbort">
103 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("handlingCode")=="Abort"}]]></bpmn:conditionExpression>
105 <bpmn:serviceTask id="Task_AbortAndCallErrorHandling" name="Update Request To Failed" camunda:expression="${WorkflowActionBBFailure.updateRequestStatusToFailed(execution)}">
106 <bpmn:incoming>SequenceFlow_02ksbt0</bpmn:incoming>
107 <bpmn:outgoing>SequenceFlow_1p8yxu6</bpmn:outgoing>
109 <bpmn:endEvent id="EndEvent_0lzz1ya" name="end">
110 <bpmn:incoming>SequenceFlow_1p8yxu6</bpmn:incoming>
111 <bpmn:incoming>SequenceFlow_1r570x3</bpmn:incoming>
113 <bpmn:sequenceFlow id="SequenceFlow_1p8yxu6" sourceRef="Task_AbortAndCallErrorHandling" targetRef="EndEvent_0lzz1ya" />
114 <bpmn:sequenceFlow id="SequenceFlow_1wb59ic" sourceRef="Task_SendSync" targetRef="Task_PreValidateWorkflow" />
115 <bpmn:sequenceFlow id="SequenceFlow_01j184u" sourceRef="ExclusiveGateway_Finished" targetRef="Task_0a31dkf" />
116 <bpmn:serviceTask id="Task_0a31dkf" name="Check Retry Status" camunda:expression="${WorkflowActionBBTasks.checkRetryStatus(execution)}">
117 <bpmn:incoming>SequenceFlow_01j184u</bpmn:incoming>
118 <bpmn:outgoing>SequenceFlow_1pnkpim</bpmn:outgoing>
120 <bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlow" name="Is Top-Level Flow?" default="SequenceFlow_0sckerv">
121 <bpmn:incoming>SequenceFlow_0vc9go9</bpmn:incoming>
122 <bpmn:outgoing>SequenceFlow_0sckerv</bpmn:outgoing>
123 <bpmn:outgoing>SequenceFlow_0unbew4</bpmn:outgoing>
124 </bpmn:exclusiveGateway>
125 <bpmn:sequenceFlow id="SequenceFlow_0sckerv" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlow" targetRef="Task_SendSync" />
126 <bpmn:sequenceFlow id="SequenceFlow_0unbew4" name="no" sourceRef="ExclusiveGateway_isTopLevelFlow" targetRef="Task_PreValidateWorkflow">
127 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==false}]]></bpmn:conditionExpression>
129 <bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlowAbort" name="Is Top-Level Flow?" default="SequenceFlow_02ksbt0">
130 <bpmn:incoming>SequenceFlow_11530ei</bpmn:incoming>
131 <bpmn:outgoing>SequenceFlow_02ksbt0</bpmn:outgoing>
132 <bpmn:outgoing>SequenceFlow_1r570x3</bpmn:outgoing>
133 </bpmn:exclusiveGateway>
134 <bpmn:sequenceFlow id="SequenceFlow_02ksbt0" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlowAbort" targetRef="Task_AbortAndCallErrorHandling" />
135 <bpmn:sequenceFlow id="SequenceFlow_1r570x3" name="no" sourceRef="ExclusiveGateway_isTopLevelFlowAbort" targetRef="EndEvent_0lzz1ya">
136 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==false}]]></bpmn:conditionExpression>
138 <bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlowC" name="Is Top-Level Flow?" default="SequenceFlow_0kf5sen">
139 <bpmn:incoming>SequenceFlow_1m2eezj</bpmn:incoming>
140 <bpmn:outgoing>SequenceFlow_0x4urgp</bpmn:outgoing>
141 <bpmn:outgoing>SequenceFlow_0kf5sen</bpmn:outgoing>
142 </bpmn:exclusiveGateway>
143 <bpmn:sequenceFlow id="SequenceFlow_0x4urgp" name="no" sourceRef="ExclusiveGateway_isTopLevelFlowC" targetRef="End_WorkflowActionBB">
144 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==false}]]></bpmn:conditionExpression>
146 <bpmn:endEvent id="End_RollbackFailed" name="end">
147 <bpmn:incoming>SequenceFlow_1ui67mc</bpmn:incoming>
149 <bpmn:sequenceFlow id="SequenceFlow_11dlyzt" name="Rollback Not Needed" sourceRef="Task_RollbackExecutionPath" targetRef="Task_UpdateRequestToFailed">
150 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isRollbackNeeded")==false}]]></bpmn:conditionExpression>
152 <bpmn:serviceTask id="Task_UpdateRequestToFailed" name="Update Request To Failed" camunda:expression="${WorkflowActionBBFailure.updateRequestStatusToFailedWithRollback(execution)}">
153 <bpmn:incoming>SequenceFlow_11dlyzt</bpmn:incoming>
154 <bpmn:incoming>SequenceFlow_0l7kaba</bpmn:incoming>
155 <bpmn:outgoing>SequenceFlow_1ui67mc</bpmn:outgoing>
157 <bpmn:sequenceFlow id="SequenceFlow_0l7kaba" name="Rollback Completed" sourceRef="ExclusiveGateway_Finished" targetRef="Task_UpdateRequestToFailed">
158 <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("completed")==true&&execution.getVariable("isRollback")==true&&execution.getVariable("handlingCode")=="Success"}]]></bpmn:conditionExpression>
160 <bpmn:sequenceFlow id="SequenceFlow_1ui67mc" sourceRef="Task_UpdateRequestToFailed" targetRef="End_RollbackFailed" />
161 <bpmn:subProcess id="SubProcess_0fuugr9" name="Java Exception Handling Sub Process" triggeredByEvent="true">
162 <bpmn:startEvent id="StartEvent_runtimeError" name="error">
163 <bpmn:outgoing>SequenceFlow_11d126w</bpmn:outgoing>
164 <bpmn:errorEventDefinition errorRef="Error_0kd2o2a" camunda:errorCodeVariable="BPMN_javaExpCode" camunda:errorMessageVariable="BPMN_javaExpMsg" />
166 <bpmn:serviceTask id="ServiceTask_HandleRuntimeError" name="Handle Runtime Exception" camunda:expression="${WorkflowAction.handleRuntimeException(execution)}">
167 <bpmn:incoming>SequenceFlow_11d126w</bpmn:incoming>
168 <bpmn:outgoing>SequenceFlow_0w4sx88</bpmn:outgoing>
170 <bpmn:endEvent id="EndEvent__runtimeError">
171 <bpmn:incoming>SequenceFlow_0w4sx88</bpmn:incoming>
173 <bpmn:sequenceFlow id="SequenceFlow_11d126w" sourceRef="StartEvent_runtimeError" targetRef="ServiceTask_HandleRuntimeError" />
174 <bpmn:sequenceFlow id="SequenceFlow_0w4sx88" sourceRef="ServiceTask_HandleRuntimeError" targetRef="EndEvent__runtimeError" />
176 <bpmn:serviceTask id="ServiceTask_0e2p0xs" name="Update Flow Statistics" camunda:expression="${WorkflowActionBBTasks.updateFlowStatistics(execution)}">
177 <bpmn:incoming>SequenceFlow_0mqrkxv</bpmn:incoming>
178 <bpmn:outgoing>SequenceFlow_0mew9im</bpmn:outgoing>
180 <bpmn:sequenceFlow id="SequenceFlow_0mew9im" sourceRef="ServiceTask_0e2p0xs" targetRef="Call_ExecuteBB" />
181 <bpmn:sequenceFlow id="SequenceFlow_0kf5sen" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlowC" targetRef="Task_UpdateRequestComplete" />
182 <bpmn:sequenceFlow id="SequenceFlow_1tfizxf" sourceRef="Task_PreValidateWorkflow" targetRef="Task_SelectBB" />
183 <bpmn:serviceTask id="Task_PreValidateWorkflow" name="PreValidate Workflow" camunda:expression="${WorkflowValidatorRunner.preValidate(execution.getVariable("requestAction"), execution)}">
184 <bpmn:incoming>SequenceFlow_0unbew4</bpmn:incoming>
185 <bpmn:incoming>SequenceFlow_1wb59ic</bpmn:incoming>
186 <bpmn:outgoing>SequenceFlow_1tfizxf</bpmn:outgoing>
188 <bpmn:serviceTask id="ServiceTask_0lbkcyp" name="Post Processing Execute BB" camunda:expression="${WorkflowActionBBTasks.postProcessingExecuteBB(execution)}">
189 <bpmn:incoming>SequenceFlow_1hsqed1</bpmn:incoming>
190 <bpmn:outgoing>SequenceFlow_1fftixk</bpmn:outgoing>
192 <bpmn:sequenceFlow id="SequenceFlow_1hsqed1" sourceRef="Call_ExecuteBB" targetRef="ServiceTask_0lbkcyp" />
193 <bpmn:sequenceFlow id="SequenceFlow_1fftixk" sourceRef="ServiceTask_0lbkcyp" targetRef="ExclusiveGateway_Finished" />
194 <bpmn:sequenceFlow id="SequenceFlow_1pnkpim" sourceRef="Task_0a31dkf" targetRef="Task_SelectBB" />
196 <bpmn:error id="Error_0kd2o2a" name="java.lang.Exception" errorCode="java.lang.Exception" />
197 <bpmndi:BPMNDiagram id="BPMNDiagram_1">
198 <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="WorkflowActionBB">
199 <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="Start_WorkflowActionBB">
200 <dc:Bounds x="-434" y="102" width="36" height="36" />
202 <dc:Bounds x="-426" y="138" width="22" height="12" />
205 <bpmndi:BPMNShape id="EndEvent_1uv6erv_di" bpmnElement="End_WorkflowActionBB">
206 <dc:Bounds x="1304" y="147" width="36" height="36" />
208 <dc:Bounds x="1313" y="127" width="18" height="12" />
211 <bpmndi:BPMNEdge id="SequenceFlow_15s0okp_di" bpmnElement="SequenceFlow_15s0okp">
212 <di:waypoint xsi:type="dc:Point" x="-398" y="120" />
213 <di:waypoint xsi:type="dc:Point" x="-365" y="120" />
215 <dc:Bounds x="-381" y="99" width="0" height="0" />
218 <bpmndi:BPMNShape id="CallActivity_03m7z4y_di" bpmnElement="Call_ExecuteBB">
219 <dc:Bounds x="560" y="80" width="100" height="80" />
221 <bpmndi:BPMNEdge id="SequenceFlow_0mqrkxv_di" bpmnElement="SequenceFlow_0mqrkxv">
222 <di:waypoint xsi:type="dc:Point" x="339" y="120" />
223 <di:waypoint xsi:type="dc:Point" x="400" y="120" />
225 <dc:Bounds x="324.5" y="105" width="90" height="0" />
228 <bpmndi:BPMNShape id="ServiceTask_1snenqk_di" bpmnElement="Task_SelectBB">
229 <dc:Bounds x="239" y="80" width="100" height="80" />
231 <bpmndi:BPMNShape id="ExclusiveGateway_0m1zt0q_di" bpmnElement="ExclusiveGateway_Finished" isMarkerVisible="true">
232 <dc:Bounds x="911" y="95" width="50" height="50" />
234 <dc:Bounds x="850" y="42" width="90" height="0" />
237 <bpmndi:BPMNEdge id="SequenceFlow_1m2eezj_di" bpmnElement="SequenceFlow_1m2eezj">
238 <di:waypoint xsi:type="dc:Point" x="949" y="132" />
239 <di:waypoint xsi:type="dc:Point" x="980" y="165" />
240 <di:waypoint xsi:type="dc:Point" x="1060" y="165" />
242 <dc:Bounds x="968" y="168" width="83" height="12" />
245 <bpmndi:BPMNShape id="ServiceTask_0kn8jt8_di" bpmnElement="Task_RetrieveBBExectuionList">
246 <dc:Bounds x="-365" y="80" width="100" height="80" />
248 <bpmndi:BPMNShape id="ServiceTask_0654g3m_di" bpmnElement="Task_SendSync">
249 <dc:Bounds x="-132" y="-6" width="100" height="80" />
251 <bpmndi:BPMNShape id="ServiceTask_0wzh11j_di" bpmnElement="Task_UpdateRequestComplete">
252 <dc:Bounds x="1161" y="206" width="100" height="80" />
254 <bpmndi:BPMNEdge id="SequenceFlow_1pz6edz_di" bpmnElement="SequenceFlow_1pz6edz">
255 <di:waypoint xsi:type="dc:Point" x="1261" y="246" />
256 <di:waypoint xsi:type="dc:Point" x="1322" y="246" />
257 <di:waypoint xsi:type="dc:Point" x="1322" y="183" />
259 <dc:Bounds x="1247" y="231" width="90" height="0" />
262 <bpmndi:BPMNShape id="SubProcess_18226x4_di" bpmnElement="SubProcess_18226x4" isExpanded="true">
263 <dc:Bounds x="498" y="444" width="438" height="297" />
265 <bpmndi:BPMNShape id="StartEvent_184g7f3_di" bpmnElement="ErrorStart">
266 <dc:Bounds x="520" y="639" width="36" height="36" />
268 <dc:Bounds x="526" y="682" width="24" height="12" />
271 <bpmndi:BPMNShape id="EndEvent_0l4edvr_di" bpmnElement="ErrorEnd">
272 <dc:Bounds x="880" y="639" width="36" height="36" />
274 <dc:Bounds x="890" y="681" width="18" height="12" />
277 <bpmndi:BPMNEdge id="SequenceFlow_0v588sm_di" bpmnElement="SequenceFlow_0v588sm">
278 <di:waypoint xsi:type="dc:Point" x="936" y="145" />
279 <di:waypoint xsi:type="dc:Point" x="936" y="262" />
280 <di:waypoint xsi:type="dc:Point" x="339" y="262" />
282 <dc:Bounds x="769.202380952381" y="272" width="73" height="12" />
285 <bpmndi:BPMNEdge id="SequenceFlow_1atzsgn_di" bpmnElement="SequenceFlow_1atzsgn">
286 <di:waypoint xsi:type="dc:Point" x="289" y="222" />
287 <di:waypoint xsi:type="dc:Point" x="289" y="160" />
289 <dc:Bounds x="259" y="191" width="90" height="0" />
292 <bpmndi:BPMNShape id="ServiceTask_19t1oyr_di" bpmnElement="Task_RollbackExecutionPath">
293 <dc:Bounds x="239" y="222" width="100" height="80" />
295 <bpmndi:BPMNEdge id="SequenceFlow_0vc9go9_di" bpmnElement="SequenceFlow_0vc9go9">
296 <di:waypoint xsi:type="dc:Point" x="-265" y="120" />
297 <di:waypoint xsi:type="dc:Point" x="-228" y="120" />
299 <dc:Bounds x="-246" y="105" width="0" height="0" />
302 <bpmndi:BPMNEdge id="SequenceFlow_11530ei_di" bpmnElement="SequenceFlow_11530ei">
303 <di:waypoint xsi:type="dc:Point" x="946" y="105" />
304 <di:waypoint xsi:type="dc:Point" x="983" y="44" />
305 <di:waypoint xsi:type="dc:Point" x="1060" y="45" />
307 <dc:Bounds x="975" y="17" width="58" height="12" />
310 <bpmndi:BPMNShape id="ServiceTask_0jo36ez_di" bpmnElement="Task_AbortAndCallErrorHandling">
311 <dc:Bounds x="1176" y="-76" width="100" height="80" />
313 <bpmndi:BPMNShape id="EndEvent_0lzz1ya_di" bpmnElement="EndEvent_0lzz1ya">
314 <dc:Bounds x="1386" y="27" width="36" height="36" />
316 <dc:Bounds x="1395" y="67" width="18" height="12" />
319 <bpmndi:BPMNEdge id="SequenceFlow_1p8yxu6_di" bpmnElement="SequenceFlow_1p8yxu6">
320 <di:waypoint xsi:type="dc:Point" x="1276" y="-36" />
321 <di:waypoint xsi:type="dc:Point" x="1359" y="-36" />
322 <di:waypoint xsi:type="dc:Point" x="1359" y="45" />
323 <di:waypoint xsi:type="dc:Point" x="1386" y="45" />
325 <dc:Bounds x="1329" y="5" width="90" height="0" />
328 <bpmndi:BPMNEdge id="SequenceFlow_1wb59ic_di" bpmnElement="SequenceFlow_1wb59ic">
329 <di:waypoint xsi:type="dc:Point" x="-32" y="34" />
330 <di:waypoint xsi:type="dc:Point" x="32" y="34" />
331 <di:waypoint xsi:type="dc:Point" x="32" y="120" />
332 <di:waypoint xsi:type="dc:Point" x="80" y="120" />
334 <dc:Bounds x="47" y="77" width="0" height="0" />
337 <bpmndi:BPMNEdge id="SequenceFlow_01j184u_di" bpmnElement="SequenceFlow_01j184u">
338 <di:waypoint xsi:type="dc:Point" x="936" y="95" />
339 <di:waypoint xsi:type="dc:Point" x="936" y="55" />
340 <di:waypoint xsi:type="dc:Point" x="936" y="55" />
341 <di:waypoint xsi:type="dc:Point" x="936" y="4" />
343 <dc:Bounds x="906" y="49" width="90" height="0" />
346 <bpmndi:BPMNShape id="ServiceTask_1c1v3p1_di" bpmnElement="Task_0a31dkf">
347 <dc:Bounds x="886" y="-76" width="100" height="80" />
349 <bpmndi:BPMNShape id="ExclusiveGateway_0ptb1yi_di" bpmnElement="ExclusiveGateway_isTopLevelFlow" isMarkerVisible="true">
350 <dc:Bounds x="-228" y="95" width="50" height="50" />
352 <dc:Bounds x="-235" y="145" width="63" height="24" />
355 <bpmndi:BPMNEdge id="SequenceFlow_0sckerv_di" bpmnElement="SequenceFlow_0sckerv">
356 <di:waypoint xsi:type="dc:Point" x="-202" y="96" />
357 <di:waypoint xsi:type="dc:Point" x="-202" y="34" />
358 <di:waypoint xsi:type="dc:Point" x="-132" y="34" />
360 <dc:Bounds x="-195" y="55.55555555555556" width="18" height="12" />
363 <bpmndi:BPMNEdge id="SequenceFlow_0unbew4_di" bpmnElement="SequenceFlow_0unbew4">
364 <di:waypoint xsi:type="dc:Point" x="-178" y="120" />
365 <di:waypoint xsi:type="dc:Point" x="80" y="120" />
367 <dc:Bounds x="-87" y="99.95468180757382" width="12" height="12" />
370 <bpmndi:BPMNShape id="ExclusiveGateway_001g41v_di" bpmnElement="ExclusiveGateway_isTopLevelFlowAbort" isMarkerVisible="true">
371 <dc:Bounds x="1060" y="20" width="50" height="50" />
373 <dc:Bounds x="1055" y="70" width="61" height="24" />
376 <bpmndi:BPMNEdge id="SequenceFlow_02ksbt0_di" bpmnElement="SequenceFlow_02ksbt0">
377 <di:waypoint xsi:type="dc:Point" x="1085" y="20" />
378 <di:waypoint xsi:type="dc:Point" x="1085" y="-37" />
379 <di:waypoint xsi:type="dc:Point" x="1176" y="-37" />
381 <dc:Bounds x="1091" y="-8" width="19" height="12" />
384 <bpmndi:BPMNEdge id="SequenceFlow_1r570x3_di" bpmnElement="SequenceFlow_1r570x3">
385 <di:waypoint xsi:type="dc:Point" x="1110" y="45" />
386 <di:waypoint xsi:type="dc:Point" x="1386" y="45" />
388 <dc:Bounds x="1242" y="20" width="12" height="12" />
391 <bpmndi:BPMNShape id="ExclusiveGateway_1er1kam_di" bpmnElement="ExclusiveGateway_isTopLevelFlowC" isMarkerVisible="true">
392 <dc:Bounds x="1060" y="140" width="50" height="50" />
394 <dc:Bounds x="1055" y="108" width="61" height="24" />
397 <bpmndi:BPMNEdge id="SequenceFlow_0x4urgp_di" bpmnElement="SequenceFlow_0x4urgp">
398 <di:waypoint xsi:type="dc:Point" x="1110" y="165" />
399 <di:waypoint xsi:type="dc:Point" x="1220" y="165" />
400 <di:waypoint xsi:type="dc:Point" x="1220" y="165" />
401 <di:waypoint xsi:type="dc:Point" x="1304" y="165" />
403 <dc:Bounds x="1256" y="140" width="12" height="12" />
406 <bpmndi:BPMNShape id="EndEvent_1q8eh5e_di" bpmnElement="End_RollbackFailed">
407 <dc:Bounds x="1159" y="347" width="36" height="36" />
409 <dc:Bounds x="1177" y="399" width="18" height="12" />
412 <bpmndi:BPMNEdge id="SequenceFlow_11dlyzt_di" bpmnElement="SequenceFlow_11dlyzt">
413 <di:waypoint xsi:type="dc:Point" x="289" y="302" />
414 <di:waypoint xsi:type="dc:Point" x="289" y="368" />
415 <di:waypoint xsi:type="dc:Point" x="960" y="368" />
417 <dc:Bounds x="381.45685840707966" y="325" width="63" height="24" />
420 <bpmndi:BPMNShape id="ServiceTask_1h154rn_di" bpmnElement="Task_UpdateDb">
421 <dc:Bounds x="713" y="617" width="100" height="80" />
423 <bpmndi:BPMNShape id="ServiceTask_1t8n9gd_di" bpmnElement="Task_UpdateRequestToFailed">
424 <dc:Bounds x="960" y="325" width="100" height="80" />
426 <bpmndi:BPMNEdge id="SequenceFlow_0l7kaba_di" bpmnElement="SequenceFlow_0l7kaba">
427 <di:waypoint xsi:type="dc:Point" x="942" y="139" />
428 <di:waypoint xsi:type="dc:Point" x="976" y="252" />
429 <di:waypoint xsi:type="dc:Point" x="1016" y="252" />
430 <di:waypoint xsi:type="dc:Point" x="1016" y="325" />
432 <dc:Bounds x="959" y="255" width="52" height="24" />
435 <bpmndi:BPMNEdge id="SequenceFlow_1edjl5x_di" bpmnElement="SequenceFlow_1edjl5x">
436 <di:waypoint xsi:type="dc:Point" x="556" y="657" />
437 <di:waypoint xsi:type="dc:Point" x="602" y="657" />
439 <dc:Bounds x="534" y="636" width="90" height="12" />
442 <bpmndi:BPMNEdge id="SequenceFlow_0wvzfgf_di" bpmnElement="SequenceFlow_0wvzfgf">
443 <di:waypoint xsi:type="dc:Point" x="813" y="657" />
444 <di:waypoint xsi:type="dc:Point" x="880" y="657" />
446 <dc:Bounds x="801.5" y="636" width="90" height="12" />
449 <bpmndi:BPMNEdge id="SequenceFlow_1ui67mc_di" bpmnElement="SequenceFlow_1ui67mc">
450 <di:waypoint xsi:type="dc:Point" x="1060" y="365" />
451 <di:waypoint xsi:type="dc:Point" x="1134" y="365" />
452 <di:waypoint xsi:type="dc:Point" x="1134" y="365" />
453 <di:waypoint xsi:type="dc:Point" x="1159" y="365" />
455 <dc:Bounds x="1104" y="359" width="90" height="13" />
458 <bpmndi:BPMNShape id="ExclusiveGateway_10q79b6_di" bpmnElement="ExclusiveGateway_10q79b6" isMarkerVisible="true">
459 <dc:Bounds x="602" y="632" width="50" height="50" />
461 <dc:Bounds x="584" y="686" width="86" height="36" />
464 <bpmndi:BPMNEdge id="SequenceFlow_024g0d1_di" bpmnElement="SequenceFlow_024g0d1">
465 <di:waypoint xsi:type="dc:Point" x="652" y="657" />
466 <di:waypoint xsi:type="dc:Point" x="683" y="657" />
467 <di:waypoint xsi:type="dc:Point" x="683" y="657" />
468 <di:waypoint xsi:type="dc:Point" x="713" y="657" />
470 <dc:Bounds x="677" y="634" width="12" height="12" />
473 <bpmndi:BPMNEdge id="SequenceFlow_0vi883o_di" bpmnElement="SequenceFlow_0vi883o">
474 <di:waypoint xsi:type="dc:Point" x="627" y="632" />
475 <di:waypoint xsi:type="dc:Point" x="627" y="548" />
476 <di:waypoint xsi:type="dc:Point" x="713" y="548" />
478 <dc:Bounds x="633" y="584" width="18" height="12" />
481 <bpmndi:BPMNEdge id="SequenceFlow_0eana0l_di" bpmnElement="SequenceFlow_0eana0l">
482 <di:waypoint xsi:type="dc:Point" x="763" y="588" />
483 <di:waypoint xsi:type="dc:Point" x="763" y="617" />
485 <dc:Bounds x="778" y="596.5" width="0" height="12" />
488 <bpmndi:BPMNShape id="ServiceTask_10hs368_di" bpmnElement="Task_SendSyncAckError">
489 <dc:Bounds x="713" y="508" width="100" height="80" />
491 <bpmndi:BPMNShape id="SubProcess_0fuugr9_di" bpmnElement="SubProcess_0fuugr9" isExpanded="true">
492 <dc:Bounds x="515" y="792" width="404" height="165" />
494 <bpmndi:BPMNShape id="StartEvent_15qkxd7_di" bpmnElement="StartEvent_runtimeError">
495 <dc:Bounds x="570" y="857" width="36" height="36" />
497 <dc:Bounds x="577" y="900" width="24" height="12" />
500 <bpmndi:BPMNShape id="ServiceTask_1p4kxh2_di" bpmnElement="ServiceTask_HandleRuntimeError">
501 <dc:Bounds x="690" y="835" width="100" height="80" />
503 <bpmndi:BPMNShape id="EndEvent_09e3lu5_di" bpmnElement="EndEvent__runtimeError">
504 <dc:Bounds x="856" y="857" width="36" height="36" />
506 <dc:Bounds x="784" y="897" width="0" height="12" />
509 <bpmndi:BPMNEdge id="SequenceFlow_11d126w_di" bpmnElement="SequenceFlow_11d126w">
510 <di:waypoint xsi:type="dc:Point" x="606" y="875" />
511 <di:waypoint xsi:type="dc:Point" x="690" y="875" />
513 <dc:Bounds x="603" y="854" width="0" height="12" />
516 <bpmndi:BPMNEdge id="SequenceFlow_0w4sx88_di" bpmnElement="SequenceFlow_0w4sx88">
517 <di:waypoint xsi:type="dc:Point" x="790" y="875" />
518 <di:waypoint xsi:type="dc:Point" x="856" y="875" />
520 <dc:Bounds x="778" y="854" width="0" height="12" />
523 <bpmndi:BPMNShape id="ServiceTask_0e2p0xs_di" bpmnElement="ServiceTask_0e2p0xs">
524 <dc:Bounds x="400" y="80" width="100" height="80" />
526 <bpmndi:BPMNEdge id="SequenceFlow_0mew9im_di" bpmnElement="SequenceFlow_0mew9im">
527 <di:waypoint xsi:type="dc:Point" x="500" y="120" />
528 <di:waypoint xsi:type="dc:Point" x="560" y="120" />
530 <dc:Bounds x="530" y="99" width="0" height="12" />
533 <bpmndi:BPMNEdge id="SequenceFlow_0kf5sen_di" bpmnElement="SequenceFlow_0kf5sen">
534 <di:waypoint xsi:type="dc:Point" x="1085" y="190" />
535 <di:waypoint xsi:type="dc:Point" x="1085" y="246" />
536 <di:waypoint xsi:type="dc:Point" x="1161" y="246" />
538 <dc:Bounds x="1091" y="218" width="19" height="12" />
541 <bpmndi:BPMNEdge id="SequenceFlow_1tfizxf_di" bpmnElement="SequenceFlow_1tfizxf">
542 <di:waypoint xsi:type="dc:Point" x="180" y="120" />
543 <di:waypoint xsi:type="dc:Point" x="211" y="120" />
544 <di:waypoint xsi:type="dc:Point" x="211" y="120" />
545 <di:waypoint xsi:type="dc:Point" x="239" y="120" />
547 <dc:Bounds x="226" y="120" width="0" height="0" />
550 <bpmndi:BPMNShape id="ServiceTask_0m5xr0e_di" bpmnElement="Task_PreValidateWorkflow">
551 <dc:Bounds x="80" y="80" width="100" height="80" />
553 <bpmndi:BPMNShape id="ServiceTask_0lbkcyp_di" bpmnElement="ServiceTask_0lbkcyp">
554 <dc:Bounds x="735" y="80" width="100" height="80" />
556 <bpmndi:BPMNEdge id="SequenceFlow_1hsqed1_di" bpmnElement="SequenceFlow_1hsqed1">
557 <di:waypoint xsi:type="dc:Point" x="660" y="120" />
558 <di:waypoint xsi:type="dc:Point" x="735" y="120" />
560 <dc:Bounds x="697.5" y="99" width="0" height="12" />
563 <bpmndi:BPMNEdge id="SequenceFlow_1fftixk_di" bpmnElement="SequenceFlow_1fftixk">
564 <di:waypoint xsi:type="dc:Point" x="835" y="120" />
565 <di:waypoint xsi:type="dc:Point" x="911" y="120" />
567 <dc:Bounds x="873" y="99" width="0" height="12" />
570 <bpmndi:BPMNEdge id="SequenceFlow_1pnkpim_di" bpmnElement="SequenceFlow_1pnkpim">
571 <di:waypoint xsi:type="dc:Point" x="886" y="-36" />
572 <di:waypoint xsi:type="dc:Point" x="289" y="-36" />
573 <di:waypoint xsi:type="dc:Point" x="289" y="80" />
575 <dc:Bounds x="587.5" y="-57" width="0" height="12" />
579 </bpmndi:BPMNDiagram>