TAPI and MSA create and delete
[sdnc/oam.git] / platform-logic / optical-service / src / main / xml / optical-service_optical-service-delete.xml
1 <service-logic\r
2     xmlns='http://www.onap.org/sdnc/svclogic'\r
3     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='optical-service' version='${project.version}'>\r
4     <method rpc='optical-service-delete' mode='sync'>\r
5         <block atomic='true'>\r
6             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
7                 <parameter name='fileName' value='/opt/onap/sdnc/data/properties/optical-service-dg.properties' />\r
8                 <parameter name='contextPrefix' value='prop' />\r
9             </execute>\r
10             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
11 key='SELECT *\r
12 from REQUEST_DETAILS\r
13 WHERE request_id = $optical-service-delete-input.request-id'\r
14 pfx='detail-db'>\r
15                 <outcome value='success'>\r
16                     <set>\r
17                         <parameter name='domain-req' value='`$detail-db.domain-requests`' />\r
18                     </set>\r
19                 </outcome>\r
20             </get-resource>\r
21             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
22                 <parameter name="original_string" value='`$domain-req`'/>\r
23                 <parameter name="regex" value=","/>\r
24                 <parameter name="ctx_memory_result_key" value="param-prefix1"/>\r
25             </execute>\r
26             <set>\r
27                 <parameter name='notification-url' value="http://167.254.204.152:31817/asyncNotification" />\r
28                 <parameter name='domain-service1' value='`$param-prefix1[0]`' />\r
29                 <parameter name='domain-service2' value='`$param-prefix1[1]`' />\r
30             </set>\r
31             <set>\r
32                 <parameter name='access-id' value="`$optical-service-delete-input.request-id`" />\r
33             </set>\r
34             <for index='ppx' start='0' end='`$param-prefix1_length`' >\r
35                 <switch test='`$param-prefix1_length`'>\r
36                     <outcome value='1'>\r
37                         <block atomic='true'>\r
38                             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
39 key='SELECT controller_id\r
40 from REQUEST_DETAILS\r
41 WHERE request_id = $domain-service1'\r
42 pfx='detail-db1'>\r
43                                 <outcome value='success'>\r
44                                     <set>\r
45                                         <parameter name='controller-id1' value='`$detail-db1.controller-id`' />\r
46                                     </set>\r
47                                 </outcome>\r
48                             </get-resource>\r
49                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
50                                 <parameter name="original_string" value='`$controller-id1`'/>\r
51                                 <parameter name="regex" value="_"/>\r
52                                 <parameter name="ctx_memory_result_key" value="param-prefix"/>\r
53                             </execute>\r
54                             <set>\r
55                                 <parameter name='domain-type' value='`$param-prefix[0]`' />\r
56                                 <parameter name='controller-ip' value='`$param-prefix[1]`' />\r
57                                 <parameter name='optical-service-delete-input.request-id' value="`$domain-service1`" />\r
58                                 <parameter name='optical-service-delete-input.payload.service-name' value="`$optical-service-delete-input.payload.param[0].value + '_MDONS-OTN'`"/>\r
59                             </set>\r
60                             <switch test='`$domain-type`'>\r
61                                 <outcome value='MSA'>\r
62                                     <block>\r
63                                         <call module='optical-service' rpc='service-delete-msa' mode='sync' >\r
64                                             <outcome value='success'>\r
65                                                 <block atomic='true'>\r
66                                                     <set>\r
67                                                         <parameter name='service1-status' value='`$final-response-code`' />\r
68                                                     </set>\r
69                                                 </block>\r
70                                             </outcome>\r
71                                             <outcome value='failure'>\r
72                                                 <return status='failure'>\r
73                                                     <parameter name='error-code' value='500' />\r
74                                                     <parameter name='error-message' value='Failed to call MSA DG' />\r
75                                                     <parameter name='ack-final-indicator' value="Y" />\r
76                                                 </return>\r
77                                             </outcome>\r
78                                         </call>\r
79                                     </block>\r
80                                 </outcome>\r
81                                 <outcome value='TAPI'>\r
82                                     <block>\r
83                                         <call module='optical-service' rpc='service-delete-tapi' mode='sync' >\r
84                                             <outcome value='success'>\r
85                                                 <block>\r
86                                                     <set>\r
87                                                         <parameter name='service1-status' value='`$final-response-code`' />\r
88                                                     </set>\r
89                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
90                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/service-delete-tapi.log" />\r
91                                                         <parameter name="level" value="info" />\r
92                                                         <parameter name="field1" value="`$service1-status`"/>\r
93                                                     </record>\r
94                                                 </block>\r
95                                             </outcome>\r
96                                             <outcome value='failure'>\r
97                                                 <return status='failure'>\r
98                                                     <parameter name='error-code' value='500' />\r
99                                                     <parameter name='error-message' value='Failed to call MSA DG' />\r
100                                                     <parameter name='ack-final-indicator' value="Y" />\r
101                                                 </return>\r
102                                             </outcome>\r
103                                         </call>\r
104                                     </block>\r
105                                 </outcome>\r
106                             </switch>\r
107                         </block>\r
108                     </outcome>\r
109                     <outcome value='2'>\r
110                         <switch test='`$ppx`'>\r
111                             <outcome value='0'>\r
112                                 <block>\r
113                                     <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
114 key='SELECT controller_id\r
115 from REQUEST_DETAILS\r
116 WHERE request_id = $domain-service1'\r
117 pfx='detail-db11'>\r
118                                         <outcome value='success'>\r
119                                             <set>\r
120                                                 <parameter name='controller-id11' value='`$detail-db11.controller-id`' />\r
121                                             </set>\r
122                                         </outcome>\r
123                                     </get-resource>\r
124                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
125                                         <parameter name="original_string" value='`$controller-id11`'/>\r
126                                         <parameter name="regex" value="_"/>\r
127                                         <parameter name="ctx_memory_result_key" value="domain1"/>\r
128                                     </execute>\r
129                                     <set>\r
130                                         <parameter name='optical-service-delete-input.request-id' value="`$domain-service1`" />\r
131                                         <parameter name='optical-service-delete-input.payload.service-name' value="`$optical-service-delete-input.payload.param[0].value + '_MDONS-OTN-TAPI-1'`"/>\r
132                                         <parameter name='domain-type' value='`$domain1[0]`' />\r
133                                         <parameter name='controller-ip' value='`$domain1[1]`' />\r
134                                     </set>\r
135                                     <call module='optical-service' rpc='service-delete-tapi' mode='sync' >\r
136                                         <outcome value='success'>\r
137                                             <block>\r
138                                                 <set>\r
139                                                     <parameter name='service1-status' value='`$final-response-code`' />\r
140                                                 </set>\r
141                                                 <switch test='`$service1-status == 200`'>\r
142                                                     <outcome value='true'>\r
143                                                         <set>\r
144                                                             <parameter name='service1' value='success' />\r
145                                                         </set>\r
146                                                     </outcome>\r
147                                                     <outcome value='false'>\r
148                                                         <set>\r
149                                                             <parameter name='service1' value='failure' />\r
150                                                         </set>\r
151                                                     </outcome>\r
152                                                 </switch>\r
153                                             </block>\r
154                                         </outcome>\r
155                                         <outcome value='failure'>\r
156                                             <return status='failure'>\r
157                                                 <parameter name='error-code' value='500' />\r
158                                                 <parameter name='error-message' value='Main Delete Dg not available' />\r
159                                                 <parameter name='ack-final-indicator' value="Y" />\r
160                                             </return>\r
161                                         </outcome>\r
162                                     </call>\r
163                                 </block>\r
164                             </outcome>\r
165                             <outcome value='1'>\r
166                                 <block>\r
167                                     <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
168 key='SELECT controller_id\r
169 from REQUEST_DETAILS\r
170 WHERE request_id = $domain-service2'\r
171 pfx='detail-db22'>\r
172                                         <outcome value='success'>\r
173                                             <set>\r
174                                                 <parameter name='controller-id22' value='`$detail-db22.controller-id`' />\r
175                                             </set>\r
176                                         </outcome>\r
177                                     </get-resource>\r
178                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
179                                         <parameter name="original_string" value='`$controller-id22`'/>\r
180                                         <parameter name="regex" value="_"/>\r
181                                         <parameter name="ctx_memory_result_key" value="domain2"/>\r
182                                     </execute>\r
183                                     <set>\r
184                                         <parameter name='optical-service-delete-input.request-id' value="`$domain-service2`" />\r
185                                         <parameter name='optical-service-delete-input.payload.service-name' value="`$optical-service-delete-input.payload.param[0].value + '_MDONS-OTN-TAPI-2'`"/>\r
186                                         <parameter name='domain-type' value='`$domain2[0]`' />\r
187                                         <parameter name='controller-ip' value='`$domain2[1]`' />\r
188                                     </set>\r
189                                     <call module='optical-service' rpc='service-delete-tapi' mode='sync' >\r
190                                         <outcome value='success'>\r
191                                             <block>\r
192                                                 <set>\r
193                                                     <parameter name='service2-status' value='`$final-response-code`' />\r
194                                                 </set>\r
195                                                 <switch test='`$service2-status == 200`'>\r
196                                                     <outcome value='true'>\r
197                                                         <set>\r
198                                                             <parameter name='service2' value='success' />\r
199                                                         </set>\r
200                                                     </outcome>\r
201                                                     <outcome value='false'>\r
202                                                         <set>\r
203                                                             <parameter name='service2' value='failure' />\r
204                                                         </set>\r
205                                                     </outcome>\r
206                                                 </switch>\r
207                                             </block>\r
208                                         </outcome>\r
209                                         <outcome value='failure'>\r
210                                             <return status='failure'>\r
211                                                 <parameter name='error-code' value='500' />\r
212                                                 <parameter name='error-message' value='Main Delete Dg not available' />\r
213                                                 <parameter name='ack-final-indicator' value="Y" />\r
214                                             </return>\r
215                                         </outcome>\r
216                                     </call>\r
217                                 </block>\r
218                             </outcome>\r
219                         </switch>\r
220                     </outcome>\r
221                 </switch>\r
222             </for>\r
223             <switch test='`$ppx`'>\r
224                 <outcome value='0'>\r
225                     <block>\r
226                         <switch test='`$service1-status`'>\r
227                             <outcome value='200'>\r
228                                 <block>\r
229                                     <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
230     resource="SQL"\r
231     key="DELETE FROM REQUEST_DETAILS WHERE request_id = $access-id"></delete>\r
232                                     <return status='success'>\r
233                                         <parameter name="error-code" value="200" />\r
234                                         <parameter name="error-message" value="Service Deleted Successfully" />\r
235                                         <parameter name='ack-final-indicator' value='Y' />\r
236                                     </return>\r
237                                 </block>\r
238                             </outcome>\r
239                             <outcome value='Other'>\r
240                                 <block>\r
241                                     <return status='failure'>\r
242                                         <parameter name='error-code' value='500' />\r
243                                         <parameter name='error-message' value='Access service request entry cannot be deleted' />\r
244                                         <parameter name='ack-final-indicator' value="Y" />\r
245                                     </return>\r
246                                 </block>\r
247                             </outcome>\r
248                         </switch>\r
249                     </block>\r
250                 </outcome>\r
251                 <outcome value='1'>\r
252                     <block>\r
253                         <switch test='`$service1-status == $service2-status == 200`'>\r
254                             <outcome value='true'>\r
255                                 <block>\r
256                                     <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
257     resource="SQL"\r
258     key="DELETE FROM REQUEST_DETAILS WHERE request_id = $access-id"></delete>\r
259                                     <return status='success'>\r
260                                         <parameter name="error-code" value="200" />\r
261                                         <parameter name="error-message" value="Service Deleted Successfully" />\r
262                                         <parameter name='ack-final-indicator' value='Y' />\r
263                                     </return>\r
264                                 </block>\r
265                             </outcome>\r
266                             <outcome value='false'>\r
267                                 <block>\r
268                                     <return status='failure'>\r
269                                         <parameter name='error-code' value='500' />\r
270                                         <parameter name='error-message' value='Access service request entry cannot be deleted' />\r
271                                         <parameter name='ack-final-indicator' value="Y" />\r
272                                     </return>\r
273                                 </block>\r
274                             </outcome>\r
275                         </switch>\r
276                     </block>\r
277                 </outcome>\r
278             </switch>\r
279         </block>\r
280     </method>\r
281 </service-logic>