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