DG changes for the closed loop and async
[sdnc/oam.git] / platform-logic / optical-service / src / main / xml / optical-service_mdons-closed-loop.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='mdons-closed-loop' mode='sync'>\r
5         <block>\r
6             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
7 key='SELECT *\r
8 from REQUEST_DETAILS\r
9 WHERE service_instance_id = $access-service-id'\r
10 pfx='access'></get-resource>\r
11             <set>\r
12                 <parameter name='original-name' value='`$service-name`' />\r
13             </set>\r
14             <set>\r
15                 <parameter name='domain-services' value='`$access.domain-requests`' />\r
16                 <parameter name='pinterface-list' value='`$access.pinterface-list`' />\r
17                 <parameter name='optical-service-delete-input.request-id' value='`$access.request-id`' />\r
18                 <parameter name='optical-service-delete-input.payload.param[0].name' value='service-name' />\r
19                 <parameter name='optical-service-delete-input.payload.param[0].value' value='`$service-name`' />\r
20                 <parameter name='service-instance-id' value='`$access.service-instance-id`' />\r
21                 <parameter name='service-rate' value='`$access.service-rate`' />\r
22                 <parameter name='service-type' value='`$access.service-type`' />\r
23                 <parameter name='global-customer-id' value='`$access.global-customer-id`' />\r
24                 <parameter name='notification-url' value='`$access.notification-url`' />\r
25             </set>\r
26             <call module='optical-service' rpc='optical-service-delete' mode='sync' ></call>\r
27             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
28                 <parameter name="file" value="/opt/opendaylight/current/data/log/mdons-closed-loop.log" />\r
29                 <parameter name="level" value="info" />\r
30                 <parameter name="field1" value="Delete successful"/>\r
31             </record>\r
32             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
33                 <parameter name="original_string" value='`$pinterface-list`'/>\r
34                 <parameter name="regex" value=","/>\r
35                 <parameter name="ctx_memory_result_key" value="param-prefix"/>\r
36             </execute>\r
37             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
38                 <parameter name="original_string" value='`$param-prefix[0]`'/>\r
39                 <parameter name="regex" value="--"/>\r
40                 <parameter name="ctx_memory_result_key" value="new-aend"/>\r
41             </execute>\r
42             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
43                 <parameter name="original_string" value='`$param-prefix[1]`'/>\r
44                 <parameter name="regex" value="--"/>\r
45                 <parameter name="ctx_memory_result_key" value="new-zend"/>\r
46             </execute>\r
47             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
48                 <parameter name="original_string" value='`$new-aend[0]`'/>\r
49                 <parameter name="regex" value="_"/>\r
50                 <parameter name="ctx_memory_result_key" value="coding1"/>\r
51             </execute>\r
52             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
53                 <parameter name="original_string" value='`$new-zend[0]`'/>\r
54                 <parameter name="regex" value="_"/>\r
55                 <parameter name="ctx_memory_result_key" value="coding2"/>\r
56             </execute>\r
57             <set>\r
58                 <parameter name='optical-service-create-input.payload.param_length' value='7' />\r
59             </set>\r
60             <for index='ido' start='0' end='`$optical-service-create-input.payload.param_length`' >\r
61                 <switch test='`$ido`'>\r
62                     <outcome value='0'>\r
63                         <block>\r
64                             <set>\r
65                                 <parameter name='optical-service-create-input.payload.param[$ido].name' value='service-name' />\r
66                                 <parameter name='optical-service-create-input.payload.param[$ido].value' value='`$original-name`' />\r
67                             </set>\r
68                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
69                                 <parameter name="file" value="/opt/opendaylight/current/data/log/mdons-closed-loop.log" />\r
70                                 <parameter name="level" value="info" />\r
71                                 <parameter name="field1" value="Param details 0"/>\r
72                                 <parameter name="field2" value="`$optical-service-create-input.payload.param[$ido].name`"/>\r
73                                 <parameter name="field3" value="`$optical-service-create-input.payload.param[$ido].value`"/>\r
74                             </record>\r
75                         </block>\r
76                     </outcome>\r
77                     <outcome value='1'>\r
78                         <block>\r
79                             <set>\r
80                                 <parameter name='optical-service-create-input.payload.param[$ido].name' value='`$new-aend[0]`' />\r
81                                 <parameter name='optical-service-create-input.payload.param[$ido].value' value='`$new-aend[1]`' />\r
82                             </set>\r
83                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
84                                 <parameter name="file" value="/opt/opendaylight/current/data/log/mdons-closed-loop.log" />\r
85                                 <parameter name="level" value="info" />\r
86                                 <parameter name="field1" value="Param details 1"/>\r
87                                 <parameter name="field2" value="`$optical-service-create-input.payload.param[$ido].name`"/>\r
88                                 <parameter name="field3" value="`$optical-service-create-input.payload.param[$ido].value`"/>\r
89                             </record>\r
90                         </block>\r
91                     </outcome>\r
92                     <outcome value='2'>\r
93                         <block>\r
94                             <set>\r
95                                 <parameter name='optical-service-create-input.payload.param[$ido].name' value='`$new-zend[0]`' />\r
96                                 <parameter name='optical-service-create-input.payload.param[$ido].value' value='`$new-zend[1]`' />\r
97                             </set>\r
98                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
99                                 <parameter name="file" value="/opt/opendaylight/current/data/log/mdons-closed-loop.log" />\r
100                                 <parameter name="level" value="info" />\r
101                                 <parameter name="field1" value="Param details 2"/>\r
102                                 <parameter name="field2" value="`$optical-service-create-input.payload.param[$ido].name`"/>\r
103                                 <parameter name="field3" value="`$optical-service-create-input.payload.param[$ido].value`"/>\r
104                             </record>\r
105                         </block>\r
106                     </outcome>\r
107                     <outcome value='3'>\r
108                         <block>\r
109                             <set>\r
110                                 <parameter name='optical-service-create-input.payload.param[$ido].name' value="`$coding1[0] + '_coding_func'`" />\r
111                                 <parameter name='optical-service-create-input.payload.param[$ido].value' value='`$service-rate`' />\r
112                             </set>\r
113                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
114                                 <parameter name="file" value="/opt/opendaylight/current/data/log/mdons-closed-loop.log" />\r
115                                 <parameter name="level" value="info" />\r
116                                 <parameter name="field1" value="Param details 3"/>\r
117                                 <parameter name="field2" value="`$optical-service-create-input.payload.param[$ido].name`"/>\r
118                                 <parameter name="field3" value="`$optical-service-create-input.payload.param[$ido].value`"/>\r
119                             </record>\r
120                         </block>\r
121                     </outcome>\r
122                     <outcome value='4'>\r
123                         <block>\r
124                             <set>\r
125                                 <parameter name='optical-service-create-input.payload.param[$ido].name' value="`$coding2[0] + '_coding_func'`" />\r
126                                 <parameter name='optical-service-create-input.payload.param[$ido].value' value='`$service-rate`' />\r
127                             </set>\r
128                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
129                                 <parameter name="file" value="/opt/opendaylight/current/data/log/mdons-closed-loop.log" />\r
130                                 <parameter name="level" value="info" />\r
131                                 <parameter name="field1" value="Param details 4"/>\r
132                                 <parameter name="field2" value="`$optical-service-create-input.payload.param[$ido].name`"/>\r
133                                 <parameter name="field3" value="`$optical-service-create-input.payload.param[$ido].value`"/>\r
134                             </record>\r
135                         </block>\r
136                     </outcome>\r
137                     <outcome value='5'>\r
138                         <block>\r
139                             <set>\r
140                                 <parameter name='optical-service-create-input.payload.param[$ido].name' value="`$coding1[0] + '_client_proto'`" />\r
141                                 <parameter name='optical-service-create-input.payload.param[$ido].value' value='Ethernet' />\r
142                             </set>\r
143                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
144                                 <parameter name="file" value="/opt/opendaylight/current/data/log/mdons-closed-loop.log" />\r
145                                 <parameter name="level" value="info" />\r
146                                 <parameter name="field1" value="Param details 5"/>\r
147                                 <parameter name="field2" value="`$optical-service-create-input.payload.param[$ido].name`"/>\r
148                                 <parameter name="field3" value="`$optical-service-create-input.payload.param[$ido].value`"/>\r
149                             </record>\r
150                         </block>\r
151                     </outcome>\r
152                     <outcome value='6'>\r
153                         <block>\r
154                             <set>\r
155                                 <parameter name='optical-service-create-input.payload.param[$ido].name' value="`$coding2[0] + '_client_proto'`" />\r
156                                 <parameter name='optical-service-create-input.payload.param[$ido].value' value='Ethernet' />\r
157                             </set>\r
158                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
159                                 <parameter name="file" value="/opt/opendaylight/current/data/log/mdons-closed-loop.log" />\r
160                                 <parameter name="level" value="info" />\r
161                                 <parameter name="field1" value="Param details 6"/>\r
162                                 <parameter name="field2" value="`$optical-service-create-input.payload.param[$ido].name`"/>\r
163                                 <parameter name="field3" value="`$optical-service-create-input.payload.param[$ido].value`"/>\r
164                             </record>\r
165                         </block>\r
166                     </outcome>\r
167                 </switch>\r
168             </for>\r
169             <set>\r
170                 <parameter name='optical-service-create-input.request-id' value='`$access.request-id`' />\r
171                 <parameter name='optical-service-create-input.global-customer-id' value='`$global-customer-id`' />\r
172                 <parameter name='optical-service-create-input.service-type' value='`$service-type`' />\r
173                 <parameter name='optical-service-create-input.notification-url' value='`$notification-url`' />\r
174                 <parameter name='optical-service-create-input.service-id' value='`$service-instance-id`' />\r
175                 <parameter name='optical-service-create-input.source' value='SO' />\r
176             </set>\r
177             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
178                 <parameter name="file" value="/opt/opendaylight/current/data/log/mdons-closed-loop.log" />\r
179                 <parameter name="level" value="info" />\r
180                 <parameter name="field1" value="Length"/>\r
181                 <parameter name="field2" value="`$optical-service-create-input.payload.param_length`"/>\r
182                 <parameter name="field" value="`$access.service-instance-id`"/>\r
183             </record>\r
184             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
185 resource="service-instance"\r
186  key='customer.global-customer-id = $global-customer-id AND\r
187      service-subscription.service-type = $service-type AND\r
188      service-instance.service-instance-id = $access.service-instance-id' \r
189 pfx='mdons-access'      local-only='false'></get-resource>\r
190             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">\r
191                 <parameter name="file" value="/opt/opendaylight/current/data/log/mdons-closed-loop.log" />\r
192                 <parameter name="level" value="info" />\r
193                 <parameter name="field1" value="Service Details"/>\r
194                 <parameter name="field3" value="`$access.service-instance-id`"/>\r
195                 <parameter name="field4" value="`$mdons-access.model-invariant-id`"/>\r
196                 <parameter name="field5" value="`$mdons-access.input-parameters`"/>\r
197             </record>\r
198             <for index='idl' start='0' end='`$mdons-access.relationship-list.relationship_length`' >\r
199                 <switch test="`$mdons-access.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='`$mdons-access.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='down' />\r
211                             </update>\r
212                         </block>\r
213                     </outcome>\r
214                 </switch>\r
215             </for>\r
216             <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
217 resource="service-instance"\r
218 key='customer.global-customer-id = $global-customer-id AND\r
219 service-subscription.service-type = $service-type AND\r
220 service-instance.service-instance-id = $access.service-instance-id'></delete>\r
221             <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='service-instance'  \r
222      key='customer.global-customer-id = $global-customer-id AND\r
223      service-subscription.service-type = $service-type AND\r
224      service-instance.service-instance-id = $access.service-instance-id' >\r
225                 <parameter name='service-instance-id' value='`$mdons-access.service-instance-id`' />\r
226                 <parameter name='service-instance-name' value='`$mdons-access.service-instance-name`' />\r
227                 <parameter name='service-type' value='`$mdons-access.service-type`' />\r
228                 <parameter name='orchestration-status' value='`$mdons-access.orchestration-status`' />\r
229                 <parameter name='service-role' value='`$mdons-access.service-role`' />\r
230                 <parameter name='model-invariant-id' value='`$mdons-access.model-invariant-id`' />\r
231                 <parameter name='model-version-id' value='`$mdons-access.model-version-id`' />\r
232                 <parameter name='input-parameters' value='`$mdons-access.input-parameters`' />\r
233             </save>\r
234             <call module='optical-service' rpc='optical-service-create' mode='sync' ></call>\r
235         </block>\r
236     </method>\r
237 </service-logic>