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