Fix Relationship update b/w core NSSI and its Sliceprofile
[so.git] / bpmn / so-bpmn-infrastructure-flows / src / main / resources / subprocess / DoAllocateCoreNSSI.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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_19c8rxx" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.0.0">
3   <bpmn:process id="DoAllocateCoreNSSI" name="DoAllocateCoreNSSI" isExecutable="true">
4     <bpmn:startEvent id="allocateNSSI_startEvent" name="Start">
5       <bpmn:outgoing>SequenceFlow_0bjz7up</bpmn:outgoing>
6     </bpmn:startEvent>
7     <bpmn:sequenceFlow id="SequenceFlow_0bjz7up" sourceRef="allocateNSSI_startEvent" targetRef="processRequest_ScriptTask" />
8     <bpmn:sequenceFlow id="SequenceFlow_1xiszom" sourceRef="processRequest_ScriptTask" targetRef="ScriptTask_13krb7d" />
9     <bpmn:sequenceFlow id="SequenceFlow_1r5aycw" sourceRef="ScriptTask_0ybe0w9" targetRef="Activity_16u5d39" />
10     <bpmn:exclusiveGateway id="ExclusiveGateway_1xjahhp" default="SequenceFlow_1scva4p">
11       <bpmn:incoming>Flow_0kbpihh</bpmn:incoming>
12       <bpmn:outgoing>SequenceFlow_1scva4p</bpmn:outgoing>
13       <bpmn:outgoing>SequenceFlow_1ygklb8</bpmn:outgoing>
14     </bpmn:exclusiveGateway>
15     <bpmn:sequenceFlow id="SequenceFlow_1scva4p" name="No Existing &#10;s-nssai" sourceRef="ExclusiveGateway_1xjahhp" targetRef="CallActivity_0ue7vug" />
16     <bpmn:sequenceFlow id="SequenceFlow_1ygklb8" sourceRef="ExclusiveGateway_1xjahhp" targetRef="CallActivity_0e6drr2">
17       <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{execution.getVariable("solutions") !="" }</bpmn:conditionExpression>
18     </bpmn:sequenceFlow>
19     <bpmn:sequenceFlow id="SequenceFlow_0enouyb" sourceRef="ScriptTask_13krb7d" targetRef="ScriptTask_0ybe0w9" />
20     <bpmn:endEvent id="EndEvent_1e80uuk" name="End">
21       <bpmn:incoming>SequenceFlow_0tytimn</bpmn:incoming>
22       <bpmn:incoming>SequenceFlow_0tubodn</bpmn:incoming>
23     </bpmn:endEvent>
24     <bpmn:scriptTask id="processRequest_ScriptTask" name="Preprocess request" scriptFormat="groovy">
25       <bpmn:incoming>SequenceFlow_0bjz7up</bpmn:incoming>
26       <bpmn:outgoing>SequenceFlow_1xiszom</bpmn:outgoing>
27       <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
28 def allocateNssi = new DoAllocateCoreNSSI()
29 allocateNssi.preProcessRequest(execution)</bpmn:script>
30     </bpmn:scriptTask>
31     <bpmn:scriptTask id="ScriptTask_13krb7d" name="Get NSST name from CatalogDB" scriptFormat="groovy">
32       <bpmn:incoming>SequenceFlow_1xiszom</bpmn:incoming>
33       <bpmn:outgoing>SequenceFlow_0enouyb</bpmn:outgoing>
34       <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
35 def allocateNssi = new DoAllocateCoreNSSI()
36 allocateNssi.getNSSTName(execution)</bpmn:script>
37     </bpmn:scriptTask>
38     <bpmn:scriptTask id="ScriptTask_0ybe0w9" name="Prepare OOF request" scriptFormat="groovy">
39       <bpmn:incoming>SequenceFlow_0enouyb</bpmn:incoming>
40       <bpmn:outgoing>SequenceFlow_1r5aycw</bpmn:outgoing>
41       <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
42 def allocateNssi = new DoAllocateCoreNSSI()
43 allocateNssi.prepareOOFRequest(execution)</bpmn:script>
44     </bpmn:scriptTask>
45     <bpmn:callActivity id="CallActivity_0ue7vug" name="Call non-shared slice flow" calledElement="DoAllocateCoreNonSharedSlice">
46       <bpmn:extensionElements>
47         <camunda:in source="coreServiceInstanceId" target="serviceInstanceId" />
48         <camunda:in source="networkServiceModelInfo" target="networkServiceModelInfo" />
49         <camunda:in source="subscriptionServiceType" target="subscriptionServiceType" />
50         <camunda:in source="modelInvariantUuid" target="modelInvariantUuid" />
51         <camunda:in source="nsstName" target="nsstName" />
52         <camunda:in source="modelUuid" target="modelUuid" />
53         <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
54         <camunda:out source="WorkflowException" target="WorkflowException" />
55         <camunda:in source="jobId" target="jobId" />
56         <camunda:in source="nsiId" target="nsiId" />
57         <camunda:in source="sliceParams" target="sliceParams" />
58         <camunda:in source="servicename" target="servicename" />
59         <camunda:in source="msoRequestId" target="msoRequestId" />
60         <camunda:in source="sliceProfile" target="sliceProfile" />
61         <camunda:in source="networkType" target="networkType" />
62         <camunda:in source="sst" target="sst" />
63       </bpmn:extensionElements>
64       <bpmn:incoming>SequenceFlow_1scva4p</bpmn:incoming>
65       <bpmn:outgoing>SequenceFlow_0tubodn</bpmn:outgoing>
66     </bpmn:callActivity>
67     <bpmn:callActivity id="CallActivity_0e6drr2" name="Call shared slice flow&#10;" calledElement="DoAllocateCoreSharedSlice">
68       <bpmn:extensionElements>
69         <camunda:in source="solutions" target="solutions" />
70         <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
71         <camunda:in source="modelInvariantUuid" target="modelInvariantUuid" />
72         <camunda:in source="nsstName" target="nsstName" />
73         <camunda:in source="dummyServiceId" target="dummyServiceId" />
74         <camunda:in source="networkServiceModelInfo" target="networkServiceModelInfo" />
75         <camunda:in source="subscriptionServiceType" target="subscriptionServiceType" />
76         <camunda:in source="modelUuid" target="modelUuid" />
77         <camunda:out source="WorkflowException" target="WorkflowException" />
78         <camunda:in source="nsiId" target="nsiId" />
79         <camunda:in source="sliceParams" target="sliceParams" />
80         <camunda:in source="servicename" target="servicename" />
81         <camunda:in source="msoRequestId" target="msoRequestId" />
82         <camunda:in source="sliceProfile" target="sliceProfile" />
83         <camunda:in source="jobId" target="jobId" />
84       </bpmn:extensionElements>
85       <bpmn:incoming>SequenceFlow_1ygklb8</bpmn:incoming>
86       <bpmn:outgoing>SequenceFlow_0tytimn</bpmn:outgoing>
87     </bpmn:callActivity>
88     <bpmn:sequenceFlow id="SequenceFlow_0tytimn" sourceRef="CallActivity_0e6drr2" targetRef="EndEvent_1e80uuk" />
89     <bpmn:sequenceFlow id="SequenceFlow_0tubodn" sourceRef="CallActivity_0ue7vug" targetRef="EndEvent_1e80uuk" />
90     <bpmn:callActivity id="Activity_16u5d39" name="Call DoHandleOofRequest" calledElement="DoHandleOofRequest">
91       <bpmn:extensionElements>
92         <camunda:in source="NSSI_apiPath" target="apiPath" />
93         <camunda:in source="NSSI_correlator" target="correlator" />
94         <camunda:in source="NSSI_messageType" target="messageType" />
95         <camunda:in source="NSSI_timeout" target="timeout" />
96         <camunda:in source="NSSI_oofRequest" target="oofRequest" />
97         <camunda:out source="WorkflowException" target="WorkflowException" />
98         <camunda:out source="asyncCallbackResponse" target="NSSI_asyncCallbackResponse" />
99       </bpmn:extensionElements>
100       <bpmn:incoming>SequenceFlow_1r5aycw</bpmn:incoming>
101       <bpmn:outgoing>Flow_1navrbe</bpmn:outgoing>
102     </bpmn:callActivity>
103     <bpmn:sequenceFlow id="Flow_1navrbe" sourceRef="Activity_16u5d39" targetRef="ScriptTask_1bg09vu" />
104     <bpmn:scriptTask id="ScriptTask_1bg09vu" name="Process OOF Async&#10;ressponse" scriptFormat="groovy">
105       <bpmn:incoming>Flow_1navrbe</bpmn:incoming>
106       <bpmn:outgoing>Flow_0kbpihh</bpmn:outgoing>
107       <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
108 def allocateNssi = new DoAllocateCoreNSSI()
109 allocateNssi.processOOFAsyncResponse(execution)</bpmn:script>
110     </bpmn:scriptTask>
111     <bpmn:sequenceFlow id="Flow_0kbpihh" sourceRef="ScriptTask_1bg09vu" targetRef="ExclusiveGateway_1xjahhp" />
112     <bpmn:subProcess id="Activity_0nliikd" name="Sub-process for FalloutHandler and Rollback" triggeredByEvent="true">
113       <bpmn:startEvent id="Event_0jeyy28">
114         <bpmn:outgoing>Flow_1bd9s44</bpmn:outgoing>
115         <bpmn:errorEventDefinition id="ErrorEventDefinition_00bn0ig" />
116       </bpmn:startEvent>
117       <bpmn:endEvent id="Event_0f5seph">
118         <bpmn:incoming>Flow_1rrkw3k</bpmn:incoming>
119       </bpmn:endEvent>
120       <bpmn:scriptTask id="Activity_016fs4l" name="Handle Unexpected Error" scriptFormat="groovy">
121         <bpmn:incoming>Flow_1jn84pa</bpmn:incoming>
122         <bpmn:outgoing>Flow_1rrkw3k</bpmn:outgoing>
123         <bpmn:script>import org.onap.so.bpmn.common.scripts.*
124 ExceptionUtil ex = new ExceptionUtil()
125 ex.processJavaException(execution)</bpmn:script>
126       </bpmn:scriptTask>
127       <bpmn:scriptTask id="Activity_1wmb5hd" name="Prepare Resource Operation Status Update" scriptFormat="groovy">
128         <bpmn:incoming>Flow_1bd9s44</bpmn:incoming>
129         <bpmn:outgoing>Flow_167qlhy</bpmn:outgoing>
130         <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
131 def allocateNssi= new DoAllocateCoreNSSI()
132 allocateNssi.prepareFailedOperationStatusUpdate(execution)</bpmn:script>
133       </bpmn:scriptTask>
134       <bpmn:serviceTask id="Activity_0frxrqx" name="Update Resource Operation Status">
135         <bpmn:extensionElements>
136           <camunda:connector>
137             <camunda:inputOutput>
138               <camunda:inputParameter name="url">${dbAdapterEndpoint}</camunda:inputParameter>
139               <camunda:inputParameter name="headers">
140                 <camunda:map>
141                   <camunda:entry key="content-type">application/soap+xml</camunda:entry>
142                   <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry>
143                 </camunda:map>
144               </camunda:inputParameter>
145               <camunda:inputParameter name="payload">${updateResourceOperationStatus}</camunda:inputParameter>
146               <camunda:inputParameter name="method">POST</camunda:inputParameter>
147               <camunda:outputParameter name="NSSMF_dbResponseCode">${statusCode}</camunda:outputParameter>
148               <camunda:outputParameter name="NSSMF_dbResponse">${response}</camunda:outputParameter>
149             </camunda:inputOutput>
150             <camunda:connectorId>http-connector</camunda:connectorId>
151           </camunda:connector>
152         </bpmn:extensionElements>
153         <bpmn:incoming>Flow_167qlhy</bpmn:incoming>
154         <bpmn:outgoing>Flow_1jn84pa</bpmn:outgoing>
155       </bpmn:serviceTask>
156       <bpmn:sequenceFlow id="Flow_1jn84pa" sourceRef="Activity_0frxrqx" targetRef="Activity_016fs4l" />
157       <bpmn:sequenceFlow id="Flow_167qlhy" sourceRef="Activity_1wmb5hd" targetRef="Activity_0frxrqx" />
158       <bpmn:sequenceFlow id="Flow_1bd9s44" sourceRef="Event_0jeyy28" targetRef="Activity_1wmb5hd" />
159       <bpmn:sequenceFlow id="Flow_1rrkw3k" sourceRef="Activity_016fs4l" targetRef="Event_0f5seph" />
160     </bpmn:subProcess>
161   </bpmn:process>
162   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
163     <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoAllocateCoreNSSI">
164       <bpmndi:BPMNEdge id="Flow_0kbpihh_di" bpmnElement="Flow_0kbpihh">
165         <di:waypoint x="868" y="180" />
166         <di:waypoint x="929" y="180" />
167         <bpmndi:BPMNLabel>
168           <dc:Bounds x="753.5" y="155" width="90" height="20" />
169         </bpmndi:BPMNLabel>
170       </bpmndi:BPMNEdge>
171       <bpmndi:BPMNEdge id="Flow_1navrbe_di" bpmnElement="Flow_1navrbe">
172         <di:waypoint x="735" y="180" />
173         <di:waypoint x="768" y="180" />
174       </bpmndi:BPMNEdge>
175       <bpmndi:BPMNEdge id="SequenceFlow_0tubodn_di" bpmnElement="SequenceFlow_0tubodn">
176         <di:waypoint x="1096" y="115" />
177         <di:waypoint x="1136" y="115" />
178         <di:waypoint x="1136" y="184" />
179         <di:waypoint x="1176" y="184" />
180         <bpmndi:BPMNLabel>
181           <dc:Bounds x="1051" y="143.5" width="0" height="12" />
182         </bpmndi:BPMNLabel>
183       </bpmndi:BPMNEdge>
184       <bpmndi:BPMNEdge id="SequenceFlow_0tytimn_di" bpmnElement="SequenceFlow_0tytimn">
185         <di:waypoint x="1096" y="266" />
186         <di:waypoint x="1136" y="266" />
187         <di:waypoint x="1136" y="184" />
188         <di:waypoint x="1176" y="184" />
189         <bpmndi:BPMNLabel>
190           <dc:Bounds x="1051" y="219" width="0" height="12" />
191         </bpmndi:BPMNLabel>
192       </bpmndi:BPMNEdge>
193       <bpmndi:BPMNEdge id="SequenceFlow_0enouyb_di" bpmnElement="SequenceFlow_0enouyb">
194         <di:waypoint x="468" y="184" />
195         <di:waypoint x="501" y="184" />
196         <bpmndi:BPMNLabel>
197           <dc:Bounds x="339.5" y="163" width="90" height="12" />
198         </bpmndi:BPMNLabel>
199       </bpmndi:BPMNEdge>
200       <bpmndi:BPMNEdge id="SequenceFlow_1ygklb8_di" bpmnElement="SequenceFlow_1ygklb8">
201         <di:waypoint x="954" y="205" />
202         <di:waypoint x="954" y="266" />
203         <di:waypoint x="996" y="266" />
204         <bpmndi:BPMNLabel>
205           <dc:Bounds x="824" y="229.5" width="90" height="12" />
206         </bpmndi:BPMNLabel>
207       </bpmndi:BPMNEdge>
208       <bpmndi:BPMNEdge id="SequenceFlow_1scva4p_di" bpmnElement="SequenceFlow_1scva4p">
209         <di:waypoint x="954" y="155" />
210         <di:waypoint x="954" y="115" />
211         <di:waypoint x="996" y="115" />
212         <bpmndi:BPMNLabel>
213           <dc:Bounds x="897" y="116" width="56" height="27" />
214         </bpmndi:BPMNLabel>
215       </bpmndi:BPMNEdge>
216       <bpmndi:BPMNEdge id="SequenceFlow_1r5aycw_di" bpmnElement="SequenceFlow_1r5aycw">
217         <di:waypoint x="601" y="184" />
218         <di:waypoint x="635" y="184" />
219         <bpmndi:BPMNLabel>
220           <dc:Bounds x="470.5" y="163" width="90" height="12" />
221         </bpmndi:BPMNLabel>
222       </bpmndi:BPMNEdge>
223       <bpmndi:BPMNEdge id="SequenceFlow_1xiszom_di" bpmnElement="SequenceFlow_1xiszom">
224         <di:waypoint x="343" y="184" />
225         <di:waypoint x="368" y="184" />
226         <bpmndi:BPMNLabel>
227           <dc:Bounds x="210.5" y="163" width="90" height="12" />
228         </bpmndi:BPMNLabel>
229       </bpmndi:BPMNEdge>
230       <bpmndi:BPMNEdge id="SequenceFlow_0bjz7up_di" bpmnElement="SequenceFlow_0bjz7up">
231         <di:waypoint x="195" y="184" />
232         <di:waypoint x="243" y="184" />
233         <bpmndi:BPMNLabel>
234           <dc:Bounds x="74" y="163" width="90" height="12" />
235         </bpmndi:BPMNLabel>
236       </bpmndi:BPMNEdge>
237       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="allocateNSSI_startEvent">
238         <dc:Bounds x="159" y="166" width="36" height="36" />
239         <bpmndi:BPMNLabel>
240           <dc:Bounds x="166" y="209" width="25" height="14" />
241         </bpmndi:BPMNLabel>
242       </bpmndi:BPMNShape>
243       <bpmndi:BPMNShape id="ExclusiveGateway_1xjahhp_di" bpmnElement="ExclusiveGateway_1xjahhp" isMarkerVisible="true">
244         <dc:Bounds x="929" y="155" width="50" height="50" />
245         <bpmndi:BPMNLabel>
246           <dc:Bounds x="975" y="284" width="90" height="12" />
247         </bpmndi:BPMNLabel>
248       </bpmndi:BPMNShape>
249       <bpmndi:BPMNShape id="EndEvent_1e80uuk_di" bpmnElement="EndEvent_1e80uuk">
250         <dc:Bounds x="1176" y="166" width="36" height="36" />
251         <bpmndi:BPMNLabel>
252           <dc:Bounds x="1184" y="209" width="20" height="14" />
253         </bpmndi:BPMNLabel>
254       </bpmndi:BPMNShape>
255       <bpmndi:BPMNShape id="Activity_1eo0wn0_di" bpmnElement="processRequest_ScriptTask">
256         <dc:Bounds x="243" y="144" width="100" height="80" />
257       </bpmndi:BPMNShape>
258       <bpmndi:BPMNShape id="Activity_0cs9cfh_di" bpmnElement="ScriptTask_13krb7d">
259         <dc:Bounds x="368" y="144" width="100" height="80" />
260       </bpmndi:BPMNShape>
261       <bpmndi:BPMNShape id="Activity_1v669aj_di" bpmnElement="ScriptTask_0ybe0w9">
262         <dc:Bounds x="501" y="144" width="100" height="80" />
263       </bpmndi:BPMNShape>
264       <bpmndi:BPMNShape id="Activity_04schfi_di" bpmnElement="CallActivity_0ue7vug">
265         <dc:Bounds x="996" y="75" width="100" height="80" />
266       </bpmndi:BPMNShape>
267       <bpmndi:BPMNShape id="Activity_1vy16mp_di" bpmnElement="CallActivity_0e6drr2">
268         <dc:Bounds x="996" y="226" width="100" height="80" />
269       </bpmndi:BPMNShape>
270       <bpmndi:BPMNShape id="Activity_16u5d39_di" bpmnElement="Activity_16u5d39">
271         <dc:Bounds x="635" y="144" width="100" height="80" />
272       </bpmndi:BPMNShape>
273       <bpmndi:BPMNShape id="Activity_19cc8m2_di" bpmnElement="ScriptTask_1bg09vu">
274         <dc:Bounds x="768" y="140" width="100" height="80" />
275       </bpmndi:BPMNShape>
276       <bpmndi:BPMNShape id="Activity_0nliikd_di" bpmnElement="Activity_0nliikd" isExpanded="true">
277         <dc:Bounds x="300" y="360" width="781" height="196" />
278       </bpmndi:BPMNShape>
279       <bpmndi:BPMNEdge id="Flow_1rrkw3k_di" bpmnElement="Flow_1rrkw3k">
280         <di:waypoint x="860" y="464" />
281         <di:waypoint x="968" y="464" />
282       </bpmndi:BPMNEdge>
283       <bpmndi:BPMNEdge id="Flow_1bd9s44_di" bpmnElement="Flow_1bd9s44">
284         <di:waypoint x="366" y="464" />
285         <di:waypoint x="430" y="464" />
286       </bpmndi:BPMNEdge>
287       <bpmndi:BPMNEdge id="Flow_167qlhy_di" bpmnElement="Flow_167qlhy">
288         <di:waypoint x="530" y="464" />
289         <di:waypoint x="590" y="464" />
290       </bpmndi:BPMNEdge>
291       <bpmndi:BPMNEdge id="Flow_1jn84pa_di" bpmnElement="Flow_1jn84pa">
292         <di:waypoint x="690" y="464" />
293         <di:waypoint x="760" y="464" />
294       </bpmndi:BPMNEdge>
295       <bpmndi:BPMNShape id="Event_0jeyy28_di" bpmnElement="Event_0jeyy28">
296         <dc:Bounds x="330" y="446" width="36" height="36" />
297       </bpmndi:BPMNShape>
298       <bpmndi:BPMNShape id="Event_0f5seph_di" bpmnElement="Event_0f5seph">
299         <dc:Bounds x="968" y="446" width="36" height="36" />
300       </bpmndi:BPMNShape>
301       <bpmndi:BPMNShape id="Activity_016fs4l_di" bpmnElement="Activity_016fs4l">
302         <dc:Bounds x="760" y="424" width="100" height="80" />
303       </bpmndi:BPMNShape>
304       <bpmndi:BPMNShape id="Activity_1wmb5hd_di" bpmnElement="Activity_1wmb5hd">
305         <dc:Bounds x="430" y="424" width="100" height="80" />
306       </bpmndi:BPMNShape>
307       <bpmndi:BPMNShape id="Activity_0frxrqx_di" bpmnElement="Activity_0frxrqx">
308         <dc:Bounds x="590" y="424" width="100" height="80" />
309       </bpmndi:BPMNShape>
310     </bpmndi:BPMNPlane>
311   </bpmndi:BPMNDiagram>
312 </bpmn:definitions>