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>
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="DoCreateVfModuleRequest" target="DoCreateVfModuleRequest" />
11 <camunda:in source="mso-request-id" target="mso-request-id" />
12 <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
13 <camunda:in source="isVidRequest" target="isVidRequest" />
14 <camunda:in source="newVfModuleId" target="newVfModuleId" />
15 <camunda:out source="DCVFM_vnfId" target="CVFMI_vnfId" />
16 <camunda:out source="DCVFM_vfModuleId" target="CVFMI_vfModuleId" />
17 <camunda:out source="RollbackData" target="RollbackData" />
18 <camunda:out source="WorkflowException" target="WorkflowException" />
19 <camunda:out source="WorkflowResponse" target="CVFMI_WorkflowResponse" />
20 </bpmn2:extensionElements>
21 <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
22 <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
24 <bpmn2:scriptTask id="SendResponse" name="Send Response" scriptFormat="groovy">
25 <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
26 <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
27 <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
28 def createVfModule = new CreateVfModuleInfra()
29 createVfModule.sendResponse(execution)]]></bpmn2:script>
31 <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="SendResponse" targetRef="DoCreateVfModuleSubprocess" />
32 <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1" name="To FinishLine">
33 <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
34 <bpmn2:linkEventDefinition id="_LinkEventDefinition_34" name="FinishLine" />
35 </bpmn2:intermediateThrowEvent>
36 <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="DoCreateVfModuleSubprocess" targetRef="IntermediateThrowEvent_1" />
37 <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1" name="FinishLine">
38 <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
39 <bpmn2:linkEventDefinition id="_LinkEventDefinition_35" name="FinishLine" />
40 </bpmn2:intermediateCatchEvent>
41 <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="IntermediateCatchEvent_1" targetRef="PrepareUpdateInfraRequest" />
42 <bpmn2:scriptTask id="PrepareUpdateInfraRequest" name="Prepare Update Infra Request" scriptFormat="groovy">
43 <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
44 <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing>
45 <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
46 def createVfModule = new CreateVfModuleInfra()
47 createVfModule.prepareUpdateInfraRequest(execution)]]></bpmn2:script>
49 <bpmn2:serviceTask id="ServiceTask_1" name="Update Infra Request">
50 <bpmn2:extensionElements>
53 <camunda:inputParameter name="url">${URN_mso_adapters_db_endpoint}</camunda:inputParameter>
54 <camunda:inputParameter name="headers">
56 <camunda:entry key="content-type">application/soap+xml</camunda:entry>
57 <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry>
59 </camunda:inputParameter>
60 <camunda:inputParameter name="payload">${CVFMI_updateInfraRequest}</camunda:inputParameter>
61 <camunda:inputParameter name="method">POST</camunda:inputParameter>
62 <camunda:outputParameter name="CVFMI_dbResponseCode">${statusCode}</camunda:outputParameter>
63 <camunda:outputParameter name="CVFMI_dbResponse">${response}</camunda:outputParameter>
64 </camunda:inputOutput>
65 <camunda:connectorId>http-connector</camunda:connectorId>
67 </bpmn2:extensionElements>
68 <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
69 <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing>
71 <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="PrepareUpdateInfraRequest" targetRef="ServiceTask_1" />
72 <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="ServiceTask_1" targetRef="UpdateInfraRequestResponseCheck" />
73 <bpmn2:scriptTask id="PrepareMSOCompletionHandler" name="Prepare MSO Completion Handler" scriptFormat="groovy">
74 <bpmn2:incoming>updateInfraRequestResponseGood</bpmn2:incoming>
75 <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing>
76 <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
77 def createVfModule = new CreateVfModuleInfra()
78 createVfModule.postProcessResponse(execution)]]></bpmn2:script>
80 <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="PrepareMSOCompletionHandler" targetRef="MSOCompletionHandler" />
81 <bpmn2:callActivity id="MSOCompletionHandler" name="MSO Completion Handler" calledElement="CompleteMsoProcess">
82 <bpmn2:extensionElements>
83 <camunda:in source="CVFMI_msoCompletionRequest" target="CompleteMsoProcessRequest" />
84 <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
85 <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
86 <camunda:in source="mso-request-id" target="mso-request-id" />
87 <camunda:out source="CompleteMsoProcessResponse" target="CompleteMsoProcessResponse" />
88 <camunda:out source="CMSO_ErrorResponse" target="CMSO_ErrorResponse" />
89 </bpmn2:extensionElements>
90 <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming>
91 <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
93 <bpmn2:exclusiveGateway id="UpdateInfraRequestResponseCheck" name="Success? " default="updateInfraRequestResponseBad">
94 <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming>
95 <bpmn2:outgoing>updateInfraRequestResponseBad</bpmn2:outgoing>
96 <bpmn2:outgoing>updateInfraRequestResponseGood</bpmn2:outgoing>
97 </bpmn2:exclusiveGateway>
98 <bpmn2:sequenceFlow id="updateInfraRequestResponseBad" name="no" sourceRef="UpdateInfraRequestResponseCheck" targetRef="EndEvent_2" />
99 <bpmn2:sequenceFlow id="updateInfraRequestResponseGood" name="yes" sourceRef="UpdateInfraRequestResponseCheck" targetRef="PrepareMSOCompletionHandler">
100 <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CVFMI_dbResponseCode" ) == '200'}]]></bpmn2:conditionExpression>
101 </bpmn2:sequenceFlow>
102 <bpmn2:endEvent id="EndEvent_2">
103 <bpmn2:incoming>updateInfraRequestResponseBad</bpmn2:incoming>
104 <bpmn2:errorEventDefinition id="_ErrorEventDefinition_2" errorRef="Error_1" />
106 <bpmn2:subProcess id="ErrorHandler" name="Error Handler" triggeredByEvent="true">
107 <bpmn2:scriptTask id="ValidateRollbackResponse" name="Validate Rollback Response" scriptFormat="groovy">
108 <bpmn2:incoming>SequenceFlow_17</bpmn2:incoming>
109 <bpmn2:outgoing>SequenceFlow_21</bpmn2:outgoing>
110 <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
111 def createVfModule = new CreateVfModuleInfra()
112 createVfModule.validateRollbackResponse(execution)]]></bpmn2:script>
114 <bpmn2:sequenceFlow id="SequenceFlow_21" name="" sourceRef="ValidateRollbackResponse" targetRef="InclusiveGateway_1" />
115 <bpmn2:callActivity id="ScriptTask_1" name="Do CreateVfModule Rollback" calledElement="DoCreateVfModuleRollback">
116 <bpmn2:extensionElements>
117 <camunda:in source="RollbackData" target="RollbackData" />
118 <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
119 <camunda:in source="isVidRequest" target="isVidRequest" />
120 <camunda:out source="MSOWorkflowException" target="RollbackWorkflowException" />
121 </bpmn2:extensionElements>
122 <bpmn2:incoming>SequenceFlow_19</bpmn2:incoming>
123 <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
124 </bpmn2:callActivity>
125 <bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="ScriptTask_1" targetRef="ValidateRollbackResponse" />
126 <bpmn2:startEvent id="StartEvent_2" name="Catch All Errors">
127 <bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing>
128 <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" />
130 <bpmn2:sequenceFlow id="SequenceFlow_13" name="" sourceRef="StartEvent_2" targetRef="ExclusiveGateway_1" />
131 <bpmn2:callActivity id="FalloutHandler" name="Fallout Handler" calledElement="FalloutHandler">
132 <bpmn2:extensionElements>
133 <camunda:in source="CVFMI_FalloutHandlerRequest" target="FalloutHandlerRequest" />
134 <camunda:in source="mso-request-id" target="mso-request-id" />
135 <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
136 <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
137 </bpmn2:extensionElements>
138 <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
139 <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing>
140 </bpmn2:callActivity>
141 <bpmn2:sequenceFlow id="SequenceFlow_11" name="" sourceRef="FalloutHandler" targetRef="EndEvent_3" />
142 <bpmn2:endEvent id="EndEvent_3">
143 <bpmn2:incoming>SequenceFlow_11</bpmn2:incoming>
144 <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_11" />
146 <bpmn2:scriptTask id="PrepareFalloutHandler" name="Prepare Fallout Handler" scriptFormat="groovy">
147 <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming>
148 <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
149 <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
150 def cvfm = new CreateVfModuleInfra()
151 cvfm.falloutHandlerPrep(execution, 'CVFMI_FalloutHandlerRequest')]]></bpmn2:script>
153 <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="PrepareFalloutHandler" targetRef="FalloutHandler" />
154 <bpmn2:inclusiveGateway id="InclusiveGateway_1">
155 <bpmn2:incoming>SequenceFlow_21</bpmn2:incoming>
156 <bpmn2:incoming>isRollbackOnNoSequenceFlow</bpmn2:incoming>
157 <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing>
158 </bpmn2:inclusiveGateway>
159 <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="InclusiveGateway_1" targetRef="PrepareFalloutHandler" />
160 <bpmn2:exclusiveGateway id="ExclusiveGateway_1" name="Is Rollback On? " default="isRollbackOnNoSequenceFlow">
161 <bpmn2:incoming>SequenceFlow_13</bpmn2:incoming>
162 <bpmn2:outgoing>isRollbackOnNoSequenceFlow</bpmn2:outgoing>
163 <bpmn2:outgoing>IsRollbackOnYesSequenceFlow</bpmn2:outgoing>
164 </bpmn2:exclusiveGateway>
165 <bpmn2:sequenceFlow id="isRollbackOnNoSequenceFlow" name="no" sourceRef="ExclusiveGateway_1" targetRef="InclusiveGateway_1" />
166 <bpmn2:scriptTask id="LogAndSaveOriginalException" name="Log and Save Original Exception" scriptFormat="groovy">
167 <bpmn2:incoming>IsRollbackOnYesSequenceFlow</bpmn2:incoming>
168 <bpmn2:outgoing>SequenceFlow_19</bpmn2:outgoing>
169 <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
170 def cvfm = new CreateVfModuleInfra()
171 cvfm.logAndSaveOriginalException(execution)]]></bpmn2:script>
173 <bpmn2:sequenceFlow id="IsRollbackOnYesSequenceFlow" name="yes" sourceRef="ExclusiveGateway_1" targetRef="LogAndSaveOriginalException">
174 <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CVFMI_rollbackEnabled") == true}]]></bpmn2:conditionExpression>
175 </bpmn2:sequenceFlow>
176 <bpmn2:sequenceFlow id="SequenceFlow_19" name="" sourceRef="LogAndSaveOriginalException" targetRef="ScriptTask_1" />
178 <bpmn2:scriptTask id="SetSuccessIndicator" name="Set Success Indicator" scriptFormat="groovy">
179 <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
180 <bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing>
181 <bpmn2:script><![CDATA[execution.setVariable("CreateVfModuleSuccessIndicator", true)]]></bpmn2:script>
183 <bpmn2:endEvent id="EndEvent_1">
184 <bpmn2:incoming>SequenceFlow_16</bpmn2:incoming>
185 <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_10" />
187 <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="MSOCompletionHandler" targetRef="SetSuccessIndicator" />
188 <bpmn2:sequenceFlow id="SequenceFlow_16" name="" sourceRef="SetSuccessIndicator" targetRef="EndEvent_1" />
189 <bpmn2:boundaryEvent id="BoundaryEvent_1" name="" attachedToRef="ErrorHandler">
190 <bpmn2:outgoing>SequenceFlow_15</bpmn2:outgoing>
191 <bpmn2:errorEventDefinition id="_ErrorEventDefinition_3" />
192 </bpmn2:boundaryEvent>
193 <bpmn2:sequenceFlow id="SequenceFlow_15" name="" sourceRef="BoundaryEvent_1" targetRef="EndEvent_4" />
194 <bpmn2:endEvent id="EndEvent_4">
195 <bpmn2:incoming>SequenceFlow_15</bpmn2:incoming>
196 <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_12" />
198 <bpmn2:scriptTask id="PreProcessRequest" name="Pre-Process Request" scriptFormat="groovy">
199 <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
200 <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
201 <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
202 def createVfModule = new CreateVfModuleInfra()
203 createVfModule.preProcessRequest(execution)]]></bpmn2:script>
205 <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="PreProcessRequest" targetRef="SendResponse" />
207 <bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
208 <bpmn2:error id="Error_2" name="REST Fault" errorCode="RESTFault" />
209 <bpmndi:BPMNDiagram id="BPMNDiagram_1">
210 <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CreateVfModuleInfra">
211 <bpmndi:BPMNShape id="_BPMNShape_StartEvent_50" bpmnElement="StartEvent_1">
212 <dc:Bounds x="41" y="231" width="36" height="36" />
214 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_50" targetElement="_BPMNShape_ScriptTask_124">
215 <di:waypoint xsi:type="dc:Point" x="77" y="249" />
216 <di:waypoint xsi:type="dc:Point" x="226" y="249" />
218 <dc:Bounds x="99" y="249" width="6" height="6" />
221 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_124" bpmnElement="PreProcessRequest">
222 <dc:Bounds x="226" y="209" width="100" height="80" />
224 <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_86" bpmnElement="SendResponse">
225 <dc:Bounds x="432" y="209" width="100" height="80" />
227 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_124" targetElement="_BPMNShape_ServiceTask_86">
228 <di:waypoint xsi:type="dc:Point" x="326" y="249" />
229 <di:waypoint xsi:type="dc:Point" x="432" y="249" />
231 <dc:Bounds x="348" y="249" width="6" height="6" />
234 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_178" bpmnElement="DoCreateVfModuleSubprocess">
235 <dc:Bounds x="612" y="209" width="145" height="80" />
237 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ServiceTask_86" targetElement="_BPMNShape_ScriptTask_178">
238 <di:waypoint xsi:type="dc:Point" x="532" y="249" />
239 <di:waypoint xsi:type="dc:Point" x="612" y="249" />
241 <bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_47" bpmnElement="IntermediateThrowEvent_1">
242 <dc:Bounds x="823" y="231" width="36" height="36" />
244 <dc:Bounds x="841" y="272" width="0" height="0" />
247 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_178" targetElement="_BPMNShape_IntermediateThrowEvent_47">
248 <di:waypoint xsi:type="dc:Point" x="756" y="249" />
249 <di:waypoint xsi:type="dc:Point" x="823" y="249" />
251 <bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_32" bpmnElement="IntermediateCatchEvent_1">
252 <dc:Bounds x="39" y="349" width="36" height="36" />
254 <dc:Bounds x="25" y="390" width="65" height="22" />
257 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_219" bpmnElement="PrepareUpdateInfraRequest">
258 <dc:Bounds x="127" y="327" width="100" height="80" />
260 <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_103" bpmnElement="ServiceTask_1">
261 <dc:Bounds x="277" y="327" width="100" height="80" />
263 <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_179" bpmnElement="UpdateInfraRequestResponseCheck" isMarkerVisible="true">
264 <dc:Bounds x="443" y="341" width="50" height="50" />
266 <dc:Bounds x="435" y="308" width="68" height="22" />
269 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_220" bpmnElement="PrepareMSOCompletionHandler">
270 <dc:Bounds x="552" y="327" width="100" height="80" />
272 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_221" bpmnElement="MSOCompletionHandler">
273 <dc:Bounds x="708" y="327" width="100" height="80" />
275 <bpmndi:BPMNShape id="_BPMNShape_EndEvent_177" bpmnElement="EndEvent_1">
276 <dc:Bounds x="1020" y="349" width="36" height="36" />
278 <dc:Bounds x="1038" y="390" width="0" height="0" />
281 <bpmndi:BPMNShape id="_BPMNShape_EndEvent_178" bpmnElement="EndEvent_2">
282 <dc:Bounds x="452" y="469" width="36" height="36" />
284 <dc:Bounds x="470" y="510" width="0" height="0" />
287 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_IntermediateCatchEvent_32" targetElement="_BPMNShape_ScriptTask_219">
288 <di:waypoint xsi:type="dc:Point" x="75" y="367" />
289 <di:waypoint xsi:type="dc:Point" x="127" y="367" />
291 <dc:Bounds x="105" y="367" width="6" height="6" />
294 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_219" targetElement="_BPMNShape_ServiceTask_103">
295 <di:waypoint xsi:type="dc:Point" x="227" y="367" />
296 <di:waypoint xsi:type="dc:Point" x="277" y="367" />
298 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ServiceTask_103" targetElement="_BPMNShape_ExclusiveGateway_179">
299 <di:waypoint xsi:type="dc:Point" x="377" y="367" />
300 <di:waypoint xsi:type="dc:Point" x="410" y="367" />
301 <di:waypoint xsi:type="dc:Point" x="410" y="366" />
302 <di:waypoint xsi:type="dc:Point" x="443" y="366" />
304 <dc:Bounds x="407" y="366" width="6" height="6" />
307 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="updateInfraRequestResponseBad" sourceElement="_BPMNShape_ExclusiveGateway_179" targetElement="_BPMNShape_EndEvent_178">
308 <di:waypoint xsi:type="dc:Point" x="468" y="391" />
309 <di:waypoint xsi:type="dc:Point" x="469" y="421" />
310 <di:waypoint xsi:type="dc:Point" x="470" y="421" />
311 <di:waypoint xsi:type="dc:Point" x="470" y="469" />
313 <dc:Bounds x="459" y="419" width="20" height="22" />
316 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="updateInfraRequestResponseGood" sourceElement="_BPMNShape_ExclusiveGateway_179" targetElement="_BPMNShape_ScriptTask_220">
317 <di:waypoint xsi:type="dc:Point" x="493" y="366" />
318 <di:waypoint xsi:type="dc:Point" x="523" y="366" />
319 <di:waypoint xsi:type="dc:Point" x="523" y="367" />
320 <di:waypoint xsi:type="dc:Point" x="552" y="367" />
322 <dc:Bounds x="510" y="367" width="27" height="22" />
325 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_ScriptTask_220" targetElement="_BPMNShape_ScriptTask_221">
326 <di:waypoint xsi:type="dc:Point" x="652" y="367" />
327 <di:waypoint xsi:type="dc:Point" x="708" y="367" />
329 <dc:Bounds x="678" y="367" width="6" height="6" />
332 <bpmndi:BPMNShape id="_BPMNShape_SubProcess_20" bpmnElement="ErrorHandler" isExpanded="true">
333 <dc:Bounds x="48" y="540" width="925" height="385" />
335 <bpmndi:BPMNShape id="_BPMNShape_StartEvent_54" bpmnElement="StartEvent_2">
336 <dc:Bounds x="72" y="844" width="36" height="36" />
338 <dc:Bounds x="60" y="886" width="98" height="22" />
341 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_222" bpmnElement="PrepareFalloutHandler">
342 <dc:Bounds x="564" y="672" width="100" height="80" />
344 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_223" bpmnElement="FalloutHandler">
345 <dc:Bounds x="708" y="672" width="100" height="80" />
347 <bpmndi:BPMNShape id="_BPMNShape_EndEvent_179" bpmnElement="EndEvent_3">
348 <dc:Bounds x="864" y="694" width="36" height="36" />
350 <dc:Bounds x="882" y="735" width="0" height="0" />
353 <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_44" bpmnElement="BoundaryEvent_1">
354 <dc:Bounds x="955" y="690" width="36" height="36" />
356 <dc:Bounds x="970" y="731" width="6" height="6" />
359 <bpmndi:BPMNShape id="_BPMNShape_EndEvent_180" bpmnElement="EndEvent_4">
360 <dc:Bounds x="1049" y="690" width="36" height="36" />
362 <dc:Bounds x="1067" y="731" width="0" height="0" />
365 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_222" targetElement="_BPMNShape_ScriptTask_223">
366 <di:waypoint xsi:type="dc:Point" x="664" y="712" />
367 <di:waypoint xsi:type="dc:Point" x="708" y="712" />
369 <dc:Bounds x="689" y="712" width="6" height="6" />
372 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_ScriptTask_223" targetElement="_BPMNShape_EndEvent_179">
373 <di:waypoint xsi:type="dc:Point" x="808" y="712" />
374 <di:waypoint xsi:type="dc:Point" x="864" y="712" />
376 <dc:Bounds x="836" y="712" width="6" height="6" />
379 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_15" sourceElement="_BPMNShape_BoundaryEvent_44" targetElement="_BPMNShape_EndEvent_180">
380 <di:waypoint xsi:type="dc:Point" x="991" y="708" />
381 <di:waypoint xsi:type="dc:Point" x="1049" y="708" />
383 <dc:Bounds x="1015" y="708" width="6" height="6" />
386 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_241" bpmnElement="SetSuccessIndicator">
387 <dc:Bounds x="858" y="328" width="103" height="79" />
389 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_16" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_221" targetElement="_BPMNShape_ScriptTask_241">
390 <di:waypoint xsi:type="dc:Point" x="808" y="367" />
391 <di:waypoint xsi:type="dc:Point" x="858" y="367" />
393 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_16" sourceElement="_BPMNShape_ScriptTask_241" targetElement="_BPMNShape_EndEvent_177">
394 <di:waypoint xsi:type="dc:Point" x="960" y="367" />
395 <di:waypoint xsi:type="dc:Point" x="1020" y="367" />
397 <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_223" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true">
398 <dc:Bounds x="205" y="836" width="50" height="50" />
400 <dc:Bounds x="193" y="901" width="102" height="22" />
403 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_266" bpmnElement="ValidateRollbackResponse">
404 <dc:Bounds x="312" y="554" width="103" height="79" />
406 <bpmndi:BPMNShape id="_BPMNShape_InclusiveGateway_25" bpmnElement="InclusiveGateway_1">
407 <dc:Bounds x="459" y="686" width="50" height="50" />
409 <dc:Bounds x="484" y="741" width="0" height="0" />
412 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_StartEvent_54" targetElement="_BPMNShape_ExclusiveGateway_223">
413 <di:waypoint xsi:type="dc:Point" x="108" y="862" />
414 <di:waypoint xsi:type="dc:Point" x="156" y="862" />
415 <di:waypoint xsi:type="dc:Point" x="156" y="861" />
416 <di:waypoint xsi:type="dc:Point" x="205" y="861" />
418 <dc:Bounds x="153" y="862" width="6" height="6" />
421 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_20" bpmnElement="isRollbackOnNoSequenceFlow" sourceElement="_BPMNShape_ExclusiveGateway_223" targetElement="_BPMNShape_InclusiveGateway_25">
422 <di:waypoint xsi:type="dc:Point" x="255" y="861" />
423 <di:waypoint xsi:type="dc:Point" x="354" y="861" />
424 <di:waypoint xsi:type="dc:Point" x="354" y="711" />
425 <di:waypoint xsi:type="dc:Point" x="459" y="711" />
427 <dc:Bounds x="324" y="866" width="20" height="22" />
430 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_21" sourceElement="_BPMNShape_ScriptTask_266" targetElement="_BPMNShape_InclusiveGateway_25">
431 <di:waypoint xsi:type="dc:Point" x="414" y="593" />
432 <di:waypoint xsi:type="dc:Point" x="484" y="593" />
433 <di:waypoint xsi:type="dc:Point" x="484" y="686" />
435 <dc:Bounds x="462" y="593" width="6" height="6" />
438 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_InclusiveGateway_25" targetElement="_BPMNShape_ScriptTask_222">
439 <di:waypoint xsi:type="dc:Point" x="509" y="711" />
440 <di:waypoint xsi:type="dc:Point" x="527" y="711" />
441 <di:waypoint xsi:type="dc:Point" x="527" y="712" />
442 <di:waypoint xsi:type="dc:Point" x="564" y="712" />
444 <dc:Bounds x="533" y="712" width="6" height="6" />
447 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_267" bpmnElement="ScriptTask_1">
448 <dc:Bounds x="179" y="554" width="103" height="79" />
450 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_22" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_267" targetElement="_BPMNShape_ScriptTask_266">
451 <di:waypoint xsi:type="dc:Point" x="281" y="593" />
452 <di:waypoint xsi:type="dc:Point" x="312" y="593" />
454 <dc:Bounds x="294" y="593" width="6" height="6" />
457 <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_283" bpmnElement="LogAndSaveOriginalException">
458 <dc:Bounds x="179" y="693" width="103" height="79" />
460 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_21" bpmnElement="IsRollbackOnYesSequenceFlow" sourceElement="_BPMNShape_ExclusiveGateway_223" targetElement="_BPMNShape_ScriptTask_283">
461 <di:waypoint xsi:type="dc:Point" x="230" y="836" />
462 <di:waypoint xsi:type="dc:Point" x="230" y="771" />
464 <dc:Bounds x="240" y="804" width="27" height="22" />
467 <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_25" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_ScriptTask_283" targetElement="_BPMNShape_ScriptTask_267">
468 <di:waypoint xsi:type="dc:Point" x="230" y="693" />
469 <di:waypoint xsi:type="dc:Point" x="230" y="632" />
472 </bpmndi:BPMNDiagram>