81d32260378078e8da1ef2e20cf9964b0fb93fe5
[so.git] / bpmn / so-bpmn-building-blocks / src / main / resources / subprocess / BuildingBlock / WorkflowActionBB.bpmn
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.10.0">
3   <bpmn:process id="WorkflowActionBB" name="WorkflowActionBB" isExecutable="true">
4     <bpmn:startEvent id="Start_WorkflowActionBB" name="start">
5       <bpmn:outgoing>SequenceFlow_15s0okp</bpmn:outgoing>
6     </bpmn:startEvent>
7     <bpmn:endEvent id="End_WorkflowActionBB" name="end">
8       <bpmn:incoming>SequenceFlow_0x4urgp</bpmn:incoming>
9       <bpmn:incoming>SequenceFlow_1pz6edz</bpmn:incoming>
10     </bpmn:endEvent>
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_07h9d4y</bpmn:outgoing>
28     </bpmn:callActivity>
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_005hi8o</bpmn:incoming>
33       <bpmn:incoming>SequenceFlow_1tfizxf</bpmn:incoming>
34       <bpmn:outgoing>SequenceFlow_0mqrkxv</bpmn:outgoing>
35     </bpmn:serviceTask>
36     <bpmn:exclusiveGateway id="ExclusiveGateway_Finished" default="SequenceFlow_01j184u">
37       <bpmn:incoming>SequenceFlow_07h9d4y</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_07h9d4y" sourceRef="Call_ExecuteBB" targetRef="ExclusiveGateway_Finished" />
45     <bpmn:sequenceFlow id="SequenceFlow_1m2eezj" name="Completed = true" sourceRef="ExclusiveGateway_Finished" targetRef="ExclusiveGateway_isTopLevelFlowC">
46       <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("completed")==true&&execution.getVariable("isRollback")==false&&execution.getVariable("handlingCode")=="Success"}]]></bpmn:conditionExpression>
47     </bpmn:sequenceFlow>
48     <bpmn:serviceTask id="Task_RetrieveBBExectuionList" name="Retrieve BB Execution List" camunda:expression="${WorkflowAction.selectExecutionList(execution)}">
49       <bpmn:incoming>SequenceFlow_15s0okp</bpmn:incoming>
50       <bpmn:outgoing>SequenceFlow_0vc9go9</bpmn:outgoing>
51     </bpmn:serviceTask>
52     <bpmn:serviceTask id="Task_SendSync" name="Send Sync Ack API Handler" camunda:asyncAfter="true" camunda:expression="${WorkflowActionBBTasks.sendSyncAck(execution)}">
53       <bpmn:incoming>SequenceFlow_0sckerv</bpmn:incoming>
54       <bpmn:outgoing>SequenceFlow_1wb59ic</bpmn:outgoing>
55     </bpmn:serviceTask>
56     <bpmn:serviceTask id="Task_UpdateRequestComplete" name="Update Request To Complete" camunda:expression="${WorkflowActionBBTasks.updateRequestStatusToComplete(execution)}">
57       <bpmn:incoming>SequenceFlow_0kf5sen</bpmn:incoming>
58       <bpmn:outgoing>SequenceFlow_1pz6edz</bpmn:outgoing>
59     </bpmn:serviceTask>
60     <bpmn:sequenceFlow id="SequenceFlow_1pz6edz" sourceRef="Task_UpdateRequestComplete" targetRef="End_WorkflowActionBB" />
61     <bpmn:subProcess id="SubProcess_18226x4" name="Error Handling" triggeredByEvent="true">
62       <bpmn:startEvent id="ErrorStart" name="error">
63         <bpmn:outgoing>SequenceFlow_1edjl5x</bpmn:outgoing>
64         <bpmn:errorEventDefinition />
65       </bpmn:startEvent>
66       <bpmn:endEvent id="ErrorEnd" name="end">
67         <bpmn:incoming>SequenceFlow_0wvzfgf</bpmn:incoming>
68       </bpmn:endEvent>
69       <bpmn:serviceTask id="Task_UpdateDb" name="Update Request To Failed" camunda:expression="${WorkflowActionBBFailure.updateRequestStatusToFailed(execution)}">
70         <bpmn:incoming>SequenceFlow_024g0d1</bpmn:incoming>
71         <bpmn:incoming>SequenceFlow_0eana0l</bpmn:incoming>
72         <bpmn:outgoing>SequenceFlow_0wvzfgf</bpmn:outgoing>
73       </bpmn:serviceTask>
74       <bpmn:sequenceFlow id="SequenceFlow_1edjl5x" sourceRef="ErrorStart" targetRef="ExclusiveGateway_10q79b6" />
75       <bpmn:sequenceFlow id="SequenceFlow_0wvzfgf" sourceRef="Task_UpdateDb" targetRef="ErrorEnd" />
76       <bpmn:exclusiveGateway id="ExclusiveGateway_10q79b6" name="Is Top-Level Flow and Sync Ack not sent?" default="SequenceFlow_024g0d1">
77         <bpmn:incoming>SequenceFlow_1edjl5x</bpmn:incoming>
78         <bpmn:outgoing>SequenceFlow_024g0d1</bpmn:outgoing>
79         <bpmn:outgoing>SequenceFlow_0vi883o</bpmn:outgoing>
80       </bpmn:exclusiveGateway>
81       <bpmn:sequenceFlow id="SequenceFlow_024g0d1" name="no" sourceRef="ExclusiveGateway_10q79b6" targetRef="Task_UpdateDb" />
82       <bpmn:sequenceFlow id="SequenceFlow_0vi883o" name="yes" sourceRef="ExclusiveGateway_10q79b6" targetRef="Task_SendSyncAckError">
83         <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==true&&execution.getVariable("sentSyncResponse")==false}]]></bpmn:conditionExpression>
84       </bpmn:sequenceFlow>
85       <bpmn:sequenceFlow id="SequenceFlow_0eana0l" sourceRef="Task_SendSyncAckError" targetRef="Task_UpdateDb" />
86       <bpmn:serviceTask id="Task_SendSyncAckError" name="Send Sync Ack API Handler" camunda:asyncAfter="true" camunda:expression="${WorkflowActionBBTasks.sendSyncAck(execution)}">
87         <bpmn:incoming>SequenceFlow_0vi883o</bpmn:incoming>
88         <bpmn:outgoing>SequenceFlow_0eana0l</bpmn:outgoing>
89       </bpmn:serviceTask>
90     </bpmn:subProcess>
91     <bpmn:sequenceFlow id="SequenceFlow_0v588sm" name="Rollback = true" sourceRef="ExclusiveGateway_Finished" targetRef="Task_RollbackExecutionPath">
92       <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("handlingCode")=="Rollback"||execution.getVariable("handlingCode")=="RollbackToAssigned"}]]></bpmn:conditionExpression>
93     </bpmn:sequenceFlow>
94     <bpmn:sequenceFlow id="SequenceFlow_1atzsgn" sourceRef="Task_RollbackExecutionPath" targetRef="Task_SelectBB">
95       <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isRollbackNeeded")==true}]]></bpmn:conditionExpression>
96     </bpmn:sequenceFlow>
97     <bpmn:serviceTask id="Task_RollbackExecutionPath" name="Rollback Execution Path" camunda:expression="${WorkflowActionBBTasks.rollbackExecutionPath(execution)}">
98       <bpmn:incoming>SequenceFlow_0v588sm</bpmn:incoming>
99       <bpmn:outgoing>SequenceFlow_1atzsgn</bpmn:outgoing>
100       <bpmn:outgoing>SequenceFlow_11dlyzt</bpmn:outgoing>
101     </bpmn:serviceTask>
102     <bpmn:sequenceFlow id="SequenceFlow_0vc9go9" sourceRef="Task_RetrieveBBExectuionList" targetRef="ExclusiveGateway_isTopLevelFlow" />
103     <bpmn:sequenceFlow id="SequenceFlow_11530ei" name="Abort = true" sourceRef="ExclusiveGateway_Finished" targetRef="ExclusiveGateway_isTopLevelFlowAbort">
104       <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("handlingCode")=="Abort"}]]></bpmn:conditionExpression>
105     </bpmn:sequenceFlow>
106     <bpmn:serviceTask id="Task_AbortAndCallErrorHandling" name="Update Request To Failed" camunda:expression="${WorkflowActionBBFailure.updateRequestStatusToFailed(execution)}">
107       <bpmn:incoming>SequenceFlow_02ksbt0</bpmn:incoming>
108       <bpmn:outgoing>SequenceFlow_1p8yxu6</bpmn:outgoing>
109     </bpmn:serviceTask>
110     <bpmn:endEvent id="EndEvent_0lzz1ya" name="end">
111       <bpmn:incoming>SequenceFlow_1p8yxu6</bpmn:incoming>
112       <bpmn:incoming>SequenceFlow_1r570x3</bpmn:incoming>
113     </bpmn:endEvent>
114     <bpmn:sequenceFlow id="SequenceFlow_1p8yxu6" sourceRef="Task_AbortAndCallErrorHandling" targetRef="EndEvent_0lzz1ya" />
115     <bpmn:sequenceFlow id="SequenceFlow_1wb59ic" sourceRef="Task_SendSync" targetRef="Task_PreValidateWorkflow" />
116     <bpmn:sequenceFlow id="SequenceFlow_01j184u" sourceRef="ExclusiveGateway_Finished" targetRef="Task_0a31dkf" />
117     <bpmn:sequenceFlow id="SequenceFlow_005hi8o" sourceRef="Task_0a31dkf" targetRef="Task_SelectBB" />
118     <bpmn:serviceTask id="Task_0a31dkf" name="Check Retry Status" camunda:expression="${WorkflowActionBBTasks.checkRetryStatus(execution)}">
119       <bpmn:incoming>SequenceFlow_01j184u</bpmn:incoming>
120       <bpmn:outgoing>SequenceFlow_005hi8o</bpmn:outgoing>
121     </bpmn:serviceTask>
122     <bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlow" name="Is Top-Level Flow?" default="SequenceFlow_0sckerv">
123       <bpmn:incoming>SequenceFlow_0vc9go9</bpmn:incoming>
124       <bpmn:outgoing>SequenceFlow_0sckerv</bpmn:outgoing>
125       <bpmn:outgoing>SequenceFlow_0unbew4</bpmn:outgoing>
126     </bpmn:exclusiveGateway>
127     <bpmn:sequenceFlow id="SequenceFlow_0sckerv" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlow" targetRef="Task_SendSync" />
128     <bpmn:sequenceFlow id="SequenceFlow_0unbew4" name="no" sourceRef="ExclusiveGateway_isTopLevelFlow" targetRef="Task_PreValidateWorkflow">
129       <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==false}]]></bpmn:conditionExpression>
130     </bpmn:sequenceFlow>
131     <bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlowAbort" name="Is Top-Level Flow?" default="SequenceFlow_02ksbt0">
132       <bpmn:incoming>SequenceFlow_11530ei</bpmn:incoming>
133       <bpmn:outgoing>SequenceFlow_02ksbt0</bpmn:outgoing>
134       <bpmn:outgoing>SequenceFlow_1r570x3</bpmn:outgoing>
135     </bpmn:exclusiveGateway>
136     <bpmn:sequenceFlow id="SequenceFlow_02ksbt0" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlowAbort" targetRef="Task_AbortAndCallErrorHandling" />
137     <bpmn:sequenceFlow id="SequenceFlow_1r570x3" name="no" sourceRef="ExclusiveGateway_isTopLevelFlowAbort" targetRef="EndEvent_0lzz1ya">
138       <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==false}]]></bpmn:conditionExpression>
139     </bpmn:sequenceFlow>
140     <bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlowC" name="Is Top-Level Flow?" default="SequenceFlow_0kf5sen">
141       <bpmn:incoming>SequenceFlow_1m2eezj</bpmn:incoming>
142       <bpmn:outgoing>SequenceFlow_0x4urgp</bpmn:outgoing>
143       <bpmn:outgoing>SequenceFlow_0kf5sen</bpmn:outgoing>
144     </bpmn:exclusiveGateway>
145     <bpmn:sequenceFlow id="SequenceFlow_0x4urgp" name="no" sourceRef="ExclusiveGateway_isTopLevelFlowC" targetRef="End_WorkflowActionBB">
146       <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==false}]]></bpmn:conditionExpression>
147     </bpmn:sequenceFlow>
148     <bpmn:endEvent id="End_RollbackFailed" name="end">
149       <bpmn:incoming>SequenceFlow_1ui67mc</bpmn:incoming>
150     </bpmn:endEvent>
151     <bpmn:sequenceFlow id="SequenceFlow_11dlyzt" name="Rollback Not Needed" sourceRef="Task_RollbackExecutionPath" targetRef="Task_UpdateRequestToFailed">
152       <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isRollbackNeeded")==false}]]></bpmn:conditionExpression>
153     </bpmn:sequenceFlow>
154     <bpmn:serviceTask id="Task_UpdateRequestToFailed" name="Update Request To Failed" camunda:expression="${WorkflowActionBBFailure.updateRequestStatusToFailedWithRollback(execution)}">
155       <bpmn:incoming>SequenceFlow_11dlyzt</bpmn:incoming>
156       <bpmn:incoming>SequenceFlow_0l7kaba</bpmn:incoming>
157       <bpmn:outgoing>SequenceFlow_1ui67mc</bpmn:outgoing>
158     </bpmn:serviceTask>
159     <bpmn:sequenceFlow id="SequenceFlow_0l7kaba" name="Rollback Completed" sourceRef="ExclusiveGateway_Finished" targetRef="Task_UpdateRequestToFailed">
160       <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("completed")==true&&execution.getVariable("isRollback")==true&&execution.getVariable("handlingCode")=="Success"}]]></bpmn:conditionExpression>
161     </bpmn:sequenceFlow>
162     <bpmn:sequenceFlow id="SequenceFlow_1ui67mc" sourceRef="Task_UpdateRequestToFailed" targetRef="End_RollbackFailed" />
163     <bpmn:subProcess id="SubProcess_0fuugr9" name="Java Exception Handling Sub Process" triggeredByEvent="true">
164       <bpmn:startEvent id="StartEvent_runtimeError" name="error">
165         <bpmn:outgoing>SequenceFlow_11d126w</bpmn:outgoing>
166         <bpmn:errorEventDefinition errorRef="Error_0kd2o2a" camunda:errorCodeVariable="BPMN_javaExpCode" camunda:errorMessageVariable="BPMN_javaExpMsg" />
167       </bpmn:startEvent>
168       <bpmn:serviceTask id="ServiceTask_HandleRuntimeError" name="Handle Runtime Exception" camunda:expression="${WorkflowAction.handleRuntimeException(execution)}">
169         <bpmn:incoming>SequenceFlow_11d126w</bpmn:incoming>
170         <bpmn:outgoing>SequenceFlow_0w4sx88</bpmn:outgoing>
171       </bpmn:serviceTask>
172       <bpmn:endEvent id="EndEvent__runtimeError">
173         <bpmn:incoming>SequenceFlow_0w4sx88</bpmn:incoming>
174       </bpmn:endEvent>
175       <bpmn:sequenceFlow id="SequenceFlow_11d126w" sourceRef="StartEvent_runtimeError" targetRef="ServiceTask_HandleRuntimeError" />
176       <bpmn:sequenceFlow id="SequenceFlow_0w4sx88" sourceRef="ServiceTask_HandleRuntimeError" targetRef="EndEvent__runtimeError" />
177     </bpmn:subProcess>
178     <bpmn:serviceTask id="ServiceTask_0e2p0xs" name="Update Flow Statistics" camunda:expression="${WorkflowActionBBTasks.updateFlowStatistics(execution)}">
179       <bpmn:incoming>SequenceFlow_0mqrkxv</bpmn:incoming>
180       <bpmn:outgoing>SequenceFlow_0mew9im</bpmn:outgoing>
181     </bpmn:serviceTask>
182     <bpmn:sequenceFlow id="SequenceFlow_0mew9im" sourceRef="ServiceTask_0e2p0xs" targetRef="Call_ExecuteBB" />
183     <bpmn:sequenceFlow id="SequenceFlow_0kf5sen" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlowC" targetRef="Task_UpdateRequestComplete" />
184     <bpmn:sequenceFlow id="SequenceFlow_1tfizxf" sourceRef="Task_PreValidateWorkflow" targetRef="Task_SelectBB" />
185     <bpmn:serviceTask id="Task_PreValidateWorkflow" name="PreValidate Workflow" camunda:expression="${WorkflowValidatorRunner.preValidate(execution.getVariable(&#34;requestAction&#34;), execution)}">
186       <bpmn:incoming>SequenceFlow_0unbew4</bpmn:incoming>
187       <bpmn:incoming>SequenceFlow_1wb59ic</bpmn:incoming>
188       <bpmn:outgoing>SequenceFlow_1tfizxf</bpmn:outgoing>
189     </bpmn:serviceTask>
190   </bpmn:process>
191   <bpmn:error id="Error_0kd2o2a" name="java.lang.Exception" errorCode="java.lang.Exception" />
192   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
193     <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="WorkflowActionBB">
194       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="Start_WorkflowActionBB">
195         <dc:Bounds x="-434" y="102" width="36" height="36" />
196         <bpmndi:BPMNLabel>
197           <dc:Bounds x="-426" y="138" width="22" height="12" />
198         </bpmndi:BPMNLabel>
199       </bpmndi:BPMNShape>
200       <bpmndi:BPMNShape id="EndEvent_1uv6erv_di" bpmnElement="End_WorkflowActionBB">
201         <dc:Bounds x="1085" y="147" width="36" height="36" />
202         <bpmndi:BPMNLabel>
203           <dc:Bounds x="1094" y="127" width="18" height="12" />
204         </bpmndi:BPMNLabel>
205       </bpmndi:BPMNShape>
206       <bpmndi:BPMNEdge id="SequenceFlow_15s0okp_di" bpmnElement="SequenceFlow_15s0okp">
207         <di:waypoint xsi:type="dc:Point" x="-398" y="120" />
208         <di:waypoint xsi:type="dc:Point" x="-365" y="120" />
209         <bpmndi:BPMNLabel>
210           <dc:Bounds x="-381" y="99" width="0" height="0" />
211         </bpmndi:BPMNLabel>
212       </bpmndi:BPMNEdge>
213       <bpmndi:BPMNShape id="CallActivity_03m7z4y_di" bpmnElement="Call_ExecuteBB">
214         <dc:Bounds x="560" y="80" width="100" height="80" />
215       </bpmndi:BPMNShape>
216       <bpmndi:BPMNEdge id="SequenceFlow_0mqrkxv_di" bpmnElement="SequenceFlow_0mqrkxv">
217         <di:waypoint xsi:type="dc:Point" x="339" y="120" />
218         <di:waypoint xsi:type="dc:Point" x="400" y="120" />
219         <bpmndi:BPMNLabel>
220           <dc:Bounds x="324.5" y="105" width="90" height="0" />
221         </bpmndi:BPMNLabel>
222       </bpmndi:BPMNEdge>
223       <bpmndi:BPMNShape id="ServiceTask_1snenqk_di" bpmnElement="Task_SelectBB">
224         <dc:Bounds x="239" y="80" width="100" height="80" />
225       </bpmndi:BPMNShape>
226       <bpmndi:BPMNShape id="ExclusiveGateway_0m1zt0q_di" bpmnElement="ExclusiveGateway_Finished" isMarkerVisible="true">
227         <dc:Bounds x="692" y="95" width="50" height="50" />
228         <bpmndi:BPMNLabel>
229           <dc:Bounds x="676" y="42" width="0" height="0" />
230         </bpmndi:BPMNLabel>
231       </bpmndi:BPMNShape>
232       <bpmndi:BPMNEdge id="SequenceFlow_07h9d4y_di" bpmnElement="SequenceFlow_07h9d4y">
233         <di:waypoint xsi:type="dc:Point" x="660" y="120" />
234         <di:waypoint xsi:type="dc:Point" x="692" y="120" />
235         <bpmndi:BPMNLabel>
236           <dc:Bounds x="676" y="99" width="0" height="0" />
237         </bpmndi:BPMNLabel>
238       </bpmndi:BPMNEdge>
239       <bpmndi:BPMNEdge id="SequenceFlow_1m2eezj_di" bpmnElement="SequenceFlow_1m2eezj">
240         <di:waypoint xsi:type="dc:Point" x="730" y="132" />
241         <di:waypoint xsi:type="dc:Point" x="761" y="165" />
242         <di:waypoint xsi:type="dc:Point" x="841" y="165" />
243         <bpmndi:BPMNLabel>
244           <dc:Bounds x="749" y="168" width="83" height="12" />
245         </bpmndi:BPMNLabel>
246       </bpmndi:BPMNEdge>
247       <bpmndi:BPMNShape id="ServiceTask_0kn8jt8_di" bpmnElement="Task_RetrieveBBExectuionList">
248         <dc:Bounds x="-365" y="80" width="100" height="80" />
249       </bpmndi:BPMNShape>
250       <bpmndi:BPMNShape id="ServiceTask_0654g3m_di" bpmnElement="Task_SendSync">
251         <dc:Bounds x="-132" y="-6" width="100" height="80" />
252       </bpmndi:BPMNShape>
253       <bpmndi:BPMNShape id="ServiceTask_0wzh11j_di" bpmnElement="Task_UpdateRequestComplete">
254         <dc:Bounds x="942" y="206" width="100" height="80" />
255       </bpmndi:BPMNShape>
256       <bpmndi:BPMNEdge id="SequenceFlow_1pz6edz_di" bpmnElement="SequenceFlow_1pz6edz">
257         <di:waypoint xsi:type="dc:Point" x="1042" y="246" />
258         <di:waypoint xsi:type="dc:Point" x="1103" y="246" />
259         <di:waypoint xsi:type="dc:Point" x="1103" y="183" />
260         <bpmndi:BPMNLabel>
261           <dc:Bounds x="1027.5" y="231" width="90" height="0" />
262         </bpmndi:BPMNLabel>
263       </bpmndi:BPMNEdge>
264       <bpmndi:BPMNShape id="SubProcess_18226x4_di" bpmnElement="SubProcess_18226x4" isExpanded="true">
265         <dc:Bounds x="498" y="444" width="438" height="297" />
266       </bpmndi:BPMNShape>
267       <bpmndi:BPMNShape id="StartEvent_184g7f3_di" bpmnElement="ErrorStart">
268         <dc:Bounds x="520" y="639" width="36" height="36" />
269         <bpmndi:BPMNLabel>
270           <dc:Bounds x="526" y="682" width="24" height="12" />
271         </bpmndi:BPMNLabel>
272       </bpmndi:BPMNShape>
273       <bpmndi:BPMNShape id="EndEvent_0l4edvr_di" bpmnElement="ErrorEnd">
274         <dc:Bounds x="880" y="639" width="36" height="36" />
275         <bpmndi:BPMNLabel>
276           <dc:Bounds x="890" y="681" width="18" height="12" />
277         </bpmndi:BPMNLabel>
278       </bpmndi:BPMNShape>
279       <bpmndi:BPMNEdge id="SequenceFlow_0v588sm_di" bpmnElement="SequenceFlow_0v588sm">
280         <di:waypoint xsi:type="dc:Point" x="717" y="145" />
281         <di:waypoint xsi:type="dc:Point" x="717" y="262" />
282         <di:waypoint xsi:type="dc:Point" x="339" y="262" />
283         <bpmndi:BPMNLabel>
284           <dc:Bounds x="597.5" y="272" width="73" height="12" />
285         </bpmndi:BPMNLabel>
286       </bpmndi:BPMNEdge>
287       <bpmndi:BPMNEdge id="SequenceFlow_1atzsgn_di" bpmnElement="SequenceFlow_1atzsgn">
288         <di:waypoint xsi:type="dc:Point" x="289" y="222" />
289         <di:waypoint xsi:type="dc:Point" x="289" y="160" />
290         <bpmndi:BPMNLabel>
291           <dc:Bounds x="259" y="191" width="90" height="0" />
292         </bpmndi:BPMNLabel>
293       </bpmndi:BPMNEdge>
294       <bpmndi:BPMNShape id="ServiceTask_19t1oyr_di" bpmnElement="Task_RollbackExecutionPath">
295         <dc:Bounds x="239" y="222" width="100" height="80" />
296       </bpmndi:BPMNShape>
297       <bpmndi:BPMNEdge id="SequenceFlow_0vc9go9_di" bpmnElement="SequenceFlow_0vc9go9">
298         <di:waypoint xsi:type="dc:Point" x="-265" y="120" />
299         <di:waypoint xsi:type="dc:Point" x="-228" y="120" />
300         <bpmndi:BPMNLabel>
301           <dc:Bounds x="-246" y="105" width="0" height="0" />
302         </bpmndi:BPMNLabel>
303       </bpmndi:BPMNEdge>
304       <bpmndi:BPMNEdge id="SequenceFlow_11530ei_di" bpmnElement="SequenceFlow_11530ei">
305         <di:waypoint xsi:type="dc:Point" x="727" y="105" />
306         <di:waypoint xsi:type="dc:Point" x="764" y="44" />
307         <di:waypoint xsi:type="dc:Point" x="841" y="45" />
308         <bpmndi:BPMNLabel>
309           <dc:Bounds x="756" y="17.269982652857244" width="57" height="12" />
310         </bpmndi:BPMNLabel>
311       </bpmndi:BPMNEdge>
312       <bpmndi:BPMNShape id="ServiceTask_0jo36ez_di" bpmnElement="Task_AbortAndCallErrorHandling">
313         <dc:Bounds x="957" y="-76" width="100" height="80" />
314       </bpmndi:BPMNShape>
315       <bpmndi:BPMNShape id="EndEvent_0lzz1ya_di" bpmnElement="EndEvent_0lzz1ya">
316         <dc:Bounds x="1167" y="27" width="36" height="36" />
317         <bpmndi:BPMNLabel>
318           <dc:Bounds x="1176" y="67" width="18" height="12" />
319         </bpmndi:BPMNLabel>
320       </bpmndi:BPMNShape>
321       <bpmndi:BPMNEdge id="SequenceFlow_1p8yxu6_di" bpmnElement="SequenceFlow_1p8yxu6">
322         <di:waypoint xsi:type="dc:Point" x="1057" y="-36" />
323         <di:waypoint xsi:type="dc:Point" x="1140" y="-36" />
324         <di:waypoint xsi:type="dc:Point" x="1140" y="45" />
325         <di:waypoint xsi:type="dc:Point" x="1167" y="45" />
326         <bpmndi:BPMNLabel>
327           <dc:Bounds x="1155" y="4.5" width="0" height="0" />
328         </bpmndi:BPMNLabel>
329       </bpmndi:BPMNEdge>
330       <bpmndi:BPMNEdge id="SequenceFlow_1wb59ic_di" bpmnElement="SequenceFlow_1wb59ic">
331         <di:waypoint xsi:type="dc:Point" x="-32" y="34" />
332         <di:waypoint xsi:type="dc:Point" x="32" y="34" />
333         <di:waypoint xsi:type="dc:Point" x="32" y="120" />
334         <di:waypoint xsi:type="dc:Point" x="80" y="120" />
335         <bpmndi:BPMNLabel>
336           <dc:Bounds x="47" y="77" width="0" height="0" />
337         </bpmndi:BPMNLabel>
338       </bpmndi:BPMNEdge>
339       <bpmndi:BPMNEdge id="SequenceFlow_01j184u_di" bpmnElement="SequenceFlow_01j184u">
340         <di:waypoint xsi:type="dc:Point" x="717" y="95" />
341         <di:waypoint xsi:type="dc:Point" x="717" y="55" />
342         <di:waypoint xsi:type="dc:Point" x="717" y="55" />
343         <di:waypoint xsi:type="dc:Point" x="717" y="4" />
344         <bpmndi:BPMNLabel>
345           <dc:Bounds x="732" y="49" width="0" height="0" />
346         </bpmndi:BPMNLabel>
347       </bpmndi:BPMNEdge>
348       <bpmndi:BPMNEdge id="SequenceFlow_005hi8o_di" bpmnElement="SequenceFlow_005hi8o">
349         <di:waypoint xsi:type="dc:Point" x="667" y="-36" />
350         <di:waypoint xsi:type="dc:Point" x="289" y="-36" />
351         <di:waypoint xsi:type="dc:Point" x="289" y="80" />
352         <bpmndi:BPMNLabel>
353           <dc:Bounds x="433" y="-51" width="90" height="0" />
354         </bpmndi:BPMNLabel>
355       </bpmndi:BPMNEdge>
356       <bpmndi:BPMNShape id="ServiceTask_1c1v3p1_di" bpmnElement="Task_0a31dkf">
357         <dc:Bounds x="667" y="-76" width="100" height="80" />
358       </bpmndi:BPMNShape>
359       <bpmndi:BPMNShape id="ExclusiveGateway_0ptb1yi_di" bpmnElement="ExclusiveGateway_isTopLevelFlow" isMarkerVisible="true">
360         <dc:Bounds x="-228" y="95" width="50" height="50" />
361         <bpmndi:BPMNLabel>
362           <dc:Bounds x="-235" y="145" width="63" height="24" />
363         </bpmndi:BPMNLabel>
364       </bpmndi:BPMNShape>
365       <bpmndi:BPMNEdge id="SequenceFlow_0sckerv_di" bpmnElement="SequenceFlow_0sckerv">
366         <di:waypoint xsi:type="dc:Point" x="-202" y="96" />
367         <di:waypoint xsi:type="dc:Point" x="-202" y="34" />
368         <di:waypoint xsi:type="dc:Point" x="-132" y="34" />
369         <bpmndi:BPMNLabel>
370           <dc:Bounds x="-195" y="55.55555555555556" width="18" height="12" />
371         </bpmndi:BPMNLabel>
372       </bpmndi:BPMNEdge>
373       <bpmndi:BPMNEdge id="SequenceFlow_0unbew4_di" bpmnElement="SequenceFlow_0unbew4">
374         <di:waypoint xsi:type="dc:Point" x="-178" y="120" />
375         <di:waypoint xsi:type="dc:Point" x="80" y="120" />
376         <bpmndi:BPMNLabel>
377           <dc:Bounds x="-87" y="99.95468180757382" width="12" height="12" />
378         </bpmndi:BPMNLabel>
379       </bpmndi:BPMNEdge>
380       <bpmndi:BPMNShape id="ExclusiveGateway_001g41v_di" bpmnElement="ExclusiveGateway_isTopLevelFlowAbort" isMarkerVisible="true">
381         <dc:Bounds x="841" y="20" width="50" height="50" />
382         <bpmndi:BPMNLabel>
383           <dc:Bounds x="836" y="70" width="60" height="24" />
384         </bpmndi:BPMNLabel>
385       </bpmndi:BPMNShape>
386       <bpmndi:BPMNEdge id="SequenceFlow_02ksbt0_di" bpmnElement="SequenceFlow_02ksbt0">
387         <di:waypoint xsi:type="dc:Point" x="866" y="20" />
388         <di:waypoint xsi:type="dc:Point" x="866" y="-37" />
389         <di:waypoint xsi:type="dc:Point" x="957" y="-37" />
390         <bpmndi:BPMNLabel>
391           <dc:Bounds x="872" y="-8.5" width="18" height="12" />
392         </bpmndi:BPMNLabel>
393       </bpmndi:BPMNEdge>
394       <bpmndi:BPMNEdge id="SequenceFlow_1r570x3_di" bpmnElement="SequenceFlow_1r570x3">
395         <di:waypoint xsi:type="dc:Point" x="891" y="45" />
396         <di:waypoint xsi:type="dc:Point" x="1167" y="45" />
397         <bpmndi:BPMNLabel>
398           <dc:Bounds x="1023" y="20" width="12" height="12" />
399         </bpmndi:BPMNLabel>
400       </bpmndi:BPMNEdge>
401       <bpmndi:BPMNShape id="ExclusiveGateway_1er1kam_di" bpmnElement="ExclusiveGateway_isTopLevelFlowC" isMarkerVisible="true">
402         <dc:Bounds x="841" y="140" width="50" height="50" />
403         <bpmndi:BPMNLabel>
404           <dc:Bounds x="836" y="108" width="60" height="24" />
405         </bpmndi:BPMNLabel>
406       </bpmndi:BPMNShape>
407       <bpmndi:BPMNEdge id="SequenceFlow_0x4urgp_di" bpmnElement="SequenceFlow_0x4urgp">
408         <di:waypoint xsi:type="dc:Point" x="891" y="165" />
409         <di:waypoint xsi:type="dc:Point" x="1001" y="165" />
410         <di:waypoint xsi:type="dc:Point" x="1001" y="165" />
411         <di:waypoint xsi:type="dc:Point" x="1085" y="165" />
412         <bpmndi:BPMNLabel>
413           <dc:Bounds x="1037.2153846153847" y="140" width="12" height="12" />
414         </bpmndi:BPMNLabel>
415       </bpmndi:BPMNEdge>
416       <bpmndi:BPMNShape id="EndEvent_1q8eh5e_di" bpmnElement="End_RollbackFailed">
417         <dc:Bounds x="940" y="347" width="36" height="36" />
418         <bpmndi:BPMNLabel>
419           <dc:Bounds x="958" y="399" width="18" height="12" />
420         </bpmndi:BPMNLabel>
421       </bpmndi:BPMNShape>
422       <bpmndi:BPMNEdge id="SequenceFlow_11dlyzt_di" bpmnElement="SequenceFlow_11dlyzt">
423         <di:waypoint xsi:type="dc:Point" x="289" y="302" />
424         <di:waypoint xsi:type="dc:Point" x="289" y="368" />
425         <di:waypoint xsi:type="dc:Point" x="741" y="368" />
426         <bpmndi:BPMNLabel>
427           <dc:Bounds x="340.85361216730035" y="325" width="63" height="24" />
428         </bpmndi:BPMNLabel>
429       </bpmndi:BPMNEdge>
430       <bpmndi:BPMNShape id="ServiceTask_1h154rn_di" bpmnElement="Task_UpdateDb">
431         <dc:Bounds x="713" y="617" width="100" height="80" />
432       </bpmndi:BPMNShape>
433       <bpmndi:BPMNShape id="ServiceTask_1t8n9gd_di" bpmnElement="Task_UpdateRequestToFailed">
434         <dc:Bounds x="741" y="325" width="100" height="80" />
435       </bpmndi:BPMNShape>
436       <bpmndi:BPMNEdge id="SequenceFlow_0l7kaba_di" bpmnElement="SequenceFlow_0l7kaba">
437         <di:waypoint xsi:type="dc:Point" x="723" y="139" />
438         <di:waypoint xsi:type="dc:Point" x="757" y="252" />
439         <di:waypoint xsi:type="dc:Point" x="797" y="252" />
440         <di:waypoint xsi:type="dc:Point" x="797" y="325" />
441         <bpmndi:BPMNLabel>
442           <dc:Bounds x="739.7268586738111" y="255.4388401674105" width="52" height="24" />
443         </bpmndi:BPMNLabel>
444       </bpmndi:BPMNEdge>
445       <bpmndi:BPMNEdge id="SequenceFlow_1edjl5x_di" bpmnElement="SequenceFlow_1edjl5x">
446         <di:waypoint xsi:type="dc:Point" x="556" y="657" />
447         <di:waypoint xsi:type="dc:Point" x="602" y="657" />
448         <bpmndi:BPMNLabel>
449           <dc:Bounds x="534" y="636" width="90" height="12" />
450         </bpmndi:BPMNLabel>
451       </bpmndi:BPMNEdge>
452       <bpmndi:BPMNEdge id="SequenceFlow_0wvzfgf_di" bpmnElement="SequenceFlow_0wvzfgf">
453         <di:waypoint xsi:type="dc:Point" x="813" y="657" />
454         <di:waypoint xsi:type="dc:Point" x="880" y="657" />
455         <bpmndi:BPMNLabel>
456           <dc:Bounds x="801.5" y="636" width="90" height="12" />
457         </bpmndi:BPMNLabel>
458       </bpmndi:BPMNEdge>
459       <bpmndi:BPMNEdge id="SequenceFlow_1ui67mc_di" bpmnElement="SequenceFlow_1ui67mc">
460         <di:waypoint xsi:type="dc:Point" x="841" y="365" />
461         <di:waypoint xsi:type="dc:Point" x="915" y="365" />
462         <di:waypoint xsi:type="dc:Point" x="915" y="365" />
463         <di:waypoint xsi:type="dc:Point" x="940" y="365" />
464         <bpmndi:BPMNLabel>
465           <dc:Bounds x="885" y="359" width="90" height="13" />
466         </bpmndi:BPMNLabel>
467       </bpmndi:BPMNEdge>
468       <bpmndi:BPMNShape id="ExclusiveGateway_10q79b6_di" bpmnElement="ExclusiveGateway_10q79b6" isMarkerVisible="true">
469         <dc:Bounds x="602" y="632" width="50" height="50" />
470         <bpmndi:BPMNLabel>
471           <dc:Bounds x="584" y="686" width="86" height="36" />
472         </bpmndi:BPMNLabel>
473       </bpmndi:BPMNShape>
474       <bpmndi:BPMNEdge id="SequenceFlow_024g0d1_di" bpmnElement="SequenceFlow_024g0d1">
475         <di:waypoint xsi:type="dc:Point" x="652" y="657" />
476         <di:waypoint xsi:type="dc:Point" x="683" y="657" />
477         <di:waypoint xsi:type="dc:Point" x="683" y="657" />
478         <di:waypoint xsi:type="dc:Point" x="713" y="657" />
479         <bpmndi:BPMNLabel>
480           <dc:Bounds x="677" y="634" width="12" height="12" />
481         </bpmndi:BPMNLabel>
482       </bpmndi:BPMNEdge>
483       <bpmndi:BPMNEdge id="SequenceFlow_0vi883o_di" bpmnElement="SequenceFlow_0vi883o">
484         <di:waypoint xsi:type="dc:Point" x="627" y="632" />
485         <di:waypoint xsi:type="dc:Point" x="627" y="548" />
486         <di:waypoint xsi:type="dc:Point" x="713" y="548" />
487         <bpmndi:BPMNLabel>
488           <dc:Bounds x="633" y="584" width="18" height="12" />
489         </bpmndi:BPMNLabel>
490       </bpmndi:BPMNEdge>
491       <bpmndi:BPMNEdge id="SequenceFlow_0eana0l_di" bpmnElement="SequenceFlow_0eana0l">
492         <di:waypoint xsi:type="dc:Point" x="763" y="588" />
493         <di:waypoint xsi:type="dc:Point" x="763" y="617" />
494         <bpmndi:BPMNLabel>
495           <dc:Bounds x="778" y="596.5" width="0" height="12" />
496         </bpmndi:BPMNLabel>
497       </bpmndi:BPMNEdge>
498       <bpmndi:BPMNShape id="ServiceTask_10hs368_di" bpmnElement="Task_SendSyncAckError">
499         <dc:Bounds x="713" y="508" width="100" height="80" />
500       </bpmndi:BPMNShape>
501       <bpmndi:BPMNShape id="SubProcess_0fuugr9_di" bpmnElement="SubProcess_0fuugr9" isExpanded="true">
502         <dc:Bounds x="515" y="792" width="404" height="165" />
503       </bpmndi:BPMNShape>
504       <bpmndi:BPMNShape id="StartEvent_15qkxd7_di" bpmnElement="StartEvent_runtimeError">
505         <dc:Bounds x="570" y="857" width="36" height="36" />
506         <bpmndi:BPMNLabel>
507           <dc:Bounds x="577" y="900" width="24" height="12" />
508         </bpmndi:BPMNLabel>
509       </bpmndi:BPMNShape>
510       <bpmndi:BPMNShape id="ServiceTask_1p4kxh2_di" bpmnElement="ServiceTask_HandleRuntimeError">
511         <dc:Bounds x="690" y="835" width="100" height="80" />
512       </bpmndi:BPMNShape>
513       <bpmndi:BPMNShape id="EndEvent_09e3lu5_di" bpmnElement="EndEvent__runtimeError">
514         <dc:Bounds x="856" y="857" width="36" height="36" />
515         <bpmndi:BPMNLabel>
516           <dc:Bounds x="784" y="897" width="0" height="12" />
517         </bpmndi:BPMNLabel>
518       </bpmndi:BPMNShape>
519       <bpmndi:BPMNEdge id="SequenceFlow_11d126w_di" bpmnElement="SequenceFlow_11d126w">
520         <di:waypoint xsi:type="dc:Point" x="606" y="875" />
521         <di:waypoint xsi:type="dc:Point" x="690" y="875" />
522         <bpmndi:BPMNLabel>
523           <dc:Bounds x="603" y="854" width="0" height="12" />
524         </bpmndi:BPMNLabel>
525       </bpmndi:BPMNEdge>
526       <bpmndi:BPMNEdge id="SequenceFlow_0w4sx88_di" bpmnElement="SequenceFlow_0w4sx88">
527         <di:waypoint xsi:type="dc:Point" x="790" y="875" />
528         <di:waypoint xsi:type="dc:Point" x="856" y="875" />
529         <bpmndi:BPMNLabel>
530           <dc:Bounds x="778" y="854" width="0" height="12" />
531         </bpmndi:BPMNLabel>
532       </bpmndi:BPMNEdge>
533       <bpmndi:BPMNShape id="ServiceTask_0e2p0xs_di" bpmnElement="ServiceTask_0e2p0xs">
534         <dc:Bounds x="400" y="80" width="100" height="80" />
535       </bpmndi:BPMNShape>
536       <bpmndi:BPMNEdge id="SequenceFlow_0mew9im_di" bpmnElement="SequenceFlow_0mew9im">
537         <di:waypoint xsi:type="dc:Point" x="500" y="120" />
538         <di:waypoint xsi:type="dc:Point" x="560" y="120" />
539         <bpmndi:BPMNLabel>
540           <dc:Bounds x="530" y="99" width="0" height="12" />
541         </bpmndi:BPMNLabel>
542       </bpmndi:BPMNEdge>
543       <bpmndi:BPMNEdge id="SequenceFlow_0kf5sen_di" bpmnElement="SequenceFlow_0kf5sen">
544         <di:waypoint xsi:type="dc:Point" x="866" y="190" />
545         <di:waypoint xsi:type="dc:Point" x="866" y="246" />
546         <di:waypoint xsi:type="dc:Point" x="942" y="246" />
547         <bpmndi:BPMNLabel>
548           <dc:Bounds x="872" y="217.6" width="18" height="12" />
549         </bpmndi:BPMNLabel>
550       </bpmndi:BPMNEdge>
551       <bpmndi:BPMNEdge id="SequenceFlow_1tfizxf_di" bpmnElement="SequenceFlow_1tfizxf">
552         <di:waypoint xsi:type="dc:Point" x="180" y="120" />
553         <di:waypoint xsi:type="dc:Point" x="211" y="120" />
554         <di:waypoint xsi:type="dc:Point" x="211" y="120" />
555         <di:waypoint xsi:type="dc:Point" x="239" y="120" />
556         <bpmndi:BPMNLabel>
557           <dc:Bounds x="226" y="120" width="0" height="0" />
558         </bpmndi:BPMNLabel>
559       </bpmndi:BPMNEdge>
560       <bpmndi:BPMNShape id="ServiceTask_0m5xr0e_di" bpmnElement="Task_PreValidateWorkflow">
561         <dc:Bounds x="80" y="80" width="100" height="80" />
562       </bpmndi:BPMNShape>
563     </bpmndi:BPMNPlane>
564   </bpmndi:BPMNDiagram>
565 </bpmn:definitions>