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