1 <?xml version="1.0" encoding="UTF-8"?>
\r
2 <bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://activiti.org/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_pNTO8MRhEeWv36YLr7PC3Q" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://activiti.org/bpmn">
\r
3 <bpmn2:process id="CreateVfModuleInfra" name="CreateVfModuleInfra" isExecutable="true">
\r
4 <bpmn2:startEvent id="StartEvent_1" camunda:asyncAfter="true" name="Start">
\r
5 <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
\r
7 <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="PreProcessRequest"/>
\r
8 <bpmn2:callActivity id="DoCreateVfModuleSubprocess" name="Do Create Vf Module" calledElement="DoCreateVfModule">
\r
9 <bpmn2:extensionElements>
\r
10 <camunda:in source="DoCreateVfModuleRequest" target="DoCreateVfModuleRequest"/>
\r
11 <camunda:in source="att-mso-request-id" target="att-mso-request-id"/>
\r
12 <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled"/>
\r
13 <camunda:in source="isVidRequest" target="isVidRequest"/>
\r
14 <camunda:in source="newVfModuleId" target="newVfModuleId"/>
\r
15 <camunda:out source="DCVFM_vnfId" target="CVFMI_vnfId"/>
\r
16 <camunda:out source="DCVFM_vfModuleId" target="CVFMI_vfModuleId"/>
\r
17 <camunda:out source="RollbackData" target="RollbackData"/>
\r
18 <camunda:out source="WorkflowException" target="WorkflowException"/>
\r
19 <camunda:out source="WorkflowResponse" target="CVFMI_WorkflowResponse"/>
\r
20 </bpmn2:extensionElements>
\r
21 <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
\r
22 <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
\r
23 </bpmn2:callActivity>
\r
24 <bpmn2:scriptTask id="SendResponse" camunda:asyncAfter="true" name="Send Response" scriptFormat="groovy">
\r
25 <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
\r
26 <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
\r
27 <bpmn2:script><![CDATA[import com.att.bpm.scripts.*
28 def createVfModule = new CreateVfModuleInfra()
29 createVfModule.sendResponse(execution)]]></bpmn2:script>
\r
31 <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="SendResponse" targetRef="DoCreateVfModuleSubprocess"/>
\r
32 <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1" name="To FinishLine">
\r
33 <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
\r
34 <bpmn2:linkEventDefinition id="_LinkEventDefinition_34" name="FinishLine"/>
\r
35 </bpmn2:intermediateThrowEvent>
\r
36 <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="DoCreateVfModuleSubprocess" targetRef="IntermediateThrowEvent_1"/>
\r
37 <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1" name="FinishLine">
\r
38 <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
\r
39 <bpmn2:linkEventDefinition id="_LinkEventDefinition_35" name="FinishLine"/>
\r
40 </bpmn2:intermediateCatchEvent>
\r
41 <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="IntermediateCatchEvent_1" targetRef="PrepareUpdateInfraRequest"/>
\r
42 <bpmn2:scriptTask id="PrepareUpdateInfraRequest" name="Prepare Update Infra Request" scriptFormat="groovy">
\r
43 <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
\r
44 <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing>
\r
45 <bpmn2:script><![CDATA[import com.att.bpm.scripts.*
46 def createVfModule = new CreateVfModuleInfra()
47 createVfModule.prepareUpdateInfraRequest(execution)]]></bpmn2:script>
\r
49 <bpmn2:serviceTask id="ServiceTask_1" name="Update Infra Request">
\r
50 <bpmn2:extensionElements>
\r
52 <camunda:connectorId>http-connector</camunda:connectorId>
\r
53 <camunda:inputOutput>
\r
54 <camunda:inputParameter name="url">${URN_mso_adapters_db_endpoint}</camunda:inputParameter>
\r
55 <camunda:inputParameter name="headers">
\r
57 <camunda:entry key="content-type">application/soap+xml</camunda:entry>
\r
59 </camunda:inputParameter>
\r
60 <camunda:inputParameter name="payload">${CVFMI_updateInfraRequest}</camunda:inputParameter>
\r
61 <camunda:inputParameter name="method">POST</camunda:inputParameter>
\r
62 <camunda:outputParameter name="CVFMI_dbResponseCode">${statusCode}</camunda:outputParameter>
\r
63 <camunda:outputParameter name="CVFMI_dbResponse">${response}</camunda:outputParameter>
\r
64 </camunda:inputOutput>
\r
65 </camunda:connector>
\r
66 </bpmn2:extensionElements>
\r
67 <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
\r
68 <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing>
\r
69 </bpmn2:serviceTask>
\r
70 <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="PrepareUpdateInfraRequest" targetRef="ServiceTask_1"/>
\r
71 <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="ServiceTask_1" targetRef="UpdateInfraRequestResponseCheck"/>
\r
72 <bpmn2:scriptTask id="PrepareMSOCompletionHandler" name="Prepare MSO Completion Handler" scriptFormat="groovy">
\r
73 <bpmn2:incoming>updateInfraRequestResponseGood</bpmn2:incoming>
\r
74 <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing>
\r
75 <bpmn2:script><![CDATA[import com.att.bpm.scripts.*
76 def createVfModule = new CreateVfModuleInfra()
77 createVfModule.postProcessResponse(execution)]]></bpmn2:script>
\r
79 <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="PrepareMSOCompletionHandler" targetRef="MSOCompletionHandler"/>
\r
80 <bpmn2:callActivity id="MSOCompletionHandler" name="MSO Completion Handler" calledElement="CompleteMsoProcess">
\r
81 <bpmn2:extensionElements>
\r
82 <camunda:in source="CVFMI_msoCompletionRequest" target="CompleteMsoProcessRequest"/>
\r
83 <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled"/>
\r
84 <camunda:in source="att-mso-service-instance-id" target="att-mso-service-instance-id"/>
\r
85 <camunda:in source="att-mso-request-id" target="att-mso-request-id"/>
\r
86 <camunda:out source="CompleteMsoProcessResponse" target="CompleteMsoProcessResponse"/>
\r
87 <camunda:out source="CMSO_ErrorResponse" target="CMSO_ErrorResponse"/>
\r
88 </bpmn2:extensionElements>
\r
89 <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming>
\r
90 <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
\r
91 </bpmn2:callActivity>
\r
92 <bpmn2:exclusiveGateway id="UpdateInfraRequestResponseCheck" name="Success? " default="updateInfraRequestResponseBad">
\r
93 <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming>
\r
94 <bpmn2:outgoing>updateInfraRequestResponseBad</bpmn2:outgoing>
\r
95 <bpmn2:outgoing>updateInfraRequestResponseGood</bpmn2:outgoing>
\r
96 </bpmn2:exclusiveGateway>
\r
97 <bpmn2:sequenceFlow id="updateInfraRequestResponseBad" name="no" sourceRef="UpdateInfraRequestResponseCheck" targetRef="EndEvent_2"/>
\r
98 <bpmn2:sequenceFlow id="updateInfraRequestResponseGood" name="yes" sourceRef="UpdateInfraRequestResponseCheck" targetRef="PrepareMSOCompletionHandler">
\r
99 <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CVFMI_dbResponseCode" ) == '200'}]]></bpmn2:conditionExpression>
\r
100 </bpmn2:sequenceFlow>
\r
101 <bpmn2:endEvent id="EndEvent_2">
\r
102 <bpmn2:incoming>updateInfraRequestResponseBad</bpmn2:incoming>
\r
103 <bpmn2:errorEventDefinition id="_ErrorEventDefinition_2" errorRef="Error_1"/>
\r
105 <bpmn2:subProcess id="ErrorHandler" name="Error Handler" triggeredByEvent="true">
\r
106 <bpmn2:scriptTask id="ValidateRollbackResponse" name="Validate Rollback Response" scriptFormat="groovy">
\r
107 <bpmn2:incoming>SequenceFlow_17</bpmn2:incoming>
\r
108 <bpmn2:outgoing>SequenceFlow_21</bpmn2:outgoing>
\r
109 <bpmn2:script><![CDATA[import com.att.bpm.scripts.*
110 def createVfModule = new CreateVfModuleInfra()
111 createVfModule.validateRollbackResponse(execution)]]></bpmn2:script>
\r
112 </bpmn2:scriptTask>
\r
113 <bpmn2:sequenceFlow id="SequenceFlow_21" name="" sourceRef="ValidateRollbackResponse" targetRef="InclusiveGateway_1"/>
\r
114 <bpmn2:callActivity id="ScriptTask_1" name="Do CreateVfModule Rollback" calledElement="DoCreateVfModuleRollback">
\r
115 <bpmn2:extensionElements>
\r
116 <camunda:in source="RollbackData" target="RollbackData"/>
\r
117 <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled"/>
\r
118 <camunda:in source="isVidRequest" target="isVidRequest"/>
\r
119 <camunda:out source="MSOWorkflowException" target="RollbackWorkflowException"/>
\r
120 </bpmn2:extensionElements>
\r
121 <bpmn2:incoming>SequenceFlow_19</bpmn2:incoming>
\r
122 <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
\r
123 </bpmn2:callActivity>
\r
124 <bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="ScriptTask_1" targetRef="ValidateRollbackResponse"/>
\r
125 <bpmn2:startEvent id="StartEvent_2" name="Catch All Errors">
\r
126 <bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing>
\r
127 <bpmn2:errorEventDefinition id="ErrorEventDefinition_1"/>
\r
128 </bpmn2:startEvent>
\r
129 <bpmn2:sequenceFlow id="SequenceFlow_13" name="" sourceRef="StartEvent_2" targetRef="ExclusiveGateway_1"/>
\r
130 <bpmn2:callActivity id="FalloutHandler" name="Fallout Handler" calledElement="FalloutHandler">
\r
131 <bpmn2:extensionElements>
\r
132 <camunda:in source="CVFMI_FalloutHandlerRequest" target="FalloutHandlerRequest"/>
\r
133 <camunda:in source="att-mso-request-id" target="att-mso-request-id"/>
\r
134 <camunda:in source="att-mso-service-instance-id" target="att-mso-service-instance-id"/>
\r
135 <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled"/>
\r
136 </bpmn2:extensionElements>
\r
137 <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
\r
138 <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing>
\r
139 </bpmn2:callActivity>
\r
140 <bpmn2:sequenceFlow id="SequenceFlow_11" name="" sourceRef="FalloutHandler" targetRef="EndEvent_3"/>
\r
141 <bpmn2:endEvent id="EndEvent_3">
\r
142 <bpmn2:incoming>SequenceFlow_11</bpmn2:incoming>
\r
143 <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_11"/>
\r
145 <bpmn2:scriptTask id="PrepareFalloutHandler" name="Prepare Fallout Handler" scriptFormat="groovy">
\r
146 <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming>
\r
147 <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
\r
148 <bpmn2:script><![CDATA[import com.att.bpm.scripts.*
149 def cvfm = new CreateVfModuleInfra()
150 cvfm.falloutHandlerPrep(execution, 'CVFMI_FalloutHandlerRequest')]]></bpmn2:script>
\r
151 </bpmn2:scriptTask>
\r
152 <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="PrepareFalloutHandler" targetRef="FalloutHandler"/>
\r
153 <bpmn2:inclusiveGateway id="InclusiveGateway_1">
\r
154 <bpmn2:incoming>SequenceFlow_21</bpmn2:incoming>
\r
155 <bpmn2:incoming>isRollbackOnNoSequenceFlow</bpmn2:incoming>
\r
156 <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing>
\r
157 </bpmn2:inclusiveGateway>
\r
158 <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="InclusiveGateway_1" targetRef="PrepareFalloutHandler"/>
\r
159 <bpmn2:exclusiveGateway id="ExclusiveGateway_1" name="Is Rollback On? " default="isRollbackOnNoSequenceFlow">
\r
160 <bpmn2:incoming>SequenceFlow_13</bpmn2:incoming>
\r
161 <bpmn2:outgoing>isRollbackOnNoSequenceFlow</bpmn2:outgoing>
\r
162 <bpmn2:outgoing>IsRollbackOnYesSequenceFlow</bpmn2:outgoing>
\r
163 </bpmn2:exclusiveGateway>
\r
164 <bpmn2:sequenceFlow id="isRollbackOnNoSequenceFlow" name="no" sourceRef="ExclusiveGateway_1" targetRef="InclusiveGateway_1"/>
\r
165 <bpmn2:scriptTask id="LogAndSaveOriginalException" name="Log and Save Original Exception" scriptFormat="groovy">
\r
166 <bpmn2:incoming>IsRollbackOnYesSequenceFlow</bpmn2:incoming>
\r
167 <bpmn2:outgoing>SequenceFlow_19</bpmn2:outgoing>
\r
168 <bpmn2:script><![CDATA[import com.att.bpm.scripts.*
169 def cvfm = new CreateVfModuleInfra()
170 cvfm.logAndSaveOriginalException(execution)]]></bpmn2:script>
\r
171 </bpmn2:scriptTask>
\r
172 <bpmn2:sequenceFlow id="IsRollbackOnYesSequenceFlow" name="yes" sourceRef="ExclusiveGateway_1" targetRef="LogAndSaveOriginalException">
\r
173 <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CVFMI_rollbackEnabled") == true}]]></bpmn2:conditionExpression>
\r
174 </bpmn2:sequenceFlow>
\r
175 <bpmn2:sequenceFlow id="SequenceFlow_19" name="" sourceRef="LogAndSaveOriginalException" targetRef="ScriptTask_1"/>
\r
176 </bpmn2:subProcess>
\r
177 <bpmn2:scriptTask id="SetSuccessIndicator" name="Set Success Indicator" scriptFormat="groovy">
\r
178 <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
\r
179 <bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing>
\r
180 <bpmn2:script><![CDATA[execution.setVariable("CreateVfModuleSuccessIndicator", true)]]></bpmn2:script>
\r
181 </bpmn2:scriptTask>
\r
182 <bpmn2:endEvent id="EndEvent_1">
\r
183 <bpmn2:incoming>SequenceFlow_16</bpmn2:incoming>
\r
184 <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_10"/>
\r
186 <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="MSOCompletionHandler" targetRef="SetSuccessIndicator"/>
\r
187 <bpmn2:sequenceFlow id="SequenceFlow_16" name="" sourceRef="SetSuccessIndicator" targetRef="EndEvent_1"/>
\r
188 <bpmn2:boundaryEvent id="BoundaryEvent_1" name="" attachedToRef="ErrorHandler">
\r
189 <bpmn2:outgoing>SequenceFlow_15</bpmn2:outgoing>
\r
190 <bpmn2:errorEventDefinition id="_ErrorEventDefinition_3"/>
\r
191 </bpmn2:boundaryEvent>
\r
192 <bpmn2:sequenceFlow id="SequenceFlow_15" name="" sourceRef="BoundaryEvent_1" targetRef="EndEvent_4"/>
\r
193 <bpmn2:endEvent id="EndEvent_4">
\r
194 <bpmn2:incoming>SequenceFlow_15</bpmn2:incoming>
\r
195 <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_12"/>
\r
197 <bpmn2:scriptTask id="PreProcessRequest" name="Pre-Process Request" scriptFormat="groovy">
\r
198 <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
\r
199 <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
\r
200 <bpmn2:script><![CDATA[import com.att.bpm.scripts.*
201 def createVfModule = new CreateVfModuleInfra()
202 createVfModule.preProcessRequest(execution)]]></bpmn2:script>
\r
203 </bpmn2:scriptTask>
\r
204 <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="PreProcessRequest" targetRef="SendResponse"/>
\r
206 <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSOWorkflowException"/>
\r
207 <bpmn2:error id="Error_2" errorCode="RESTFault" name="REST Fault"/>
\r
208 <bpmndi:BPMNDiagram id="BPMNDiagram_1">
\r
209 <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CreateVfModuleInfra">
\r
210 <bpmndi:BPMNShape id="_BPMNShape_StartEvent_50" bpmnElement="StartEvent_1">
\r
211 <dc:Bounds height="36.0" width="36.0" x="41.0" y="231.0"/>
\r
212 </bpmndi:BPMNShape>
\r
213 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_50" targetElement="_BPMNShape_ScriptTask_124">
\r
214 <di:waypoint xsi:type="dc:Point" x="77.0" y="249.0"/>
\r
215 <di:waypoint xsi:type="dc:Point" x="226.0" y="249.0"/>
\r
217 <dc:Bounds height="6.0" width="6.0" x="99.0" y="249.0"/>
\r
218 </bpmndi:BPMNLabel>
\r
220 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_124" bpmnElement="PreProcessRequest">
\r
221 <dc:Bounds height="80.0" width="100.0" x="226.0" y="209.0"/>
\r
222 </bpmndi:BPMNShape>
\r
223 <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_86" bpmnElement="SendResponse">
\r
224 <dc:Bounds height="80.0" width="100.0" x="432.0" y="209.0"/>
\r
225 </bpmndi:BPMNShape>
\r
226 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_124" targetElement="_BPMNShape_ServiceTask_86">
\r
227 <di:waypoint xsi:type="dc:Point" x="326.0" y="249.0"/>
\r
228 <di:waypoint xsi:type="dc:Point" x="432.0" y="249.0"/>
\r
230 <dc:Bounds height="6.0" width="6.0" x="348.0" y="249.0"/>
\r
231 </bpmndi:BPMNLabel>
\r
233 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_178" bpmnElement="DoCreateVfModuleSubprocess">
\r
234 <dc:Bounds height="80.0" width="145.0" x="612.0" y="209.0"/>
\r
235 </bpmndi:BPMNShape>
\r
236 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ServiceTask_86" targetElement="_BPMNShape_ScriptTask_178">
\r
237 <di:waypoint xsi:type="dc:Point" x="532.0" y="249.0"/>
\r
238 <di:waypoint xsi:type="dc:Point" x="612.0" y="249.0"/>
\r
240 <bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_47" bpmnElement="IntermediateThrowEvent_1">
\r
241 <dc:Bounds height="36.0" width="36.0" x="823.0" y="231.0"/>
\r
243 <dc:Bounds height="0.0" width="0.0" x="841.0" y="272.0"/>
\r
244 </bpmndi:BPMNLabel>
\r
245 </bpmndi:BPMNShape>
\r
246 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_178" targetElement="_BPMNShape_IntermediateThrowEvent_47">
\r
247 <di:waypoint xsi:type="dc:Point" x="756.0" y="249.0"/>
\r
248 <di:waypoint xsi:type="dc:Point" x="823.0" y="249.0"/>
\r
250 <bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_32" bpmnElement="IntermediateCatchEvent_1">
\r
251 <dc:Bounds height="36.0" width="36.0" x="39.0" y="349.0"/>
\r
253 <dc:Bounds height="22.0" width="65.0" x="25.0" y="390.0"/>
\r
254 </bpmndi:BPMNLabel>
\r
255 </bpmndi:BPMNShape>
\r
256 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_219" bpmnElement="PrepareUpdateInfraRequest">
\r
257 <dc:Bounds height="80.0" width="100.0" x="127.0" y="327.0"/>
\r
258 </bpmndi:BPMNShape>
\r
259 <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_103" bpmnElement="ServiceTask_1">
\r
260 <dc:Bounds height="80.0" width="100.0" x="277.0" y="327.0"/>
\r
261 </bpmndi:BPMNShape>
\r
262 <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_179" bpmnElement="UpdateInfraRequestResponseCheck" isMarkerVisible="true">
\r
263 <dc:Bounds height="50.0" width="50.0" x="443.0" y="341.0"/>
\r
265 <dc:Bounds height="22.0" width="68.0" x="435.0" y="308.0"/>
\r
266 </bpmndi:BPMNLabel>
\r
267 </bpmndi:BPMNShape>
\r
268 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_220" bpmnElement="PrepareMSOCompletionHandler">
\r
269 <dc:Bounds height="80.0" width="100.0" x="552.0" y="327.0"/>
\r
270 </bpmndi:BPMNShape>
\r
271 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_221" bpmnElement="MSOCompletionHandler">
\r
272 <dc:Bounds height="80.0" width="100.0" x="708.0" y="327.0"/>
\r
273 </bpmndi:BPMNShape>
\r
274 <bpmndi:BPMNShape id="_BPMNShape_EndEvent_177" bpmnElement="EndEvent_1">
\r
275 <dc:Bounds height="36.0" width="36.0" x="1020.0" y="349.0"/>
\r
277 <dc:Bounds height="0.0" width="0.0" x="1038.0" y="390.0"/>
\r
278 </bpmndi:BPMNLabel>
\r
279 </bpmndi:BPMNShape>
\r
280 <bpmndi:BPMNShape id="_BPMNShape_EndEvent_178" bpmnElement="EndEvent_2">
\r
281 <dc:Bounds height="36.0" width="36.0" x="452.0" y="469.0"/>
\r
283 <dc:Bounds height="0.0" width="0.0" x="470.0" y="510.0"/>
\r
284 </bpmndi:BPMNLabel>
\r
285 </bpmndi:BPMNShape>
\r
286 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_IntermediateCatchEvent_32" targetElement="_BPMNShape_ScriptTask_219">
\r
287 <di:waypoint xsi:type="dc:Point" x="75.0" y="367.0"/>
\r
288 <di:waypoint xsi:type="dc:Point" x="127.0" y="367.0"/>
\r
290 <dc:Bounds height="6.0" width="6.0" x="105.0" y="367.0"/>
\r
291 </bpmndi:BPMNLabel>
\r
293 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_219" targetElement="_BPMNShape_ServiceTask_103">
\r
294 <di:waypoint xsi:type="dc:Point" x="227.0" y="367.0"/>
\r
295 <di:waypoint xsi:type="dc:Point" x="277.0" y="367.0"/>
\r
297 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ServiceTask_103" targetElement="_BPMNShape_ExclusiveGateway_179">
\r
298 <di:waypoint xsi:type="dc:Point" x="377.0" y="367.0"/>
\r
299 <di:waypoint xsi:type="dc:Point" x="410.0" y="367.0"/>
\r
300 <di:waypoint xsi:type="dc:Point" x="410.0" y="366.0"/>
\r
301 <di:waypoint xsi:type="dc:Point" x="443.0" y="366.0"/>
\r
303 <dc:Bounds height="6.0" width="6.0" x="407.0" y="366.0"/>
\r
304 </bpmndi:BPMNLabel>
\r
306 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="updateInfraRequestResponseBad" sourceElement="_BPMNShape_ExclusiveGateway_179" targetElement="_BPMNShape_EndEvent_178">
\r
307 <di:waypoint xsi:type="dc:Point" x="468.0" y="391.0"/>
\r
308 <di:waypoint xsi:type="dc:Point" x="469.0" y="421.0"/>
\r
309 <di:waypoint xsi:type="dc:Point" x="470.0" y="421.0"/>
\r
310 <di:waypoint xsi:type="dc:Point" x="470.0" y="469.0"/>
\r
312 <dc:Bounds height="22.0" width="20.0" x="459.0" y="419.0"/>
\r
313 </bpmndi:BPMNLabel>
\r
315 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="updateInfraRequestResponseGood" sourceElement="_BPMNShape_ExclusiveGateway_179" targetElement="_BPMNShape_ScriptTask_220">
\r
316 <di:waypoint xsi:type="dc:Point" x="493.0" y="366.0"/>
\r
317 <di:waypoint xsi:type="dc:Point" x="523.0" y="366.0"/>
\r
318 <di:waypoint xsi:type="dc:Point" x="523.0" y="367.0"/>
\r
319 <di:waypoint xsi:type="dc:Point" x="552.0" y="367.0"/>
\r
321 <dc:Bounds height="22.0" width="27.0" x="510.0" y="367.0"/>
\r
322 </bpmndi:BPMNLabel>
\r
324 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_ScriptTask_220" targetElement="_BPMNShape_ScriptTask_221">
\r
325 <di:waypoint xsi:type="dc:Point" x="652.0" y="367.0"/>
\r
326 <di:waypoint xsi:type="dc:Point" x="708.0" y="367.0"/>
\r
328 <dc:Bounds height="6.0" width="6.0" x="678.0" y="367.0"/>
\r
329 </bpmndi:BPMNLabel>
\r
331 <bpmndi:BPMNShape id="_BPMNShape_SubProcess_20" bpmnElement="ErrorHandler" isExpanded="true">
\r
332 <dc:Bounds height="385.0" width="925.0" x="48.0" y="540.0"/>
\r
333 </bpmndi:BPMNShape>
\r
334 <bpmndi:BPMNShape id="_BPMNShape_StartEvent_54" bpmnElement="StartEvent_2">
\r
335 <dc:Bounds height="36.0" width="36.0" x="72.0" y="844.0"/>
\r
337 <dc:Bounds height="22.0" width="98.0" x="60.0" y="886.0"/>
\r
338 </bpmndi:BPMNLabel>
\r
339 </bpmndi:BPMNShape>
\r
340 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_222" bpmnElement="PrepareFalloutHandler">
\r
341 <dc:Bounds height="80.0" width="100.0" x="564.0" y="672.0"/>
\r
342 </bpmndi:BPMNShape>
\r
343 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_223" bpmnElement="FalloutHandler">
\r
344 <dc:Bounds height="80.0" width="100.0" x="708.0" y="672.0"/>
\r
345 </bpmndi:BPMNShape>
\r
346 <bpmndi:BPMNShape id="_BPMNShape_EndEvent_179" bpmnElement="EndEvent_3">
\r
347 <dc:Bounds height="36.0" width="36.0" x="864.0" y="694.0"/>
\r
349 <dc:Bounds height="0.0" width="0.0" x="882.0" y="735.0"/>
\r
350 </bpmndi:BPMNLabel>
\r
351 </bpmndi:BPMNShape>
\r
352 <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_44" bpmnElement="BoundaryEvent_1">
\r
353 <dc:Bounds height="36.0" width="36.0" x="955.0" y="690.0"/>
\r
355 <dc:Bounds height="6.0" width="6.0" x="970.0" y="731.0"/>
\r
356 </bpmndi:BPMNLabel>
\r
357 </bpmndi:BPMNShape>
\r
358 <bpmndi:BPMNShape id="_BPMNShape_EndEvent_180" bpmnElement="EndEvent_4">
\r
359 <dc:Bounds height="36.0" width="36.0" x="1049.0" y="690.0"/>
\r
361 <dc:Bounds height="0.0" width="0.0" x="1067.0" y="731.0"/>
\r
362 </bpmndi:BPMNLabel>
\r
363 </bpmndi:BPMNShape>
\r
364 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_222" targetElement="_BPMNShape_ScriptTask_223">
\r
365 <di:waypoint xsi:type="dc:Point" x="664.0" y="712.0"/>
\r
366 <di:waypoint xsi:type="dc:Point" x="708.0" y="712.0"/>
\r
368 <dc:Bounds height="6.0" width="6.0" x="689.0" y="712.0"/>
\r
369 </bpmndi:BPMNLabel>
\r
371 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_ScriptTask_223" targetElement="_BPMNShape_EndEvent_179">
\r
372 <di:waypoint xsi:type="dc:Point" x="808.0" y="712.0"/>
\r
373 <di:waypoint xsi:type="dc:Point" x="864.0" y="712.0"/>
\r
375 <dc:Bounds height="6.0" width="6.0" x="836.0" y="712.0"/>
\r
376 </bpmndi:BPMNLabel>
\r
378 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_15" sourceElement="_BPMNShape_BoundaryEvent_44" targetElement="_BPMNShape_EndEvent_180">
\r
379 <di:waypoint xsi:type="dc:Point" x="991.0" y="708.0"/>
\r
380 <di:waypoint xsi:type="dc:Point" x="1049.0" y="708.0"/>
\r
382 <dc:Bounds height="6.0" width="6.0" x="1015.0" y="708.0"/>
\r
383 </bpmndi:BPMNLabel>
\r
385 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_241" bpmnElement="SetSuccessIndicator">
\r
386 <dc:Bounds height="79.0" width="103.0" x="858.0" y="328.0"/>
\r
387 </bpmndi:BPMNShape>
\r
388 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_16" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_221" targetElement="_BPMNShape_ScriptTask_241">
\r
389 <di:waypoint xsi:type="dc:Point" x="808.0" y="367.0"/>
\r
390 <di:waypoint xsi:type="dc:Point" x="858.0" y="367.0"/>
\r
392 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_16" sourceElement="_BPMNShape_ScriptTask_241" targetElement="_BPMNShape_EndEvent_177">
\r
393 <di:waypoint xsi:type="dc:Point" x="960.0" y="367.0"/>
\r
394 <di:waypoint xsi:type="dc:Point" x="1020.0" y="367.0"/>
\r
396 <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_223" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true">
\r
397 <dc:Bounds height="50.0" width="50.0" x="205.0" y="836.0"/>
\r
399 <dc:Bounds height="22.0" width="102.0" x="193.0" y="901.0"/>
\r
400 </bpmndi:BPMNLabel>
\r
401 </bpmndi:BPMNShape>
\r
402 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_266" bpmnElement="ValidateRollbackResponse">
\r
403 <dc:Bounds height="79.0" width="103.0" x="312.0" y="554.0"/>
\r
404 </bpmndi:BPMNShape>
\r
405 <bpmndi:BPMNShape id="_BPMNShape_InclusiveGateway_25" bpmnElement="InclusiveGateway_1">
\r
406 <dc:Bounds height="50.0" width="50.0" x="459.0" y="686.0"/>
\r
408 <dc:Bounds height="0.0" width="0.0" x="484.0" y="741.0"/>
\r
409 </bpmndi:BPMNLabel>
\r
410 </bpmndi:BPMNShape>
\r
411 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_StartEvent_54" targetElement="_BPMNShape_ExclusiveGateway_223">
\r
412 <di:waypoint xsi:type="dc:Point" x="108.0" y="862.0"/>
\r
413 <di:waypoint xsi:type="dc:Point" x="156.0" y="862.0"/>
\r
414 <di:waypoint xsi:type="dc:Point" x="156.0" y="861.0"/>
\r
415 <di:waypoint xsi:type="dc:Point" x="205.0" y="861.0"/>
\r
417 <dc:Bounds height="6.0" width="6.0" x="153.0" y="862.0"/>
\r
418 </bpmndi:BPMNLabel>
\r
420 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_20" bpmnElement="isRollbackOnNoSequenceFlow" sourceElement="_BPMNShape_ExclusiveGateway_223" targetElement="_BPMNShape_InclusiveGateway_25">
\r
421 <di:waypoint xsi:type="dc:Point" x="255.0" y="861.0"/>
\r
422 <di:waypoint xsi:type="dc:Point" x="354.0" y="861.0"/>
\r
423 <di:waypoint xsi:type="dc:Point" x="354.0" y="711.0"/>
\r
424 <di:waypoint xsi:type="dc:Point" x="459.0" y="711.0"/>
\r
426 <dc:Bounds height="22.0" width="20.0" x="324.0" y="866.0"/>
\r
427 </bpmndi:BPMNLabel>
\r
429 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_21" sourceElement="_BPMNShape_ScriptTask_266" targetElement="_BPMNShape_InclusiveGateway_25">
\r
430 <di:waypoint xsi:type="dc:Point" x="414.0" y="593.0"/>
\r
431 <di:waypoint xsi:type="dc:Point" x="484.0" y="593.0"/>
\r
432 <di:waypoint xsi:type="dc:Point" x="484.0" y="686.0"/>
\r
434 <dc:Bounds height="6.0" width="6.0" x="462.0" y="593.0"/>
\r
435 </bpmndi:BPMNLabel>
\r
437 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_InclusiveGateway_25" targetElement="_BPMNShape_ScriptTask_222">
\r
438 <di:waypoint xsi:type="dc:Point" x="509.0" y="711.0"/>
\r
439 <di:waypoint xsi:type="dc:Point" x="527.0" y="711.0"/>
\r
440 <di:waypoint xsi:type="dc:Point" x="527.0" y="712.0"/>
\r
441 <di:waypoint xsi:type="dc:Point" x="564.0" y="712.0"/>
\r
443 <dc:Bounds height="6.0" width="6.0" x="533.0" y="712.0"/>
\r
444 </bpmndi:BPMNLabel>
\r
446 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_267" bpmnElement="ScriptTask_1">
\r
447 <dc:Bounds height="79.0" width="103.0" x="179.0" y="554.0"/>
\r
448 </bpmndi:BPMNShape>
\r
449 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_22" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_267" targetElement="_BPMNShape_ScriptTask_266">
\r
450 <di:waypoint xsi:type="dc:Point" x="281.0" y="593.0"/>
\r
451 <di:waypoint xsi:type="dc:Point" x="312.0" y="593.0"/>
\r
453 <dc:Bounds height="6.0" width="6.0" x="294.0" y="593.0"/>
\r
454 </bpmndi:BPMNLabel>
\r
456 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_283" bpmnElement="LogAndSaveOriginalException">
\r
457 <dc:Bounds height="79.0" width="103.0" x="179.0" y="693.0"/>
\r
458 </bpmndi:BPMNShape>
\r
459 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_21" bpmnElement="IsRollbackOnYesSequenceFlow" sourceElement="_BPMNShape_ExclusiveGateway_223" targetElement="_BPMNShape_ScriptTask_283">
\r
460 <di:waypoint xsi:type="dc:Point" x="230.0" y="836.0"/>
\r
461 <di:waypoint xsi:type="dc:Point" x="230.0" y="771.0"/>
\r
463 <dc:Bounds height="22.0" width="27.0" x="240.0" y="804.0"/>
\r
464 </bpmndi:BPMNLabel>
\r
466 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_25" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_ScriptTask_283" targetElement="_BPMNShape_ScriptTask_267">
\r
467 <di:waypoint xsi:type="dc:Point" x="230.0" y="693.0"/>
\r
468 <di:waypoint xsi:type="dc:Point" x="230.0" y="632.0"/>
\r
470 </bpmndi:BPMNPlane>
\r
471 </bpmndi:BPMNDiagram>
\r