DG changes for the closed loop and async
[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                         <parameter name='delete-acc-svc-id' value='`$detail-db.service-instance-id`' />\r
19                         <parameter name='access-id' value='`$optical-service-delete-input.request-id`' />\r
20                     </set>\r
21                 </outcome>\r
22             </get-resource>\r
23             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
24                 <parameter name="original_string" value='`$domain-req`'/>\r
25                 <parameter name="regex" value=","/>\r
26                 <parameter name="ctx_memory_result_key" value="param-prefix1"/>\r
27             </execute>\r
28             <set>\r
29                 <parameter name='notification-url' value="notificationUrl" />\r
30                 <parameter name='access-status' value="success" />\r
31             </set>\r
32             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
33                 <parameter name="file" value="/opt/opendaylight/current/data/log/new.log" />\r
34                 <parameter name="level" value="info" />\r
35                 <parameter name="field1" value="`$domain-req`"/>\r
36                 <parameter name="field2" value="`$domain-service1`"/>\r
37             </record>\r
38             <for index='ppx' start='0' end='`$param-prefix1_length`' >\r
39                 <switch test='`$param-prefix1_length == 1`'>\r
40                     <outcome value='true'>\r
41                         <block atomic='true'>\r
42                             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
43 key='SELECT controller_id\r
44 from REQUEST_DETAILS\r
45 WHERE request_id = $param-prefix1[$ppx]'\r
46 pfx='detail-db1'>\r
47                                 <outcome value='success'>\r
48                                     <set>\r
49                                         <parameter name='controller-id1' value='`$detail-db1.controller-id`' />\r
50                                     </set>\r
51                                 </outcome>\r
52                             </get-resource>\r
53                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
54                                 <parameter name="original_string" value='`$controller-id1`'/>\r
55                                 <parameter name="regex" value="_"/>\r
56                                 <parameter name="ctx_memory_result_key" value="param-prefix"/>\r
57                             </execute>\r
58                             <set>\r
59                                 <parameter name='domain-type' value='`$param-prefix[0]`' />\r
60                                 <parameter name='controller-ip' value='`$param-prefix[1]`' />\r
61                                 <parameter name='optical-service-delete-input.request-id' value="`$param-prefix1[$ppx]`" />\r
62                                 <parameter name='optical-service-delete-input.payload.service-name' value="`$optical-service-delete-input.payload.param[0].value + '_MDONS-OTN_'`"/>\r
63                                 <parameter name='domain-service1' value="`$param-prefix1[$ppx]`" />\r
64                             </set>\r
65                             <switch test='`$domain-type`'>\r
66                                 <outcome value='MSA'>\r
67                                     <block>\r
68                                         <call module='optical-service' rpc='service-delete-msa' mode='sync' >\r
69                                             <outcome value='success'>\r
70                                                 <block atomic='true'>\r
71                                                     <set>\r
72                                                         <parameter name='service1-status' value='`$final-response-code`' />\r
73                                                     </set>\r
74                                                 </block>\r
75                                             </outcome>\r
76                                             <outcome value='failure'>\r
77                                                 <return status='failure'>\r
78                                                     <parameter name='error-code' value='500' />\r
79                                                     <parameter name='error-message' value='Failed to call MSA DG' />\r
80                                                     <parameter name='ack-final-indicator' value="Y" />\r
81                                                 </return>\r
82                                             </outcome>\r
83                                         </call>\r
84                                     </block>\r
85                                 </outcome>\r
86                                 <outcome value='TAPI'>\r
87                                     <block>\r
88                                         <call module='optical-service' rpc='service-delete-tapi' mode='sync' >\r
89                                             <outcome value='success'>\r
90                                                 <block>\r
91                                                     <set>\r
92                                                         <parameter name='service1-status' value='`$final-response-code`' />\r
93                                                     </set>\r
94                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
95                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/service-delete-tapi.log" />\r
96                                                         <parameter name="level" value="info" />\r
97                                                         <parameter name="field1" value="`$service1-status`"/>\r
98                                                     </record>\r
99                                                 </block>\r
100                                             </outcome>\r
101                                             <outcome value='failure'>\r
102                                                 <return status='failure'>\r
103                                                     <parameter name='error-code' value='500' />\r
104                                                     <parameter name='error-message' value='Failed to call MSA DG' />\r
105                                                     <parameter name='ack-final-indicator' value="Y" />\r
106                                                 </return>\r
107                                             </outcome>\r
108                                         </call>\r
109                                     </block>\r
110                                 </outcome>\r
111                             </switch>\r
112                         </block>\r
113                     </outcome>\r
114                     <outcome value='false'>\r
115                         <block>\r
116                             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
117 key='SELECT controller_id\r
118 from REQUEST_DETAILS\r
119 WHERE request_id = $param-prefix1[$ppx]'\r
120 pfx='detail-db11'>\r
121                                 <outcome value='success'>\r
122                                     <set>\r
123                                         <parameter name='controller-id11' value='`$detail-db11.controller-id`' />\r
124                                     </set>\r
125                                 </outcome>\r
126                             </get-resource>\r
127                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
128                                 <parameter name="original_string" value='`$controller-id11`'/>\r
129                                 <parameter name="regex" value="_"/>\r
130                                 <parameter name="ctx_memory_result_key" value="domain1"/>\r
131                             </execute>\r
132                             <set>\r
133                                 <parameter name='optical-service-delete-input.request-id' value="`$param-prefix1[$ppx]`" />\r
134                                 <parameter name='optical-service-delete-input.payload.service-name' value="`$optical-service-delete-input.payload.param[0].value + '_MDONS-OTN_'`"/>\r
135                             </set>\r
136                             <call module='optical-service' rpc='service-delete-tapi' mode='sync' >\r
137                                 <outcome value='success'>\r
138                                     <block>\r
139                                         <set>\r
140                                             <parameter name='service-status' value='`$final-response-code`' />\r
141                                         </set>\r
142                                         <switch test='`$service-status == 200`'>\r
143                                             <outcome value='true'></outcome>\r
144                                             <outcome value='false'>\r
145                                                 <set>\r
146                                                     <parameter name='access-status' value='failure' />\r
147                                                 </set>\r
148                                             </outcome>\r
149                                         </switch>\r
150                                     </block>\r
151                                 </outcome>\r
152                             </call>\r
153                         </block>\r
154                     </outcome>\r
155                 </switch>\r
156             </for>\r
157             <switch test='`$ppx == 0`'>\r
158                 <outcome value='true'>\r
159                     <block>\r
160                         <switch test='`$service1-status`'>\r
161                             <outcome value='200'>\r
162                                 <block>\r
163                                     <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
164     resource="SQL"\r
165     key="DELETE FROM REQUEST_DETAILS WHERE request_id = $access-id"></delete>\r
166                                     <return status='success'>\r
167                                         <parameter name="error-code" value="200" />\r
168                                         <parameter name="error-message" value="Service Deleted Successfully" />\r
169                                         <parameter name='ack-final-indicator' value='Y' />\r
170                                     </return>\r
171                                 </block>\r
172                             </outcome>\r
173                             <outcome value='Other'>\r
174                                 <block>\r
175                                     <return status='failure'>\r
176                                         <parameter name='error-code' value='500' />\r
177                                         <parameter name='error-message' value='Access service request entry cannot be deleted' />\r
178                                         <parameter name='ack-final-indicator' value="Y" />\r
179                                     </return>\r
180                                 </block>\r
181                             </outcome>\r
182                         </switch>\r
183                     </block>\r
184                 </outcome>\r
185                 <outcome value='false'>\r
186                     <switch test='`$access-status == success`'>\r
187                         <outcome value='true'>\r
188                             <block>\r
189                                 <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
190     resource="SQL"\r
191     key="DELETE FROM REQUEST_DETAILS WHERE request_id = $access-id"></delete>\r
192                                 <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
193 resource="service-instance"\r
194  key='customer.global-customer-id = $output.global-customer-id AND\r
195      service-subscription.service-type = $output.service-type AND\r
196      service-instance.service-instance-id = $delete-acc-svc-id' \r
197 pfx='acc-serv-dl'      local-only='false'></get-resource>\r
198                                 <for index='idl' start='0' end='`$acc-serv-dl.relationship-list.relationship_length`' >\r
199                                     <switch test="`$acc-serv-dl.relationship-list.relationship[$idl].related-to == 'logical-link'`">\r
200                                         <outcome value='true'>\r
201                                             <block>\r
202                                                 <set>\r
203                                                     <parameter name='link-name' value='`$acc-serv-dl.relationship-list.relationship[$idl].relationship-data[0].relationship-value`' />\r
204                                                 </set>\r
205                                                 <update plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' \r
206 force='true'\r
207 resource='logical-link'\r
208      key='logical-link.link-name = $link-name '\r
209       local-only='false'>\r
210                                                     <parameter name='operational-status' value='up' />\r
211                                                 </update>\r
212                                                 <return status='success'>\r
213                                                     <parameter name="error-code" value="200" />\r
214                                                     <parameter name="error-message" value="Service Deleted Successfully" />\r
215                                                     <parameter name='ack-final-indicator' value='Y' />\r
216                                                 </return>\r
217                                             </block>\r
218                                         </outcome>\r
219                                     </switch>\r
220                                 </for>\r
221                             </block>\r
222                         </outcome>\r
223                         <outcome value='false'>\r
224                             <return status='failure'>\r
225                                 <parameter name='error-code' value='500' />\r
226                                 <parameter name='error-message' value='Access service request entry cannot be deleted' />\r
227                                 <parameter name='ack-final-indicator' value="Y" />\r
228                             </return>\r
229                         </outcome>\r
230                     </switch>\r
231                 </outcome>\r
232             </switch>\r
233         </block>\r
234     </method>\r
235 </service-logic>