c58fec9dd9d6e172b643ba5f27901c006944f1a1
[so.git] / bpmn / MSOInfrastructureBPMN / src / main / resources / process / CreateVfModuleInfra.bpmn
1 <?xml version="1.0" encoding="UTF-8"?>
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://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_pNTO8MRhEeWv36YLr7PC3Q" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
3   <bpmn2:process id="CreateVfModuleInfra" name="CreateVfModuleInfra" isExecutable="true">
4     <bpmn2:startEvent id="StartEvent_1" name="Start">
5       <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
6     </bpmn2:startEvent>
7     <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="PreProcessRequest" />
8     <bpmn2:callActivity id="DoCreateVfModuleSubprocess" name="Do Create Vf Module" calledElement="DoCreateVfModule">
9       <bpmn2:extensionElements>
10         <camunda:in source="CVFMI_requestId" target="msoRequestId" />
11         <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
12         <camunda:in source="isVidRequest" target="isVidRequest" />
13         <camunda:in source="CVFMI_disableRollback" target="disableRollback" />
14         <camunda:out source="DCVFM_vnfId" target="CVFMI_vnfId" />
15         <camunda:out source="DCVFM_vfModuleId" target="CVFMI_vfModuleId" />
16         <camunda:out source="RollbackData" target="RollbackData" />
17         <camunda:out source="WorkflowException" target="WorkflowException" />
18         <camunda:out source="WorkflowResponse" target="CVFMI_WorkflowResponse" />
19         <camunda:out source="DCVFM_vfModuleName" target="CVFMI_vfModuleName" />
20         <camunda:in source="CVFMI_vnfType" target="vnfType" />
21         <camunda:in source="CVFMI_vnfName" target="vnfName" />
22         <camunda:in source="CVFMI_vnfId" target="vnfId" />
23         <camunda:in source="CVFMI_vfModuleName" target="vfModuleName" />
24         <camunda:in source="CVFMI_vfModuleType" target="vfModuleType" />
25         <camunda:in source="CVFMI_volumeGroupId" target="volumeGroupId" />
26         <camunda:in source="CVFMI_volumeGroupName" target="volumeGroupName" />
27         <camunda:in source="CVFMI_isBaseVfModule" target="isBaseVfModule" />
28         <camunda:in source="CVFMI_asdcServiceModelVersion" target="asdcServiceModelVersion" />
29         <camunda:in source="CVFMI_serviceInstanceId" target="serviceInstanceId" />
30         <camunda:in source="CVFMI_serviceModelInfo" target="serviceModelInfo" />
31         <camunda:in source="CVFMI_vnfModelInfo" target="vnfModelInfo" />
32         <camunda:in source="CVFMI_globalSubscriberId" target="globalSubscriberId" />
33         <camunda:in source="CVFMI_sdncVersion" target="sdncVersion" />
34         <camunda:in source="CVFMI_lcpCloudRegionId" target="lcpCloudRegionId" />
35         <camunda:in source="CVFMI_tenantId" target="tenantId" />
36         <camunda:in source="CVFMI_vfModuleId" target="vfModuleId" />
37         <camunda:in source="CVFMI_vfModuleModelInfo" target="vfModuleModelInfo" />
38         <camunda:in source="CVFMI_usePreload" target="usePreload" />
39         <camunda:in source="CVFMI_vfModuleInputParams" target="vfModuleInputParams" />
40       </bpmn2:extensionElements>
41       <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
42       <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
43     </bpmn2:callActivity>
44     <bpmn2:scriptTask id="SendResponse" name="Send Response" scriptFormat="groovy">
45       <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
46       <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
47       <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
48 def createVfModule = new CreateVfModuleInfra()
49 createVfModule.sendResponse(execution)]]></bpmn2:script>
50     </bpmn2:scriptTask>
51     <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="SendResponse" targetRef="DoCreateVfModuleSubprocess" />
52     <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1" name="To FinishLine">
53       <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
54       <bpmn2:linkEventDefinition id="_LinkEventDefinition_34" name="FinishLine" />
55     </bpmn2:intermediateThrowEvent>
56     <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="DoCreateVfModuleSubprocess" targetRef="IntermediateThrowEvent_1" />
57     <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1" name="FinishLine">
58       <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
59       <bpmn2:linkEventDefinition id="_LinkEventDefinition_35" name="FinishLine" />
60     </bpmn2:intermediateCatchEvent>
61     <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="IntermediateCatchEvent_1" targetRef="PrepareUpdateInfraRequest" />
62     <bpmn2:scriptTask id="PrepareUpdateInfraRequest" name="Prepare Update Infra Request" scriptFormat="groovy">
63       <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
64       <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing>
65       <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
66 def createVfModule = new CreateVfModuleInfra()
67 createVfModule.prepareUpdateInfraRequest(execution)]]></bpmn2:script>
68     </bpmn2:scriptTask>
69     <bpmn2:serviceTask id="ServiceTask_1" name="Update Infra Request">
70       <bpmn2:extensionElements>
71         <camunda:connector>
72           <camunda:inputOutput>
73             <camunda:inputParameter name="url">${URN_mso_adapters_db_endpoint}</camunda:inputParameter>
74             <camunda:inputParameter name="headers">
75               <camunda:map>
76                 <camunda:entry key="content-type">application/soap+xml</camunda:entry>
77               </camunda:map>
78             </camunda:inputParameter>
79             <camunda:inputParameter name="payload">${CVFMI_updateInfraRequest}</camunda:inputParameter>
80             <camunda:inputParameter name="method">POST</camunda:inputParameter>
81             <camunda:outputParameter name="CVFMI_dbResponseCode">${statusCode}</camunda:outputParameter>
82             <camunda:outputParameter name="CVFMI_dbResponse">${response}</camunda:outputParameter>
83           </camunda:inputOutput>
84           <camunda:connectorId>http-connector</camunda:connectorId>
85         </camunda:connector>
86       </bpmn2:extensionElements>
87       <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
88       <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing>
89     </bpmn2:serviceTask>
90     <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="PrepareUpdateInfraRequest" targetRef="ServiceTask_1" />
91     <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="ServiceTask_1" targetRef="UpdateInfraRequestResponseCheck" />
92     <bpmn2:scriptTask id="PrepareMSOCompletionHandler" name="Prepare MSO Completion Handler" scriptFormat="groovy">
93       <bpmn2:incoming>updateInfraRequestResponseGood</bpmn2:incoming>
94       <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing>
95       <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
96 def createVfModule = new CreateVfModuleInfra()
97 createVfModule.postProcessResponse(execution)]]></bpmn2:script>
98     </bpmn2:scriptTask>
99     <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="PrepareMSOCompletionHandler" targetRef="MSOCompletionHandler" />
100     <bpmn2:callActivity id="MSOCompletionHandler" name="MSO Completion Handler" calledElement="CompleteMsoProcess">
101       <bpmn2:extensionElements>
102         <camunda:in source="CVFMI_msoCompletionRequest" target="CompleteMsoProcessRequest" />
103         <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
104         <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
105         <camunda:in source="mso-request-id" target="mso-request-id" />
106         <camunda:out source="CompleteMsoProcessResponse" target="CompleteMsoProcessResponse" />
107         <camunda:out source="CMSO_ErrorResponse" target="CMSO_ErrorResponse" />
108       </bpmn2:extensionElements>
109       <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming>
110       <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
111     </bpmn2:callActivity>
112     <bpmn2:exclusiveGateway id="UpdateInfraRequestResponseCheck" name="Success? " default="updateInfraRequestResponseBad">
113       <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming>
114       <bpmn2:outgoing>updateInfraRequestResponseBad</bpmn2:outgoing>
115       <bpmn2:outgoing>updateInfraRequestResponseGood</bpmn2:outgoing>
116     </bpmn2:exclusiveGateway>
117     <bpmn2:sequenceFlow id="updateInfraRequestResponseBad" name="no" sourceRef="UpdateInfraRequestResponseCheck" targetRef="EndEvent_2" />
118     <bpmn2:sequenceFlow id="updateInfraRequestResponseGood" name="yes" sourceRef="UpdateInfraRequestResponseCheck" targetRef="PrepareMSOCompletionHandler">
119       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CVFMI_dbResponseCode" ) == '200'}]]></bpmn2:conditionExpression>
120     </bpmn2:sequenceFlow>
121     <bpmn2:endEvent id="EndEvent_2">
122       <bpmn2:incoming>updateInfraRequestResponseBad</bpmn2:incoming>
123       <bpmn2:errorEventDefinition id="_ErrorEventDefinition_2" errorRef="Error_1" />
124     </bpmn2:endEvent>
125     <bpmn2:subProcess id="ErrorHandler" name="Error Handler" triggeredByEvent="true">
126       <bpmn2:scriptTask id="ValidateRollbackResponse" name="Validate Rollback Response" scriptFormat="groovy">
127         <bpmn2:incoming>SequenceFlow_17</bpmn2:incoming>
128         <bpmn2:outgoing>SequenceFlow_21</bpmn2:outgoing>
129         <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
130 def createVfModule = new CreateVfModuleInfra()
131 createVfModule.validateRollbackResponse(execution)]]></bpmn2:script>
132       </bpmn2:scriptTask>
133       <bpmn2:sequenceFlow id="SequenceFlow_21" name="" sourceRef="ValidateRollbackResponse" targetRef="InclusiveGateway_1" />
134       <bpmn2:callActivity id="ScriptTask_1" name="Do CreateVfModule Rollback" calledElement="DoCreateVfModuleRollback">
135         <bpmn2:extensionElements>
136           <camunda:in source="RollbackData" target="RollbackData" />
137           <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
138           <camunda:in source="isVidRequest" target="isVidRequest" />
139           <camunda:out source="MSOWorkflowException" target="RollbackWorkflowException" />
140         </bpmn2:extensionElements>
141         <bpmn2:incoming>SequenceFlow_19</bpmn2:incoming>
142         <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
143       </bpmn2:callActivity>
144       <bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="ScriptTask_1" targetRef="ValidateRollbackResponse" />
145       <bpmn2:startEvent id="StartEvent_2" name="Catch All Errors">
146         <bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing>
147         <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" />
148       </bpmn2:startEvent>
149       <bpmn2:sequenceFlow id="SequenceFlow_13" name="" sourceRef="StartEvent_2" targetRef="ExclusiveGateway_1" />
150       <bpmn2:callActivity id="FalloutHandler" name="Fallout Handler" calledElement="FalloutHandler">
151         <bpmn2:extensionElements>
152           <camunda:in source="CVFMI_FalloutHandlerRequest" target="FalloutHandlerRequest" />
153           <camunda:in source="mso-request-id" target="mso-request-id" />
154           <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
155           <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
156         </bpmn2:extensionElements>
157         <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
158         <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing>
159       </bpmn2:callActivity>
160       <bpmn2:sequenceFlow id="SequenceFlow_11" name="" sourceRef="FalloutHandler" targetRef="EndEvent_3" />
161       <bpmn2:endEvent id="EndEvent_3">
162         <bpmn2:incoming>SequenceFlow_11</bpmn2:incoming>
163         <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_11" />
164       </bpmn2:endEvent>
165       <bpmn2:scriptTask id="PrepareFalloutHandler" name="Prepare Fallout Handler" scriptFormat="groovy">
166         <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming>
167         <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
168         <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
169 def cvfm = new CreateVfModuleInfra()
170 cvfm.falloutHandlerPrep(execution, 'CVFMI_FalloutHandlerRequest')]]></bpmn2:script>
171       </bpmn2:scriptTask>
172       <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="PrepareFalloutHandler" targetRef="FalloutHandler" />
173       <bpmn2:inclusiveGateway id="InclusiveGateway_1">
174         <bpmn2:incoming>SequenceFlow_21</bpmn2:incoming>
175         <bpmn2:incoming>isRollbackOnNoSequenceFlow</bpmn2:incoming>
176         <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing>
177       </bpmn2:inclusiveGateway>
178       <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="InclusiveGateway_1" targetRef="PrepareFalloutHandler" />
179       <bpmn2:exclusiveGateway id="ExclusiveGateway_1" name="Is Rollback On? " default="isRollbackOnNoSequenceFlow">
180         <bpmn2:incoming>SequenceFlow_13</bpmn2:incoming>
181         <bpmn2:outgoing>isRollbackOnNoSequenceFlow</bpmn2:outgoing>
182         <bpmn2:outgoing>IsRollbackOnYesSequenceFlow</bpmn2:outgoing>
183       </bpmn2:exclusiveGateway>
184       <bpmn2:sequenceFlow id="isRollbackOnNoSequenceFlow" name="no" sourceRef="ExclusiveGateway_1" targetRef="InclusiveGateway_1" />
185       <bpmn2:scriptTask id="LogAndSaveOriginalException" name="Log and Save Original Exception" scriptFormat="groovy">
186         <bpmn2:incoming>IsRollbackOnYesSequenceFlow</bpmn2:incoming>
187         <bpmn2:outgoing>SequenceFlow_19</bpmn2:outgoing>
188         <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
189 def cvfm = new CreateVfModuleInfra()
190 cvfm.logAndSaveOriginalException(execution)]]></bpmn2:script>
191       </bpmn2:scriptTask>
192       <bpmn2:sequenceFlow id="IsRollbackOnYesSequenceFlow" name="yes" sourceRef="ExclusiveGateway_1" targetRef="LogAndSaveOriginalException">
193         <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CVFMI_rollbackEnabled") == true}]]></bpmn2:conditionExpression>
194       </bpmn2:sequenceFlow>
195       <bpmn2:sequenceFlow id="SequenceFlow_19" name="" sourceRef="LogAndSaveOriginalException" targetRef="ScriptTask_1" />
196     </bpmn2:subProcess>
197     <bpmn2:scriptTask id="SetSuccessIndicator" name="Set Success Indicator" scriptFormat="groovy">
198       <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
199       <bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing>
200       <bpmn2:script><![CDATA[execution.setVariable("CreateVfModuleSuccessIndicator", true)]]></bpmn2:script>
201     </bpmn2:scriptTask>
202     <bpmn2:endEvent id="EndEvent_1">
203       <bpmn2:incoming>SequenceFlow_16</bpmn2:incoming>
204       <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_10" />
205     </bpmn2:endEvent>
206     <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="MSOCompletionHandler" targetRef="SetSuccessIndicator" />
207     <bpmn2:sequenceFlow id="SequenceFlow_16" name="" sourceRef="SetSuccessIndicator" targetRef="EndEvent_1" />
208     <bpmn2:boundaryEvent id="BoundaryEvent_1" name="" attachedToRef="ErrorHandler">
209       <bpmn2:outgoing>SequenceFlow_15</bpmn2:outgoing>
210       <bpmn2:errorEventDefinition id="_ErrorEventDefinition_3" />
211     </bpmn2:boundaryEvent>
212     <bpmn2:sequenceFlow id="SequenceFlow_15" name="" sourceRef="BoundaryEvent_1" targetRef="EndEvent_4" />
213     <bpmn2:endEvent id="EndEvent_4">
214       <bpmn2:incoming>SequenceFlow_15</bpmn2:incoming>
215       <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_12" />
216     </bpmn2:endEvent>
217     <bpmn2:scriptTask id="PreProcessRequest" name="Pre-Process Request" scriptFormat="groovy">
218       <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
219       <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
220       <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
221 def createVfModule = new CreateVfModuleInfra()
222 createVfModule.preProcessRequest(execution)]]></bpmn2:script>
223     </bpmn2:scriptTask>
224     <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="PreProcessRequest" targetRef="SendResponse" />
225   </bpmn2:process>
226   <bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
227   <bpmn2:error id="Error_2" name="REST Fault" errorCode="RESTFault" />
228   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
229     <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CreateVfModuleInfra">
230       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_50" bpmnElement="StartEvent_1">
231         <dc:Bounds x="41" y="231" width="36" height="36" />
232       </bpmndi:BPMNShape>
233       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_50" targetElement="_BPMNShape_ScriptTask_124">
234         <di:waypoint xsi:type="dc:Point" x="77" y="249" />
235         <di:waypoint xsi:type="dc:Point" x="226" y="249" />
236         <bpmndi:BPMNLabel>
237           <dc:Bounds x="99" y="249" width="6" height="6" />
238         </bpmndi:BPMNLabel>
239       </bpmndi:BPMNEdge>
240       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_124" bpmnElement="PreProcessRequest">
241         <dc:Bounds x="226" y="209" width="100" height="80" />
242       </bpmndi:BPMNShape>
243       <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_86" bpmnElement="SendResponse">
244         <dc:Bounds x="432" y="209" width="100" height="80" />
245       </bpmndi:BPMNShape>
246       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_124" targetElement="_BPMNShape_ServiceTask_86">
247         <di:waypoint xsi:type="dc:Point" x="326" y="249" />
248         <di:waypoint xsi:type="dc:Point" x="432" y="249" />
249         <bpmndi:BPMNLabel>
250           <dc:Bounds x="348" y="249" width="6" height="6" />
251         </bpmndi:BPMNLabel>
252       </bpmndi:BPMNEdge>
253       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_178" bpmnElement="DoCreateVfModuleSubprocess">
254         <dc:Bounds x="612" y="209" width="145" height="80" />
255       </bpmndi:BPMNShape>
256       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ServiceTask_86" targetElement="_BPMNShape_ScriptTask_178">
257         <di:waypoint xsi:type="dc:Point" x="532" y="249" />
258         <di:waypoint xsi:type="dc:Point" x="612" y="249" />
259       </bpmndi:BPMNEdge>
260       <bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_47" bpmnElement="IntermediateThrowEvent_1">
261         <dc:Bounds x="823" y="231" width="36" height="36" />
262         <bpmndi:BPMNLabel>
263           <dc:Bounds x="841" y="272" width="0" height="0" />
264         </bpmndi:BPMNLabel>
265       </bpmndi:BPMNShape>
266       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_178" targetElement="_BPMNShape_IntermediateThrowEvent_47">
267         <di:waypoint xsi:type="dc:Point" x="756" y="249" />
268         <di:waypoint xsi:type="dc:Point" x="823" y="249" />
269       </bpmndi:BPMNEdge>
270       <bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_32" bpmnElement="IntermediateCatchEvent_1">
271         <dc:Bounds x="39" y="349" width="36" height="36" />
272         <bpmndi:BPMNLabel>
273           <dc:Bounds x="25" y="390" width="65" height="22" />
274         </bpmndi:BPMNLabel>
275       </bpmndi:BPMNShape>
276       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_219" bpmnElement="PrepareUpdateInfraRequest">
277         <dc:Bounds x="127" y="327" width="100" height="80" />
278       </bpmndi:BPMNShape>
279       <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_103" bpmnElement="ServiceTask_1">
280         <dc:Bounds x="277" y="327" width="100" height="80" />
281       </bpmndi:BPMNShape>
282       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_179" bpmnElement="UpdateInfraRequestResponseCheck" isMarkerVisible="true">
283         <dc:Bounds x="443" y="341" width="50" height="50" />
284         <bpmndi:BPMNLabel>
285           <dc:Bounds x="435" y="308" width="68" height="22" />
286         </bpmndi:BPMNLabel>
287       </bpmndi:BPMNShape>
288       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_220" bpmnElement="PrepareMSOCompletionHandler">
289         <dc:Bounds x="552" y="327" width="100" height="80" />
290       </bpmndi:BPMNShape>
291       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_221" bpmnElement="MSOCompletionHandler">
292         <dc:Bounds x="708" y="327" width="100" height="80" />
293       </bpmndi:BPMNShape>
294       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_177" bpmnElement="EndEvent_1">
295         <dc:Bounds x="1020" y="349" width="36" height="36" />
296         <bpmndi:BPMNLabel>
297           <dc:Bounds x="1038" y="390" width="0" height="0" />
298         </bpmndi:BPMNLabel>
299       </bpmndi:BPMNShape>
300       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_178" bpmnElement="EndEvent_2">
301         <dc:Bounds x="452" y="469" width="36" height="36" />
302         <bpmndi:BPMNLabel>
303           <dc:Bounds x="470" y="510" width="0" height="0" />
304         </bpmndi:BPMNLabel>
305       </bpmndi:BPMNShape>
306       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_IntermediateCatchEvent_32" targetElement="_BPMNShape_ScriptTask_219">
307         <di:waypoint xsi:type="dc:Point" x="75" y="367" />
308         <di:waypoint xsi:type="dc:Point" x="127" y="367" />
309         <bpmndi:BPMNLabel>
310           <dc:Bounds x="105" y="367" width="6" height="6" />
311         </bpmndi:BPMNLabel>
312       </bpmndi:BPMNEdge>
313       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_219" targetElement="_BPMNShape_ServiceTask_103">
314         <di:waypoint xsi:type="dc:Point" x="227" y="367" />
315         <di:waypoint xsi:type="dc:Point" x="277" y="367" />
316       </bpmndi:BPMNEdge>
317       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ServiceTask_103" targetElement="_BPMNShape_ExclusiveGateway_179">
318         <di:waypoint xsi:type="dc:Point" x="377" y="367" />
319         <di:waypoint xsi:type="dc:Point" x="410" y="367" />
320         <di:waypoint xsi:type="dc:Point" x="410" y="366" />
321         <di:waypoint xsi:type="dc:Point" x="443" y="366" />
322         <bpmndi:BPMNLabel>
323           <dc:Bounds x="407" y="366" width="6" height="6" />
324         </bpmndi:BPMNLabel>
325       </bpmndi:BPMNEdge>
326       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="updateInfraRequestResponseBad" sourceElement="_BPMNShape_ExclusiveGateway_179" targetElement="_BPMNShape_EndEvent_178">
327         <di:waypoint xsi:type="dc:Point" x="468" y="391" />
328         <di:waypoint xsi:type="dc:Point" x="469" y="421" />
329         <di:waypoint xsi:type="dc:Point" x="470" y="421" />
330         <di:waypoint xsi:type="dc:Point" x="470" y="469" />
331         <bpmndi:BPMNLabel>
332           <dc:Bounds x="459" y="419" width="20" height="22" />
333         </bpmndi:BPMNLabel>
334       </bpmndi:BPMNEdge>
335       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="updateInfraRequestResponseGood" sourceElement="_BPMNShape_ExclusiveGateway_179" targetElement="_BPMNShape_ScriptTask_220">
336         <di:waypoint xsi:type="dc:Point" x="493" y="366" />
337         <di:waypoint xsi:type="dc:Point" x="523" y="366" />
338         <di:waypoint xsi:type="dc:Point" x="523" y="367" />
339         <di:waypoint xsi:type="dc:Point" x="552" y="367" />
340         <bpmndi:BPMNLabel>
341           <dc:Bounds x="510" y="367" width="27" height="22" />
342         </bpmndi:BPMNLabel>
343       </bpmndi:BPMNEdge>
344       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_ScriptTask_220" targetElement="_BPMNShape_ScriptTask_221">
345         <di:waypoint xsi:type="dc:Point" x="652" y="367" />
346         <di:waypoint xsi:type="dc:Point" x="708" y="367" />
347         <bpmndi:BPMNLabel>
348           <dc:Bounds x="678" y="367" width="6" height="6" />
349         </bpmndi:BPMNLabel>
350       </bpmndi:BPMNEdge>
351       <bpmndi:BPMNShape id="_BPMNShape_SubProcess_20" bpmnElement="ErrorHandler" isExpanded="true">
352         <dc:Bounds x="48" y="540" width="925" height="385" />
353       </bpmndi:BPMNShape>
354       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_54" bpmnElement="StartEvent_2">
355         <dc:Bounds x="72" y="844" width="36" height="36" />
356         <bpmndi:BPMNLabel>
357           <dc:Bounds x="60" y="886" width="98" height="22" />
358         </bpmndi:BPMNLabel>
359       </bpmndi:BPMNShape>
360       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_222" bpmnElement="PrepareFalloutHandler">
361         <dc:Bounds x="564" y="672" width="100" height="80" />
362       </bpmndi:BPMNShape>
363       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_223" bpmnElement="FalloutHandler">
364         <dc:Bounds x="708" y="672" width="100" height="80" />
365       </bpmndi:BPMNShape>
366       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_179" bpmnElement="EndEvent_3">
367         <dc:Bounds x="864" y="694" width="36" height="36" />
368         <bpmndi:BPMNLabel>
369           <dc:Bounds x="882" y="735" width="0" height="0" />
370         </bpmndi:BPMNLabel>
371       </bpmndi:BPMNShape>
372       <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_44" bpmnElement="BoundaryEvent_1">
373         <dc:Bounds x="955" y="690" width="36" height="36" />
374         <bpmndi:BPMNLabel>
375           <dc:Bounds x="970" y="731" width="6" height="6" />
376         </bpmndi:BPMNLabel>
377       </bpmndi:BPMNShape>
378       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_180" bpmnElement="EndEvent_4">
379         <dc:Bounds x="1049" y="690" width="36" height="36" />
380         <bpmndi:BPMNLabel>
381           <dc:Bounds x="1067" y="731" width="0" height="0" />
382         </bpmndi:BPMNLabel>
383       </bpmndi:BPMNShape>
384       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_222" targetElement="_BPMNShape_ScriptTask_223">
385         <di:waypoint xsi:type="dc:Point" x="664" y="712" />
386         <di:waypoint xsi:type="dc:Point" x="708" y="712" />
387         <bpmndi:BPMNLabel>
388           <dc:Bounds x="689" y="712" width="6" height="6" />
389         </bpmndi:BPMNLabel>
390       </bpmndi:BPMNEdge>
391       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_ScriptTask_223" targetElement="_BPMNShape_EndEvent_179">
392         <di:waypoint xsi:type="dc:Point" x="808" y="712" />
393         <di:waypoint xsi:type="dc:Point" x="864" y="712" />
394         <bpmndi:BPMNLabel>
395           <dc:Bounds x="836" y="712" width="6" height="6" />
396         </bpmndi:BPMNLabel>
397       </bpmndi:BPMNEdge>
398       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_15" sourceElement="_BPMNShape_BoundaryEvent_44" targetElement="_BPMNShape_EndEvent_180">
399         <di:waypoint xsi:type="dc:Point" x="991" y="708" />
400         <di:waypoint xsi:type="dc:Point" x="1049" y="708" />
401         <bpmndi:BPMNLabel>
402           <dc:Bounds x="1015" y="708" width="6" height="6" />
403         </bpmndi:BPMNLabel>
404       </bpmndi:BPMNEdge>
405       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_241" bpmnElement="SetSuccessIndicator">
406         <dc:Bounds x="858" y="328" width="103" height="79" />
407       </bpmndi:BPMNShape>
408       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_16" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_221" targetElement="_BPMNShape_ScriptTask_241">
409         <di:waypoint xsi:type="dc:Point" x="808" y="367" />
410         <di:waypoint xsi:type="dc:Point" x="858" y="367" />
411       </bpmndi:BPMNEdge>
412       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_16" sourceElement="_BPMNShape_ScriptTask_241" targetElement="_BPMNShape_EndEvent_177">
413         <di:waypoint xsi:type="dc:Point" x="960" y="367" />
414         <di:waypoint xsi:type="dc:Point" x="1020" y="367" />
415       </bpmndi:BPMNEdge>
416       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_223" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true">
417         <dc:Bounds x="205" y="836" width="50" height="50" />
418         <bpmndi:BPMNLabel>
419           <dc:Bounds x="193" y="901" width="102" height="22" />
420         </bpmndi:BPMNLabel>
421       </bpmndi:BPMNShape>
422       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_266" bpmnElement="ValidateRollbackResponse">
423         <dc:Bounds x="312" y="554" width="103" height="79" />
424       </bpmndi:BPMNShape>
425       <bpmndi:BPMNShape id="_BPMNShape_InclusiveGateway_25" bpmnElement="InclusiveGateway_1">
426         <dc:Bounds x="459" y="686" width="50" height="50" />
427         <bpmndi:BPMNLabel>
428           <dc:Bounds x="484" y="741" width="0" height="0" />
429         </bpmndi:BPMNLabel>
430       </bpmndi:BPMNShape>
431       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_StartEvent_54" targetElement="_BPMNShape_ExclusiveGateway_223">
432         <di:waypoint xsi:type="dc:Point" x="108" y="862" />
433         <di:waypoint xsi:type="dc:Point" x="156" y="862" />
434         <di:waypoint xsi:type="dc:Point" x="156" y="861" />
435         <di:waypoint xsi:type="dc:Point" x="205" y="861" />
436         <bpmndi:BPMNLabel>
437           <dc:Bounds x="153" y="862" width="6" height="6" />
438         </bpmndi:BPMNLabel>
439       </bpmndi:BPMNEdge>
440       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_20" bpmnElement="isRollbackOnNoSequenceFlow" sourceElement="_BPMNShape_ExclusiveGateway_223" targetElement="_BPMNShape_InclusiveGateway_25">
441         <di:waypoint xsi:type="dc:Point" x="255" y="861" />
442         <di:waypoint xsi:type="dc:Point" x="354" y="861" />
443         <di:waypoint xsi:type="dc:Point" x="354" y="711" />
444         <di:waypoint xsi:type="dc:Point" x="459" y="711" />
445         <bpmndi:BPMNLabel>
446           <dc:Bounds x="324" y="866" width="20" height="22" />
447         </bpmndi:BPMNLabel>
448       </bpmndi:BPMNEdge>
449       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_21" sourceElement="_BPMNShape_ScriptTask_266" targetElement="_BPMNShape_InclusiveGateway_25">
450         <di:waypoint xsi:type="dc:Point" x="414" y="593" />
451         <di:waypoint xsi:type="dc:Point" x="484" y="593" />
452         <di:waypoint xsi:type="dc:Point" x="484" y="686" />
453         <bpmndi:BPMNLabel>
454           <dc:Bounds x="462" y="593" width="6" height="6" />
455         </bpmndi:BPMNLabel>
456       </bpmndi:BPMNEdge>
457       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_InclusiveGateway_25" targetElement="_BPMNShape_ScriptTask_222">
458         <di:waypoint xsi:type="dc:Point" x="509" y="711" />
459         <di:waypoint xsi:type="dc:Point" x="527" y="711" />
460         <di:waypoint xsi:type="dc:Point" x="527" y="712" />
461         <di:waypoint xsi:type="dc:Point" x="564" y="712" />
462         <bpmndi:BPMNLabel>
463           <dc:Bounds x="533" y="712" width="6" height="6" />
464         </bpmndi:BPMNLabel>
465       </bpmndi:BPMNEdge>
466       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_267" bpmnElement="ScriptTask_1">
467         <dc:Bounds x="179" y="554" width="103" height="79" />
468       </bpmndi:BPMNShape>
469       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_22" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_267" targetElement="_BPMNShape_ScriptTask_266">
470         <di:waypoint xsi:type="dc:Point" x="281" y="593" />
471         <di:waypoint xsi:type="dc:Point" x="312" y="593" />
472         <bpmndi:BPMNLabel>
473           <dc:Bounds x="294" y="593" width="6" height="6" />
474         </bpmndi:BPMNLabel>
475       </bpmndi:BPMNEdge>
476       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_283" bpmnElement="LogAndSaveOriginalException">
477         <dc:Bounds x="179" y="693" width="103" height="79" />
478       </bpmndi:BPMNShape>
479       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_21" bpmnElement="IsRollbackOnYesSequenceFlow" sourceElement="_BPMNShape_ExclusiveGateway_223" targetElement="_BPMNShape_ScriptTask_283">
480         <di:waypoint xsi:type="dc:Point" x="230" y="836" />
481         <di:waypoint xsi:type="dc:Point" x="230" y="771" />
482         <bpmndi:BPMNLabel>
483           <dc:Bounds x="240" y="804" width="27" height="22" />
484         </bpmndi:BPMNLabel>
485       </bpmndi:BPMNEdge>
486       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_25" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_ScriptTask_283" targetElement="_BPMNShape_ScriptTask_267">
487         <di:waypoint xsi:type="dc:Point" x="230" y="693" />
488         <di:waypoint xsi:type="dc:Point" x="230" y="632" />
489       </bpmndi:BPMNEdge>
490     </bpmndi:BPMNPlane>
491   </bpmndi:BPMNDiagram>
492 </bpmn2:definitions>