5d272a787350e17cff0715ab90fde8e94c916691
[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                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
61                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
62                                             <parameter name="level" value="info" />
63                                             <parameter name="field1" value="List of A1 Policy Instances: "/>
64                                             <parameter name="field2" value="`$a1MediatorRsp`"/>
65                                         </record>
66                                     </block>
67                                 </outcome>
68                                 <outcome value='failure'>
69                                     <block>
70                                         <set>
71                                             <parameter name='response-code' value='500'/>
72                                             <parameter name='response-message' value='Seems A1 Mediator Not Healthy'/>
73                                         </set>
74                                         <return status='failure'>
75                                             <parameter name='ack-final' value='Y'/>
76                                             <parameter name="response-code" value="500" />
77                                             <parameter name="response-message" value="Error in Getting A1 Policy Instances. Aborting" />
78                                         </return>
79                                         <block atomic='true'>
80                                             <set>
81                                                 <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstances'/>
82                                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
83                                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
84                                                 <parameter name='tmp.a1Policy-dmaap-resp.payload' value="Working On it" />
85                                             </set>
86                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
87                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
88                                                 <parameter name="level" value="info" />
89                                                 <parameter name="field1" value="__TIMESTAMP__"/>
90                                                 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
91                                                 <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
92                                                 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
93                                                 <parameter name='field5' value="Status Code and Status Value to be published" />
94                                                 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
95                                                 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
96                                                 <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
97                                                 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
98                                                 <parameter name='field10' value="RPC Name" />
99                                                 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
100                                             </record>
101                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
102                                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
103                                                 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
104                                                 <parameter name='format' value='json' />
105                                                 <parameter name='httpMethod' value='POST' />
106                                                 <parameter name='contentType' value='application/json' />
107                                                 <parameter name='responsePrefix' value='dmaap' />
108                                                 <outcome value='failure'>
109                                                     <block>
110                                                         <return status='failure'>
111                                                             <parameter name='ack-final' value='Y'/>
112                                                             <parameter name="response-code" value="500" />
113                                                             <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
114                                                         </return>
115                                                     </block>
116                                                 </outcome>
117                                                 <outcome value='success'>
118                                                     <block>
119                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
120                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
121                                                             <parameter name="level" value="info" />
122                                                             <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
123                                                         </record>
124                                                     </block>
125                                                 </outcome>
126                                             </execute>
127                                         </block>
128                                     </block>
129                                 </outcome>
130                             </execute>
131                         </block>
132                     </block>
133                 </outcome>
134                 <outcome value='false'>
135                     <block>
136                         <set>
137                             <parameter name='response-code' value='500'/>
138                             <parameter name='response-message' value='A1 Mediator Not Deployed'/>
139                         </set>
140                         <block atomic='true'>
141                             <set>
142                                 <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstances'/>
143                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
144                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
145                                 <parameter name='tmp.a1Policy-dmaap-resp.payload' value="Working On it" />
146                             </set>
147                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
148                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
149                                 <parameter name="level" value="info" />
150                                 <parameter name="field1" value="__TIMESTAMP__"/>
151                                 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
152                                 <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
153                                 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
154                                 <parameter name='field5' value="Status Code and Status Value to be published" />
155                                 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
156                                 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
157                                 <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
158                                 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
159                                 <parameter name='field10' value="RPC Name" />
160                                 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
161                             </record>
162                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
163                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
164                                 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
165                                 <parameter name='format' value='json' />
166                                 <parameter name='httpMethod' value='POST' />
167                                 <parameter name='contentType' value='application/json' />
168                                 <parameter name='responsePrefix' value='dmaap' />
169                                 <outcome value='failure'>
170                                     <block>
171                                         <return status='failure'>
172                                             <parameter name='ack-final' value='Y'/>
173                                             <parameter name="response-code" value="500" />
174                                             <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
175                                         </return>
176                                     </block>
177                                 </outcome>
178                                 <outcome value='success'>
179                                     <block>
180                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
181                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
182                                             <parameter name="level" value="info" />
183                                             <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
184                                         </record>
185                                     </block>
186                                 </outcome>
187                             </execute>
188                         </block>
189                         <return status='failure'>
190                             <parameter name='ack-final' value='Y'/>
191                             <parameter name="response-code" value="500" />
192                             <parameter name="response-message" value="Error in Getting A1 Policy Instances. Aborting" />
193                         </return>
194                     </block>
195                 </outcome>
196             </switch>
197             <block>
198                 <block atomic='true'>
199                     <set>
200                         <parameter name='tmp.a1-adapter-api.rpc-name' value='getPolicyInstances'/>
201                         <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
202                         <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
203                         <parameter name='tmp.a1Policy-dmaap-resp.payload' value="Working On it" />
204                     </set>
205                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
206                         <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
207                         <parameter name="level" value="info" />
208                         <parameter name="field1" value="__TIMESTAMP__"/>
209                         <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
210                         <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
211                         <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
212                         <parameter name='field5' value="Status Code and Status Value to be published" />
213                         <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
214                         <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
215                         <parameter name='field8' value="A1 Adapter DMAAP Response Payload" />
216                         <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
217                         <parameter name='field10' value="RPC Name" />
218                         <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
219                     </record>
220                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
221                         <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
222                         <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
223                         <parameter name='format' value='json' />
224                         <parameter name='httpMethod' value='POST' />
225                         <parameter name='contentType' value='application/json' />
226                         <parameter name='responsePrefix' value='dmaap' />
227                         <outcome value='failure'>
228                             <block>
229                                 <return status='failure'>
230                                     <parameter name='ack-final' value='Y'/>
231                                     <parameter name="response-code" value="500" />
232                                     <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
233                                 </return>
234                             </block>
235                         </outcome>
236                         <outcome value='success'>
237                             <block>
238                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
239                                     <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
240                                     <parameter name="level" value="info" />
241                                     <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
242                                 </record>
243                             </block>
244                         </outcome>
245                     </execute>
246                 </block>
247                 <return status='success'>
248                     <parameter name="ack-final-indicator" value="Y" />
249                     <parameter name="error-code" value="200" />
250                     <parameter name="error-message" value="`$error-message`" />
251                     <parameter name='response-code' value='200' />
252                     <parameter name='response-message' value='getPolicyInstances executed successfully'/>
253                     <parameter name='ack-final' value='Y'/>
254                 </return>
255             </block>
256         </block>
257     </method>
258 </service-logic>