Bug fixes in A1 Adapter DG's
[ccsdk/distribution.git] / platform-logic / a1Adapter-api / src / main / xml / A1-ADAPTER-API_getPolicyInstances.xml
1 <service-logic
2     xmlns='http://www.onap.org/sdnc/svclogic'
3     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='A1-ADAPTER-API' version='${project.version}'>
4     <method rpc='getPolicyInstances' mode='sync'>
5         <block atomic='true'>
6             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
7                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
8                 <parameter name="level" value="info" />
9                 <parameter name="field1" value="Get All Policy Instance from Near RT RIC ID and Policy Type ID"/>
10                 <parameter name="field2" value="`$get-policy-instances-input.near-rt-ric-id`"/>
11                 <parameter name="field3" value="`$get-policy-instances-input.policy-type-id`"/>
12             </record>
13             <set>
14                 <parameter name='response-code' value='200' />
15                 <parameter name='response-message' value='getPolicyInstances executed successfully' />
16             </set>
17             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
18                 <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties' />
19                 <parameter name='contextPrefix' value='prop' />
20             </execute>
21             <switch test='`$prop.ric-plt-A1Mediator-deployed`'>
22                 <outcome value='true'>
23                     <block atomic='true'>
24                         <block atomic='true'>
25                             <set>
26                                 <parameter name="tmp.near-rt-ric-id" value="`$get-policy-instances-input.near-rt-ric-id`"/>
27                                 <parameter name="tmp.policy-type-id" value="`$get-policy-instances-input.policy-type-id`"/>
28                             </set>
29                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
30                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
31                                 <parameter name="level" value="info" />
32                                 <parameter name="field1" value="Setting variables for A1 Adapter Get Policy Instances."/>
33                                 <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
34                                 <parameter name="field3" value="`$tmp.policy-type-id`"/>
35                             </record>
36                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
37                                 <parameter name="source" value="`$prop.restapi.policies`"/>
38                                 <parameter name="outputPath" value="tmp.restapi.policyinstances-url"/>
39                                 <parameter name="target" value="{policy_type_id}"/>
40                                 <parameter name="replacement" value="`$tmp.policy-type-id`"/>
41                             </execute>
42                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
43                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
44                                 <parameter name="level" value="info" />
45                                 <parameter name="field1" value="Setting variables for A1 Adapter Get Policy Instances."/>
46                                 <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
47                                 <parameter name="field3" value="`$tmp.policy-type-id`"/>
48                                 <parameter name="field4" value="`$tmp.restapi.policyinstances-url`"/>
49                             </record>
50                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
51                                 <parameter name="restapiUrl" value="`$prop.a1Mediator.url + '/' + $tmp.restapi.policyinstances-url`"/>
52                                 <parameter name="format" value="json"/>
53                                 <parameter name="httpMethod" value="GET"/>
54                                 <parameter name="responsePrefix" value="a1MediatorRsp"/>
55                                 <parameter name='contentType' value='application/json' />
56                                 <parameter name='accept' value='application/json' />
57                                 <parameter name="convertResponse" value="true"/>
58                                 <outcome value='success'>
59                                     <block>
60                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>
61                                             <parameter name='source' value='a1MediatorRsp.httpResponse' />
62                                             <parameter name='outputPath' value='a1MediatorPolicyInstancesList' />
63                                             <parameter name='isEscaped' value='false' />
64                                         </execute>
65                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
66                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
67                                             <parameter name="level" value="info" />
68                                             <parameter name="field1" value="List of A1 Policy Instances: "/>
69                                             <parameter name="field2" value="`$a1MediatorRsp`"/>
70                                         </record>
71                                         <execute plugin="org.onap.ccsdk.sli.plugins.template.TemplateNode" method="evaluateTemplate" >
72                                             <parameter name='templatePath' value='a1Mediator-get-policy-instances.vtl' />
73                                             <parameter name='output' value='policyInstancesList' />
74                                             <parameter name='prefix' value='a1-mediator' />
75                                             <outcome value='success'>
76                                                 <block atomic='true'>
77                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
78                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
79                                                         <parameter name="level" value="info" />
80                                                         <parameter name="field1" value="__TIMESTAMP__"/>
81                                                         <parameter name="field2" value="A1 Policiy Instances List"/>
82                                                         <parameter name='field3' value='`$a1-mediator.policyInstancesList`' />
83                                                     </record>
84                                                 </block>
85                                             </outcome>
86                                         </execute>
87                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
88                                             <parameter name='filename' value='/opt/opendaylight/current/data/log/A1-Adapter-getPolicyInstances-context.log' />
89                                         </execute>
90                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
91                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
92                                             <parameter name="level" value="info" />
93                                             <parameter name="field1" value="List of A1 Policy Types: "/>
94                                             <parameter name="field2" value="`$a1MediatorRsp._length`"/>
95                                             <parameter name="field3" value="`$a1MediatorRsp.httpResponse`"/>
96                                             <parameter name="field4" value="`$a1MediatorRsp.response-code`"/>
97                                             <parameter name="field5" value='`$a1MediatorRsp._length`' />
98                                             <parameter name="field6" value='`$a1-mediator.policyInstancesList`' />
99                                         </record>
100                                     </block>
101                                 </outcome>
102                                 <outcome value='failure'>
103                                     <block>
104                                         <set>
105                                             <parameter name='response-code' value='500'/>
106                                             <parameter name='response-message' value='Seems A1 Mediator Not Healthy'/>
107                                         </set>
108                                         <return status='failure'>
109                                             <parameter name='ack-final' value='Y'/>
110                                             <parameter name="response-code" value="500" />
111                                             <parameter name="response-message" value="Error in Getting A1 Policy Instances. Aborting" />
112                                         </return>
113                                         <block atomic='true'>
114                                             <set>
115                                                 <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstances'/>
116                                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
117                                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
118                                                 <parameter name='tmp.a1Policy-dmaap-resp.payload' value='`$a1-mediator.policyInstancesList`' />
119                                             </set>
120                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
121                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
122                                                 <parameter name="level" value="info" />
123                                                 <parameter name="field1" value="__TIMESTAMP__"/>
124                                                 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
125                                                 <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
126                                                 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
127                                                 <parameter name='field5' value="Status Code and Status Value to be published" />
128                                                 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
129                                                 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
130                                                 <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
131                                                 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
132                                                 <parameter name='field10' value="RPC Name" />
133                                                 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
134                                             </record>
135                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
136                                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
137                                                 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
138                                                 <parameter name='format' value='json' />
139                                                 <parameter name='httpMethod' value='POST' />
140                                                 <parameter name='contentType' value='application/json' />
141                                                 <parameter name='responsePrefix' value='dmaap' />
142                                                 <outcome value='failure'>
143                                                     <block>
144                                                         <return status='failure'>
145                                                             <parameter name='ack-final' value='Y'/>
146                                                             <parameter name="response-code" value="500" />
147                                                             <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
148                                                         </return>
149                                                     </block>
150                                                 </outcome>
151                                                 <outcome value='success'>
152                                                     <block>
153                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
154                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
155                                                             <parameter name="level" value="info" />
156                                                             <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
157                                                         </record>
158                                                     </block>
159                                                 </outcome>
160                                             </execute>
161                                         </block>
162                                     </block>
163                                 </outcome>
164                             </execute>
165                         </block>
166                     </block>
167                 </outcome>
168                 <outcome value='false'>
169                     <block>
170                         <set>
171                             <parameter name='response-code' value='500'/>
172                             <parameter name='response-message' value='A1 Mediator Not Deployed'/>
173                         </set>
174                         <block atomic='true'>
175                             <set>
176                                 <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstances'/>
177                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
178                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
179                                 <parameter name='tmp.a1Policy-dmaap-resp.payload' value='`$a1-mediator.policyInstancesList`' />
180                             </set>
181                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
182                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
183                                 <parameter name="level" value="info" />
184                                 <parameter name="field1" value="__TIMESTAMP__"/>
185                                 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
186                                 <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
187                                 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
188                                 <parameter name='field5' value="Status Code and Status Value to be published" />
189                                 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
190                                 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
191                                 <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
192                                 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
193                                 <parameter name='field10' value="RPC Name" />
194                                 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
195                             </record>
196                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
197                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
198                                 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
199                                 <parameter name='format' value='json' />
200                                 <parameter name='httpMethod' value='POST' />
201                                 <parameter name='contentType' value='application/json' />
202                                 <parameter name='responsePrefix' value='dmaap' />
203                                 <outcome value='failure'>
204                                     <block>
205                                         <return status='failure'>
206                                             <parameter name='ack-final' value='Y'/>
207                                             <parameter name="response-code" value="500" />
208                                             <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
209                                         </return>
210                                     </block>
211                                 </outcome>
212                                 <outcome value='success'>
213                                     <block>
214                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
215                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
216                                             <parameter name="level" value="info" />
217                                             <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
218                                         </record>
219                                     </block>
220                                 </outcome>
221                             </execute>
222                         </block>
223                         <return status='failure'>
224                             <parameter name='ack-final' value='Y'/>
225                             <parameter name="response-code" value="500" />
226                             <parameter name="response-message" value="Error in Getting A1 Policy Instances. Aborting" />
227                         </return>
228                     </block>
229                 </outcome>
230             </switch>
231             <block>
232                 <block atomic='true'>
233                     <set>
234                         <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstances'/>
235                         <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
236                         <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
237                         <parameter name='tmp.a1Policy-dmaap-resp.payload' value='`$a1-mediator.policyInstancesList`' />
238                     </set>
239                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
240                         <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
241                         <parameter name="level" value="info" />
242                         <parameter name="field1" value="__TIMESTAMP__"/>
243                         <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
244                         <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
245                         <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
246                         <parameter name='field5' value="Status Code and Status Value to be published" />
247                         <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
248                         <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
249                         <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
250                         <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
251                         <parameter name='field10' value="RPC Name" />
252                         <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
253                     </record>
254                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
255                         <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
256                         <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
257                         <parameter name='format' value='json' />
258                         <parameter name='httpMethod' value='POST' />
259                         <parameter name='contentType' value='application/json' />
260                         <parameter name='responsePrefix' value='dmaap' />
261                         <outcome value='failure'>
262                             <block>
263                                 <return status='failure'>
264                                     <parameter name='ack-final' value='Y'/>
265                                     <parameter name="response-code" value="500" />
266                                     <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
267                                 </return>
268                             </block>
269                         </outcome>
270                         <outcome value='success'>
271                             <block>
272                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
273                                     <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
274                                     <parameter name="level" value="info" />
275                                     <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
276                                 </record>
277                             </block>
278                         </outcome>
279                     </execute>
280                 </block>
281                 <return status='success'>
282                     <parameter name="ack-final-indicator" value="Y" />
283                     <parameter name="error-code" value="200" />
284                     <parameter name="error-message" value="`$error-message`" />
285                     <parameter name='response-code' value='200' />
286                     <parameter name='response-message' value='getPolicyInstances executed successfully'/>
287                     <parameter name='ack-final' value='Y'/>
288                 </return>
289             </block>
290         </block>
291     </method>
292 </service-logic>