DG's and Templates for A1 Adapter
[ccsdk/distribution.git] / platform-logic / a1Adapter-api / src / main / xml / A1-ADAPTER-API_createPolicyInstance.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='createPolicyInstance' 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="A1 Adapter Create Policy Instance. RPC Parms:"/>
10                 <parameter name="field2" value="`$create-policy-instance-input.near-rt-ric-id`"/>
11                 <parameter name="field3" value="`$create-policy-instance-input.policy-type-id`"/>
12                 <parameter name="field4" value="`$create-policy-instance-input.policy-instance-id`"/>
13                 <parameter name="field5" value="A1 Adapter Create Policy Instance. Number of Policy Properties"/>
14                 <parameter name="field6" value="`$create-policy-instance-input.properties_length`"/>
15             </record>
16             <set>
17                 <parameter name='response-code' value='200' />
18                 <parameter name='response-message' value='Successful execution of createPolicyInstance RPC' />
19             </set>
20             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
21                 <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/a1-adapter-api-dg.properties' />
22                 <parameter name='contextPrefix' value='prop' />
23             </execute>
24             <for index='idx' start='0' end='`$create-policy-instance-input.properties_length`' >
25                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
26                     <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
27                     <parameter name="level" value="info" />
28                     <parameter name="field1" value="A1 Adapter Create Policy Instance. Properties Name and Value"/>
29                     <parameter name="field2" value="`$idx`"/>
30                     <parameter name="field3" value="`$create-policy-instance-input.properties[$idx].property-name`"/>
31                     <parameter name="field4" value="`$create-policy-instance-input.properties[$idx].property-value`"/>
32                 </record>
33             </for>
34             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
35                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
36                 <parameter name="level" value="info" />
37                 <parameter name="field1" value="Properties read .. A1 Mediator Target"/>
38                 <parameter name="field2" value="`$prop.oofpcipoc.patch.pci.target`"/>
39                 <parameter name="field3" value="`$prop.controller.user`"/>
40                 <parameter name="field4" value="`$prop.controller.pwd`"/>
41                 <parameter name="field5" value="`$prop.controller.url`"/>
42                 <parameter name="field6" value="A1 Mediator deployed (true/false): "/>
43                 <parameter name="field7" value="`$prop.ric-plt-A1Mediator-deployed`"/>
44             </record>
45             <switch test='`$prop.ric-plt-A1Mediator-deployed`'>
46                 <outcome value='true'>
47                     <block atomic='true'>
48                         <block atomic='true'>
49                             <execute plugin="org.onap.ccsdk.sli.plugins.template.TemplateNode" method="evaluateTemplate" >
50                                 <parameter name='templatePath' value='a1-policy-instance-property-payload-template.vtl' />
51                                 <parameter name='output' value='restapi-payload' />
52                                 <parameter name='prefix' value='a1-mediator' />
53                                 <outcome value='success'>
54                                     <block atomic='true'>
55                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
56                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
57                                             <parameter name="level" value="info" />
58                                             <parameter name="field1" value="__TIMESTAMP__"/>
59                                             <parameter name="field2" value="Redndred A1 Mediator RestAPI payload template as a string"/>
60                                             <parameter name='field3' value='`$a1-mediator.restapi-payload`' />
61                                         </record>
62                                     </block>
63                                 </outcome>
64                                 <outcome value='failure'>
65                                     <block>
66                                         <set>
67                                             <parameter name='response-code' value='500'/>
68                                             <parameter name='response-message' value='Error creating A1 Mediator Rest API payload string. Aborting A1 Policy Instance creation'/>
69                                         </set>
70                                         <return status='failure'>
71                                             <parameter name='ack-final' value='Y'/>
72                                             <parameter name="response-code" value="500" />
73                                             <parameter name="response-message" value="Error creating A1 Mediatory Rest API payload string. Aborting A1 Policy Instance creation" />
74                                         </return>
75                                         <block atomic='true'>
76                                             <set>
77                                                 <parameter name='tmp.a1-adapter-api.rpc-name' value='createPolicyInstance'/>
78                                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
79                                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
80                                                 <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
81                                             </set>
82                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
83                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
84                                                 <parameter name="level" value="info" />
85                                                 <parameter name="field1" value="__TIMESTAMP__"/>
86                                                 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
87                                                 <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
88                                                 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
89                                                 <parameter name='field5' value="Status Code and Status Value to be published" />
90                                                 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
91                                                 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
92                                                 <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
93                                                 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
94                                                 <parameter name='field10' value="RPC Name" />
95                                                 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
96                                             </record>
97                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
98                                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
99                                                 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
100                                                 <parameter name='format' value='json' />
101                                                 <parameter name='httpMethod' value='POST' />
102                                                 <parameter name='contentType' value='application/json' />
103                                                 <parameter name='responsePrefix' value='dmaap' />
104                                                 <outcome value='failure'>
105                                                     <block>
106                                                         <return status='failure'>
107                                                             <parameter name='ack-final' value='Y'/>
108                                                             <parameter name="response-code" value="500" />
109                                                             <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
110                                                         </return>
111                                                     </block>
112                                                 </outcome>
113                                                 <outcome value='success'>
114                                                     <block>
115                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
116                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
117                                                             <parameter name="level" value="info" />
118                                                             <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
119                                                         </record>
120                                                     </block>
121                                                 </outcome>
122                                             </execute>
123                                         </block>
124                                     </block>
125                                 </outcome>
126                             </execute>
127                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
128                                 <parameter name="source" value="`$a1-mediator.restapi-payload`"/>
129                                 <parameter name="outputPath" value="tmp.a1-mediator-restapi.payload"/>
130                                 <parameter name="target" value="\n"/>
131                                 <parameter name="replacement" value=""/>
132                                 <outcome value='success'>
133                                     <block atomic='true'>
134                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
135                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
136                                             <parameter name="level" value="info" />
137                                             <parameter name="field1" value="__TIMESTAMP__"/>
138                                             <parameter name="field2" value="Redndred template with lines removed \r"/>
139                                             <parameter name='field3' value='`$tmp.a1-mediator-restapi.payload`' />
140                                         </record>
141                                     </block>
142                                 </outcome>
143                                 <outcome value='failure'>
144                                     <block>
145                                         <set>
146                                             <parameter name='response-code' value='500'/>
147                                             <parameter name="response-message" value="Error removing lines from A1 Mediator Rest API payload string. Aborting A1 Policy Instance creation" />
148                                         </set>
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 removing lines from A1 Mediator Rest API payload string. Aborting A1 Policy creation" />
153                                         </return>
154                                         <block atomic='true'>
155                                             <set>
156                                                 <parameter name='tmp.a1-adapter-api.rpc-name' value='createPolicyInstance'/>
157                                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
158                                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
159                                                 <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
160                                             </set>
161                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
162                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
163                                                 <parameter name="level" value="info" />
164                                                 <parameter name="field1" value="__TIMESTAMP__"/>
165                                                 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
166                                                 <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
167                                                 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
168                                                 <parameter name='field5' value="Status Code and Status Value to be published" />
169                                                 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
170                                                 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
171                                                 <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
172                                                 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
173                                                 <parameter name='field10' value="RPC Name" />
174                                                 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
175                                             </record>
176                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
177                                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
178                                                 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
179                                                 <parameter name='format' value='json' />
180                                                 <parameter name='httpMethod' value='POST' />
181                                                 <parameter name='contentType' value='application/json' />
182                                                 <parameter name='responsePrefix' value='dmaap' />
183                                                 <outcome value='failure'>
184                                                     <block>
185                                                         <return status='failure'>
186                                                             <parameter name='ack-final' value='Y'/>
187                                                             <parameter name="response-code" value="500" />
188                                                             <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
189                                                         </return>
190                                                     </block>
191                                                 </outcome>
192                                                 <outcome value='success'>
193                                                     <block>
194                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
195                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
196                                                             <parameter name="level" value="info" />
197                                                             <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
198                                                         </record>
199                                                     </block>
200                                                 </outcome>
201                                             </execute>
202                                         </block>
203                                     </block>
204                                 </outcome>
205                             </execute>
206                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
207                                 <parameter name="source" value="`$tmp.a1-mediator-restapi.payload`"/>
208                                 <parameter name="outputPath" value="tmp.a1-mediator-restapi.payload"/>
209                                 <parameter name="target" value="\t"/>
210                                 <parameter name="replacement" value=""/>
211                                 <outcome value='success'>
212                                     <block atomic='true'>
213                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
214                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
215                                             <parameter name="level" value="info" />
216                                             <parameter name="field1" value="__TIMESTAMP__"/>
217                                             <parameter name="field2" value="Redndred template with tabs removed \r"/>
218                                             <parameter name='field3' value='`$tmp.a1-mediator-restapi.payload`' />
219                                         </record>
220                                     </block>
221                                 </outcome>
222                                 <outcome value='failure'>
223                                     <block>
224                                         <set>
225                                             <parameter name='response-code' value='500'/>
226                                             <parameter name="response-message" value="Error removing tabs from A1 Mediator Rest API payload string. Aborting A1 Policy Instance creation" />
227                                         </set>
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 removing tabs from A1 Mediator Rest API payload string. Aborting A1 Policy creation" />
232                                         </return>
233                                         <block atomic='true'>
234                                             <set>
235                                                 <parameter name='tmp.a1-adapter-api.rpc-name' value='createPolicyInstance'/>
236                                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
237                                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
238                                                 <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
239                                             </set>
240                                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
241                                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
242                                                 <parameter name="level" value="info" />
243                                                 <parameter name="field1" value="__TIMESTAMP__"/>
244                                                 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
245                                                 <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
246                                                 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
247                                                 <parameter name='field5' value="Status Code and Status Value to be published" />
248                                                 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
249                                                 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
250                                                 <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
251                                                 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
252                                                 <parameter name='field10' value="RPC Name" />
253                                                 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
254                                             </record>
255                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
256                                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
257                                                 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
258                                                 <parameter name='format' value='json' />
259                                                 <parameter name='httpMethod' value='POST' />
260                                                 <parameter name='contentType' value='application/json' />
261                                                 <parameter name='responsePrefix' value='dmaap' />
262                                                 <outcome value='failure'>
263                                                     <block>
264                                                         <return status='failure'>
265                                                             <parameter name='ack-final' value='Y'/>
266                                                             <parameter name="response-code" value="500" />
267                                                             <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
268                                                         </return>
269                                                     </block>
270                                                 </outcome>
271                                                 <outcome value='success'>
272                                                     <block>
273                                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
274                                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
275                                                             <parameter name="level" value="info" />
276                                                             <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
277                                                         </record>
278                                                     </block>
279                                                 </outcome>
280                                             </execute>
281                                         </block>
282                                     </block>
283                                 </outcome>
284                             </execute>
285                         </block>
286                         <block atomic='true'>
287                             <set>
288                                 <parameter name="tmp.near-rt-ric-id" value="`$create-policy-instance-input.near-rt-ric-id`"/>
289                                 <parameter name="tmp.policy-type-id" value="`$create-policy-instance-input.policy-type-id`"/>
290                                 <parameter name="tmp.policy-instance-id" value="`$create-policy-instance-input.policy-instance-id`"/>
291                             </set>
292                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
293                                 <parameter name="source" value="`$prop.restapi.policy`"/>
294                                 <parameter name="outputPath" value="tmp.restapi.policy-url"/>
295                                 <parameter name="target" value="{policy_type_id}"/>
296                                 <parameter name="replacement" value="`$tmp.policy-type-id`"/>
297                             </execute>
298                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
299                                 <parameter name="source" value="`$tmp.restapi.policy-url`"/>
300                                 <parameter name="outputPath" value="tmp.restapi.policy-url"/>
301                                 <parameter name="target" value="{policy_instance_id}"/>
302                                 <parameter name="replacement" value="`$tmp.policy-instance-id`"/>
303                             </execute>
304                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
305                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
306                                 <parameter name="level" value="info" />
307                                 <parameter name="field1" value="Setting variables for A1 Adapter Create Policy Instance."/>
308                                 <parameter name="field2" value="`$tmp.near-rt-ric-id`"/>
309                                 <parameter name="field3" value="`$tmp.policy-type-id`"/>
310                                 <parameter name="field4" value="`$tmp.policy-instance-id`"/>
311                                 <parameter name="field5" value="`$tmp.restapi.policy-url`"/>
312                                 <parameter name="field6" value="`$a1-mediator.restapi-payload`"/>
313                                 <parameter name="field7" value="Temporary A1 Mediatory Payload"/>
314                                 <parameter name="field8" value="`$tmp.a1-mediator-restapi.payload`"/>
315                             </record>
316                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
317                                 <parameter name="restapiUrl" value="`$prop.a1Mediator.url + '/' + $tmp.restapi.policy-url`"/>
318                                 <parameter name="format" value="json"/>
319                                 <parameter name="httpMethod" value="PUT"/>
320                                 <parameter name="responsePrefix" value="a1MediatorRsp"/>
321                                 <parameter name='contentType' value='application/json' />
322                                 <parameter name='accept' value='application/json' />
323                                 <parameter name="requestBody" value="`$tmp.a1-mediator-restapi.payload`"/>
324                                 <parameter name="convertResponse" value="false"/>
325                                 <outcome value='failure'>
326                                     <return status='failure'>
327                                         <parameter name='ack-final' value='Y'/>
328                                         <parameter name="response-code" value="404" />
329                                         <parameter name="response-message" value="Error creating A1 Policy Instance. Aborting A1 Policy creation" />
330                                     </return>
331                                 </outcome>
332                                 <outcome value='success'>
333                                     <block>
334                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
335                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
336                                             <parameter name="level" value="info" />
337                                             <parameter name="field1" value="A1 Policy Instance Accepted."/>
338                                         </record>
339                                     </block>
340                                 </outcome>
341                             </execute>
342                         </block>
343                     </block>
344                 </outcome>
345                 <outcome value='false'>
346                     <block>
347                         <set>
348                             <parameter name='response-code' value='500'/>
349                             <parameter name='response-message' value='A1 Mediator Not Deployed'/>
350                         </set>
351                         <block atomic='true'>
352                             <set>
353                                 <parameter name='tmp.a1-adapter-api.rpc-name' value='createPolicyInstance'/>
354                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
355                                 <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
356                                 <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
357                             </set>
358                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
359                                 <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
360                                 <parameter name="level" value="info" />
361                                 <parameter name="field1" value="__TIMESTAMP__"/>
362                                 <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
363                                 <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
364                                 <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
365                                 <parameter name='field5' value="Status Code and Status Value to be published" />
366                                 <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
367                                 <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
368                                 <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
369                                 <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
370                                 <parameter name='field10' value="RPC Name" />
371                                 <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
372                             </record>
373                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
374                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
375                                 <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
376                                 <parameter name='format' value='json' />
377                                 <parameter name='httpMethod' value='POST' />
378                                 <parameter name='contentType' value='application/json' />
379                                 <parameter name='responsePrefix' value='dmaap' />
380                                 <outcome value='failure'>
381                                     <block>
382                                         <return status='failure'>
383                                             <parameter name='ack-final' value='Y'/>
384                                             <parameter name="response-code" value="500" />
385                                             <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
386                                         </return>
387                                     </block>
388                                 </outcome>
389                                 <outcome value='success'>
390                                     <block>
391                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
392                                             <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
393                                             <parameter name="level" value="info" />
394                                             <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
395                                         </record>
396                                     </block>
397                                 </outcome>
398                             </execute>
399                         </block>
400                         <return status='failure'>
401                             <parameter name='ack-final' value='Y'/>
402                             <parameter name="response-code" value="500" />
403                             <parameter name="response-message" value="A1 Mediator Not Deployed. Aborting A1 Policy creation" />
404                         </return>
405                     </block>
406                 </outcome>
407             </switch>
408             <block>
409                 <block atomic='true'>
410                     <set>
411                         <parameter name='tmp.a1-adapter-api.rpc-name' value='createPolicyInstance'/>
412                         <parameter name='tmp.a1Adapter-dmaap-resp.status-code' value='`$response-code`'/>
413                         <parameter name='tmp.a1Adapter-dmaap-resp.status-value' value='`$response-message`'/>
414                         <parameter name='tmp.a1Policy-dmaap-resp.payload' value="None" />
415                     </set>
416                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
417                         <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
418                         <parameter name="level" value="info" />
419                         <parameter name="field1" value="__TIMESTAMP__"/>
420                         <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
421                         <parameter name='field3' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
422                         <parameter name='field4' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
423                         <parameter name='field5' value="Status Code and Status Value to be published" />
424                         <parameter name='field6' value="`$tmp.a1Adapter-dmaap-resp.status-code`" />
425                         <parameter name='field7' value="`$tmp.a1Adapter-dmaap-resp.status-value`" />
426                         <parameter name='field8' value="A1 Adapter DMAAP Response Payload Not Required" />
427                         <parameter name='field9' value="`$tmp.a1Policy-dmaap-resp.payload`" />
428                         <parameter name='field10' value="RPC Name" />
429                         <parameter name='field11' value="`$tmp.a1-adapter-api.rpc-name`" />
430                     </record>
431                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
432                         <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' +  $prop.restapi.dmaap-publish-generic-response.template`" />
433                         <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + $prop.a1Adapter-dmaap-policy-response.topic`" />
434                         <parameter name='format' value='json' />
435                         <parameter name='httpMethod' value='POST' />
436                         <parameter name='contentType' value='application/json' />
437                         <parameter name='responsePrefix' value='dmaap' />
438                         <outcome value='failure'>
439                             <block>
440                                 <return status='failure'>
441                                     <parameter name='ack-final' value='Y'/>
442                                     <parameter name="response-code" value="500" />
443                                     <parameter name="response-message" value="Error publishing DMAAP A1 Policy Response message. " />
444                                 </return>
445                             </block>
446                         </outcome>
447                         <outcome value='success'>
448                             <block>
449                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
450                                     <parameter name="file" value="/opt/opendaylight/current/data/log/A1-Adapter.log" />
451                                     <parameter name="level" value="info" />
452                                     <parameter name="field1" value="DMAAP A1Policy message Successfully Published "/>
453                                 </record>
454                             </block>
455                         </outcome>
456                     </execute>
457                 </block>
458                 <return status='success'>
459                     <parameter name="ack-final-indicator" value="Y" />
460                     <parameter name="error-code" value="200" />
461                     <parameter name="error-message" value="`$error-message`" />
462                     <parameter name='response-code' value='200' />
463                     <parameter name='response-message' value='A1 Adapter is healthy'/>
464                     <parameter name='health-status' value='200'/>
465                     <parameter name='ack-final' value='Y'/>
466                 </return>
467             </block>
468         </block>
469     </method>
470 </service-logic>