Add idNearRTRIC in configuration-phy-cell-id
[ccsdk/distribution.git] / platform-logic / oofpcipoc-api / src / main / xml / oofpcipoc-api_generic-neighbor-configuration.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='oofpcipoc-api' version='${project.version}'>
4     <method rpc='generic-neighbor-configuration' 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/generic-neighbor-config.log" />
8                 <parameter name="level" value="info" />
9                 <parameter name="field1" value="RPC to Configure Neighbors INVOKED. Number of Neighbors to configure: "/>
10                 <parameter name="field2" value="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`"/>
11             </record>
12             <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
13                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
14                     <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
15                     <parameter name="level" value="info" />
16                     <parameter name="field1" value="Input RPC Payload request. Neighbor #:  "/>
17                     <parameter name="field2" value="`$idx`"/>
18                     <parameter name="field3" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`"/>
19                     <parameter name="field4" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
20                     <parameter name="field5" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`"/>
21                     <parameter name="field6" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
22                     <parameter name="field7" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`"/>
23                 </record>
24             </for>
25             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
26                 <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/sdnr-oofpcipoc-api-dg.properties' />
27                 <parameter name='contextPrefix' value='prop' />
28             </execute>
29             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
30                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
31                 <parameter name="level" value="info" />
32                 <parameter name="field1" value="Properties read .. generic neighbor config template"/>
33                 <parameter name="field2" value="`$prop.restapi.generic-neighbor-patch.template`"/>
34                 <parameter name="field3" value="`$prop.controller.user`"/>
35                 <parameter name="field4" value="`$prop.controller.pwd`"/>
36                 <parameter name="field5" value="`$prop.controller.url`"/>
37             </record>
38             <set>
39                 <parameter name="prop.oofpcipoc-dmaap-config-resp.timestamp" value="`$generic-neighbor-configuration-input.timeStamp`"/>
40                 <parameter name="prop.oofpcipoc-dmaap-config-resp.requestID" value="`$generic-neighbor-configuration-input.requestID`"/>
41                 <parameter name="prop.oofpcipoc-dmaap-config-resp.subrequestID" value="`$generic-neighbor-configuration-input.subRequestID`"/>
42             </set>
43             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
44                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
45                 <parameter name="level" value="info" />
46                 <parameter name="field1" value="DMAAP Message Header stored in properties file "/>
47                 <parameter name="field2" value="`$prop.oofpcipoc-dmaap-config-resp.timestamp`"/>
48                 <parameter name="field3" value="`$prop.oofpcipoc-dmaap-config-resp.requestID`"/>
49                 <parameter name="field4" value="`$prop.oofpcipoc-dmaap-config-resp.subrequestID`"/>
50             </record>
51             <set>
52                 <parameter name="tmp.idGNBCUCP" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[0].pnf-name`"/>
53             </set>
54             <set>
55                 <parameter name='tmp.getAnchors.URL' value="`$prop.restapi.cps.anchors.endpoint`"/>
56             </set>
57             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
58                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
59                 <parameter name="level" value="info" />
60                 <parameter name="field1" value="URL to fetch the anchors"/>
61                 <parameter name="field2" value="`$tmp.getAnchors.URL`"/>
62             </record>
63             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
64                 <parameter name="restapiUrl" value="`$tmp.getAnchors.URL`"/>
65                 <parameter name="httpMethod" value="GET"/>
66                 <parameter name="restapiUser" value="cpsuser" />
67                 <parameter name="restapiPassword" value="cpsr0cks!"/>
68                 <parameter name="responsePrefix" value="get-anchors-cps-response"/>
69                 <parameter name='contentType' value='application/json' />
70                 <parameter name='format' value='json' />
71                 <parameter name='accept' value='application/json' />
72                 <parameter name="convertResponse" value="true"/>
73                 <outcome value='failure'>
74                     <block>
75                         <set>
76                             <parameter name='error-code' value='500'/>
77                             <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
78                         </set>
79                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
80                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
81                             <parameter name="level" value="info" />
82                             <parameter name="field1" value="Failed to fetch anchors from CPS"/>
83                         </record>
84                     </block>
85                 </outcome>
86                 <outcome value='success'>
87                     <block atomic='true'>
88                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
89                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
90                             <parameter name="level" value="info" />
91                             <parameter name="field1" value="Successfully Obtained anchors from CPS"/>
92                             <parameter name="field2" value="`$get-anchors-cps-response._length`"/>
93                         </record>
94                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
95                             <parameter name='filename' value='/opt/opendaylight/current/data/log/generic-neighbor-config-context.log' />
96                         </execute>
97                     </block>
98                 </outcome>
99             </execute>
100             <set>
101                 <parameter name='tmp.anchors.length' value="`$get-anchors-cps-response._length`"/>
102             </set>
103             <set>
104                 <parameter name='tmp.RIC.length' value="0"/>
105             </set>
106             <for index='anc' start='0' end='`$tmp.anchors.length`'>
107                 <block atomic='true'>
108                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
109                         <parameter name='outputPath' value='tmp.schemaset.name' />
110                         <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
111                     </execute>
112                     <switch test='`$tmp.schemaset.name`'>
113                         <outcome value='ran-network'>
114                             <block atomic='true'>
115                                 <set>
116                                     <parameter name='tmp.RIC.length' value="`$tmp.RIC.length+1`"/>
117                                 </set>
118                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
119                                     <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
120                                     <parameter name="level" value="info" />
121                                     <parameter name="field1" value="Applicable RIC length"/>
122                                     <parameter name="field2" value="`$tmp.RIC.length`"/>
123                                 </record>
124                             </block>
125                         </outcome>
126                     </switch>
127                 </block>
128             </for>
129             <for index='anc' start='0' end='`$tmp.anchors.length`'>
130                 <block atomic='true'>
131                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
132                         <parameter name='outputPath' value='tmp.schemaset.name' />
133                         <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].schemaSetName'`" />
134                     </execute>
135                     <switch test='`$tmp.schemaset.name`'>
136                         <outcome value='ran-network'>
137                             <block atomic='true'>
138                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
139                                     <parameter name='outputPath' value='tmp.anchor.name' />
140                                     <parameter name='source' value="`'get-anchors-cps-response.['+$anc+'].name'`" />
141                                 </execute>
142                                 <block atomic='true'>
143                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
144                                         <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
145                                         <parameter name="outputPath" value="tmp.cps.getNearRTRICByidGNBCUCPFunction.url"/>
146                                         <parameter name="target" value="{schemaSet}"/>
147                                         <parameter name="replacement" value="`$tmp.anchor.name`"/>
148                                     </execute>
149                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
150                                         <parameter name="source" value="`$tmp.cps.getNearRTRICByidGNBCUCPFunction.url`"/>
151                                         <parameter name="outputPath" value="tmp.cps.getNearRTRICByidGNBCUCPFunction.url"/>
152                                         <parameter name="target" value="{templateId}"/>
153                                         <parameter name="replacement" value="`$prop.tbdmt.template.get-nearrtric-by-idgnbcucpfunction`"/>
154                                     </execute>
155                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
156                                         <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
157                                         <parameter name="level" value="info" />
158                                         <parameter name="field1" value="URL for CPS TDBMT to Get NearRTRIC for idGNBCUCPFunction"/>
159                                         <parameter name='field2' value="`$tmp.cps.getNearRTRICByidGNBCUCPFunction.url`" />
160                                     </record>
161                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
162                                         <parameter name="restapiUrl" value="`$tmp.cps.getNearRTRICByidGNBCUCPFunction.url`"/>
163                                         <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-get-nearrtric-by-idgnbcucpfunction.json'`" />
164                                         <parameter name="httpMethod" value="POST"/>
165                                         <parameter name="responsePrefix" value="getNFNSSIRIC-cps-response"/>
166                                         <parameter name='contentType' value='application/json' />
167                                         <parameter name='format' value='json' />
168                                         <parameter name='accept' value='application/json' />
169                                         <parameter name="convertResponse" value="true"/>
170                                         <outcome value='failure'>
171                                             <block>
172                                                 <set>
173                                                     <parameter name='error-code' value='500'/>
174                                                     <parameter name='error-message' value='Error Getting Info from CPS. Aborting RPC executiopn'/>
175                                                 </set>
176                                             </block>
177                                         </outcome>
178                                         <outcome value='success'>
179                                             <block atomic='true'>
180                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>
181                                                     <parameter name='outputPath' value='tmp.nearRTRICId' />
182                                                     <parameter name='source' value="`'getNFNSSIRIC-cps-response.[0]'`" />
183                                                 </execute>
184                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
185                                                     <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
186                                                     <parameter name="level" value="info" />
187                                                     <parameter name="field1" value="Successfully Obtained NearRTRIC ID info from CPS"/>
188                                                     <parameter name="field2" value="`$tmp.nearRTRICId`"/>
189                                                 </record>
190                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
191                                                     <parameter name='filename' value='/opt/opendaylight/current/data/log/generic-neighbor-config-context.log' />
192                                                 </execute>
193                                             </block>
194                                         </outcome>
195                                     </execute>
196                                 </block>
197                             </block>
198                         </outcome>
199                     </switch>
200                 </block>
201             </for>
202             <switch test='`$prop.ransim-mounted`'>
203                 <outcome value='false'>
204                     <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
205                         <block atomic='true'>
206                             <set>
207                                 <parameter name="tmp.alias" value="`$generic-neighbor-configuration-input.alias`"/>
208                                 <parameter name="tmp.plmnid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`"/>
209                                 <parameter name="tmp.cid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
210                                 <parameter name="tmp.phy-cell-id" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`"/>
211                                 <parameter name="tmp.pnf-name" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
212                                 <parameter name="tmp.blacklisted" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`"/>
213                             </set>
214                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
215                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
216                                 <parameter name="level" value="info" />
217                                 <parameter name="field1" value="Temporary varaibles set. Neighbor #:  "/>
218                                 <parameter name="field2" value="`$idx`"/>
219                                 <parameter name="field3" value="`$tmp.plmnid`"/>
220                                 <parameter name="field4" value="`$tmp.cid`"/>
221                                 <parameter name="field5" value="`$tmp.phy-cell-id`"/>
222                                 <parameter name="field6" value="`$tmp.pnf-name`"/>
223                                 <parameter name="field7" value="`$tmp.blacklisted`"/>
224                             </record>
225                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
226                                 <parameter name="source" value="`$prop.restapi.lte-ran-neighbor-in-use`"/>
227                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
228                                 <parameter name="target" value="{alias}"/>
229                                 <parameter name="replacement" value="`$tmp.alias`"/>
230                             </execute>
231                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
232                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
233                                 <parameter name="level" value="info" />
234                                 <parameter name="field1" value="Config Neighbor List URL"/>
235                                 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
236                             </record>
237                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
238                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
239                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
240                                 <parameter name="target" value="{plmnid}"/>
241                                 <parameter name="replacement" value="`$tmp.plmnid`"/>
242                             </execute>
243                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
244                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
245                                 <parameter name="level" value="info" />
246                                 <parameter name="field1" value="Config Neighbor List URL"/>
247                                 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
248                             </record>
249                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
250                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
251                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
252                                 <parameter name="target" value="{cid}"/>
253                                 <parameter name="replacement" value="`$tmp.cid`"/>
254                             </execute>
255                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
256                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
257                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
258                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
259                                 <parameter name="httpMethod" value="GET"/>
260                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
261                                 <parameter name='contentType' value='application/json' />
262                                 <parameter name='format' value='json' />
263                                 <outcome value='failure'>
264                                     <return status='failure'>
265                                         <parameter name='ack-final' value='Y'/>
266                                         <parameter name="error-code" value="500" />
267                                         <parameter name="error-message" value="Error getting details about new neighbor " />
268                                     </return>
269                                 </outcome>
270                                 <outcome value='success'>
271                                     <block>
272                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
273                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
274                                             <parameter name="level" value="info" />
275                                             <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
276                                             <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
277                                             <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
278                                             <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
279                                             <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
280                                             <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
281                                         </record>
282                                     </block>
283                                 </outcome>
284                             </execute>
285                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
286                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-generic-neighbor-patch.json'`" />
287                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
288                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
289                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
290                                 <parameter name="httpMethod" value="PATCH"/>
291                                 <parameter name="responsePrefix" value="oofpci-neighbor-patch-response"/>
292                                 <parameter name='contentType' value='application/yang.patch+json' />
293                                 <parameter name='format' value='json' />
294                                 <parameter name='accept' value='application/yang.patch-status+json' />
295                                 <outcome value='failure'>
296                                     <block>
297                                         <return status='failure'>
298                                             <parameter name='ack-final' value='Y'/>
299                                             <parameter name="error-code" value="500" />
300                                             <parameter name="error-message" value="Error adding a new neighbor" />
301                                         </return>
302                                     </block>
303                                 </outcome>
304                                 <outcome value='success'>
305                                     <block>
306                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
307                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
308                                             <parameter name="level" value="info" />
309                                             <parameter name="field1" value="PATCH Neighbor Executed Successfully "/>
310                                         </record>
311                                     </block>
312                                 </outcome>
313                             </execute>
314                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
315                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
316                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
317                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
318                                 <parameter name="httpMethod" value="GET"/>
319                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
320                                 <parameter name='contentType' value='application/json' />
321                                 <parameter name='format' value='json' />
322                                 <outcome value='failure'>
323                                     <return status='failure'>
324                                         <parameter name='ack-final' value='Y'/>
325                                         <parameter name="error-code" value="500" />
326                                         <parameter name="error-message" value="Error getting details about new neighbor " />
327                                     </return>
328                                 </outcome>
329                                 <outcome value='success'>
330                                     <block>
331                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
332                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
333                                             <parameter name="level" value="info" />
334                                             <parameter name="field1" value="Details about Neighbor Post-configuration"/>
335                                             <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
336                                             <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
337                                             <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
338                                             <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
339                                             <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
340                                         </record>
341                                     </block>
342                                 </outcome>
343                             </execute>
344                             <switch test='`$prop.configdb-deployed`'>
345                                 <outcome value='false'>
346                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
347                                         <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
348                                         <parameter name="level" value="info" />
349                                         <parameter name="field1" value="ConfigDB Update Skipped"/>
350                                     </record>
351                                 </outcome>
352                                 <outcome value='true'>
353                                     <block atomic='true'>
354                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
355                                             <parameter name="source" value="`$prop.restapi.configdb.patch-ho-for-nbr`"/>
356                                             <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
357                                             <parameter name="target" value="{cellId}"/>
358                                             <parameter name="replacement" value="`$tmp.alias`"/>
359                                         </execute>
360                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
361                                             <parameter name="source" value="`$tmp.configdb.patch-ho-for-nbr.url`"/>
362                                             <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
363                                             <parameter name="target" value="{targetCellId}"/>
364                                             <parameter name="replacement" value="`$tmp.cid`"/>
365                                         </execute>
366                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
367                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
368                                             <parameter name="level" value="info" />
369                                             <parameter name="field1" value="URL for configDB PCI Update"/>
370                                             <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`" />
371                                             <parameter name='field3' value="`$tmp.alias`" />
372                                             <parameter name='field4' value="`$tmp.cid`" />
373                                         </record>
374                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
375                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-patch-configdb-ho-for-nbr.json'`" />
376                                             <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`"/>
377                                             <parameter name="httpMethod" value="PATCH"/>
378                                             <parameter name="responsePrefix" value="oofpci-configdb-response"/>
379                                             <parameter name='contentType' value='application/json' />
380                                             <parameter name='format' value='json' />
381                                             <parameter name='accept' value='application/json' />
382                                             <outcome value='failure'>
383                                                 <block>
384                                                     <return status='failure'>
385                                                         <parameter name='ack-final' value='Y'/>
386                                                         <parameter name="error-code" value="500" />
387                                                         <parameter name="error-message" value="Error updating configDB. Aborting Nbr HO configuration" />
388                                                     </return>
389                                                 </block>
390                                             </outcome>
391                                             <outcome value='success'>
392                                                 <block>
393                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
394                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
395                                                         <parameter name="level" value="info" />
396                                                         <parameter name="field1" value="HO Value for nbr updated in ConfigDB"/>
397                                                     </record>
398                                                 </block>
399                                             </outcome>
400                                         </execute>
401                                     </block>
402                                 </outcome>
403                             </switch>
404                         </block>
405                     </for>
406                 </outcome>
407                 <outcome value='true'>
408                     <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
409                         <block atomic='true'>
410                             <set>
411                                 <parameter name="tmp.alias" value="`$generic-neighbor-configuration-input.alias`"/>
412                                 <parameter name="tmp.plmnid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`"/>
413                                 <parameter name="tmp.cid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
414                                 <parameter name="tmp.phy-cell-id" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`"/>
415                                 <parameter name="tmp.pnf-name" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
416                                 <parameter name="tmp.blacklisted" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`"/>
417                             </set>
418                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
419                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
420                                 <parameter name="level" value="info" />
421                                 <parameter name="field1" value="Temporary varaibles set. Neighbor #:  "/>
422                                 <parameter name="field2" value="`$idx`"/>
423                                 <parameter name="field3" value="`$tmp.plmnid`"/>
424                                 <parameter name="field4" value="`$tmp.cid`"/>
425                                 <parameter name="field5" value="`$tmp.phy-cell-id`"/>
426                                 <parameter name="field6" value="`$tmp.pnf-name`"/>
427                                 <parameter name="field7" value="`$tmp.blacklisted`"/>
428                             </record>
429                             <switch test='`$tmp.blacklisted`'>
430                                 <outcome value='true'>
431                                     <block atomic='true'>
432                                         <set>
433                                             <parameter name='tmp.isHOAllowed' value='false' />
434                                         </set>
435                                     </block>
436                                 </outcome>
437                                 <outcome value='false'>
438                                     <block atomic='true'>
439                                         <set>
440                                             <parameter name='tmp.isHOAllowed' value='true' />
441                                         </set>
442                                     </block>
443                                 </outcome>
444                             </switch>
445                             <set>
446                                 <parameter name="tmp.idNRCellCU" value="`$generic-neighbor-configuration-input.alias`"/>
447                                 <parameter name="tmp.idNRCellRelation" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
448                                 <parameter name="tmp.idGNBCUCPFunction" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
449                             </set>
450                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
451                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
452                                 <parameter name="level" value="info" />
453                                 <parameter name="field1" value="idGNBCUCPFunction"/>
454                                 <parameter name="field2" value="`$tmp.idGNBCUCPFunction`"/>
455                                 <parameter name="field3" value="idNRCellCU"/>
456                                 <parameter name="field4" value="`$tmp.idNRCellCU`"/>
457                                 <parameter name="field5" value="idNRCellRelation"/>
458                                 <parameter name="field6" value="`$tmp.idNRCellRelation`"/>
459                                 <parameter name="field7" value="isHOAllowed"/>
460                                 <parameter name="field8" value="`$tmp.isHOAllowed`"/>
461                             </record>
462                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
463                                 <parameter name="source" value="`$prop.restapi.lte-ran-neighbor-in-use.ransim-mounted`"/>
464                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
465                                 <parameter name="target" value="{idNearRTRIC}"/>
466                                 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
467                             </execute>
468                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
469                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
470                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
471                                 <parameter name="target" value="{mountName}"/>
472                                 <parameter name="replacement" value="`$tmp.idGNBCUCPFunction`"/>
473                             </execute>
474                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
475                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
476                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
477                                 <parameter name="target" value="{idGNBCUCPFunction}"/>
478                                 <parameter name="replacement" value="`$tmp.idGNBCUCPFunction`"/>
479                             </execute>
480                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
481                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
482                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
483                                 <parameter name="target" value="{idNRCellCU}"/>
484                                 <parameter name="replacement" value="`$tmp.idNRCellCU`"/>
485                             </execute>
486                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
487                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
488                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
489                                 <parameter name="target" value="{idNRCellRelation}"/>
490                                 <parameter name="replacement" value="`$tmp.idNRCellRelation`"/>
491                             </execute>
492                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
493                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
494                                 <parameter name="level" value="info" />
495                                 <parameter name="field1" value="Config Neighbor List URL"/>
496                                 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
497                             </record>
498                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
499                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
500                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
501                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
502                                 <parameter name="httpMethod" value="GET"/>
503                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
504                                 <parameter name='contentType' value='application/json' />
505                                 <parameter name='format' value='json' />
506                                 <outcome value='failure'>
507                                     <return status='failure'>
508                                         <parameter name='ack-final' value='Y'/>
509                                         <parameter name="error-code" value="500" />
510                                         <parameter name="error-message" value="Error getting details about new neighbor " />
511                                     </return>
512                                 </outcome>
513                                 <outcome value='success'>
514                                     <block>
515                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
516                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
517                                             <parameter name="level" value="info" />
518                                             <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
519                                             <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
520                                             <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
521                                             <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
522                                             <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
523                                             <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
524                                         </record>
525                                     </block>
526                                 </outcome>
527                             </execute>
528                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
529                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-generic-neighbor-patch.json'`" />
530                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
531                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
532                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
533                                 <parameter name="httpMethod" value="PATCH"/>
534                                 <parameter name="responsePrefix" value="oofpci-neighbor-patch-response"/>
535                                 <parameter name='contentType' value='application/yang.patch+json' />
536                                 <parameter name='format' value='json' />
537                                 <parameter name='accept' value='application/yang.patch-status+json' />
538                                 <outcome value='failure'>
539                                     <block>
540                                         <return status='failure'>
541                                             <parameter name='ack-final' value='Y'/>
542                                             <parameter name="error-code" value="500" />
543                                             <parameter name="error-message" value="Error adding a new neighbor" />
544                                         </return>
545                                     </block>
546                                 </outcome>
547                                 <outcome value='success'>
548                                     <block>
549                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
550                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
551                                             <parameter name="level" value="info" />
552                                             <parameter name="field1" value="PATCH Neighbor Executed Successfully "/>
553                                         </record>
554                                     </block>
555                                 </outcome>
556                             </execute>
557                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
558                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
559                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
560                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
561                                 <parameter name="httpMethod" value="GET"/>
562                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
563                                 <parameter name='contentType' value='application/json' />
564                                 <parameter name='format' value='json' />
565                                 <outcome value='failure'>
566                                     <return status='failure'>
567                                         <parameter name='ack-final' value='Y'/>
568                                         <parameter name="error-code" value="500" />
569                                         <parameter name="error-message" value="Error getting details about new neighbor " />
570                                     </return>
571                                 </outcome>
572                                 <outcome value='success'>
573                                     <block>
574                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
575                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
576                                             <parameter name="level" value="info" />
577                                             <parameter name="field1" value="Details about Neighbor Post-configuration"/>
578                                             <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
579                                             <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
580                                             <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
581                                             <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
582                                             <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
583                                         </record>
584                                     </block>
585                                 </outcome>
586                             </execute>
587                             <switch test='`$prop.configdb-deployed`'>
588                                 <outcome value='false'>
589                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
590                                         <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
591                                         <parameter name="level" value="info" />
592                                         <parameter name="field1" value="ConfigDB Update Skipped"/>
593                                     </record>
594                                 </outcome>
595                                 <outcome value='true'>
596                                     <block atomic='true'>
597                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
598                                             <parameter name="source" value="`$prop.restapi.configdb.patch-ho-for-nbr`"/>
599                                             <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
600                                             <parameter name="target" value="{cellId}"/>
601                                             <parameter name="replacement" value="`$tmp.alias`"/>
602                                         </execute>
603                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
604                                             <parameter name="source" value="`$tmp.configdb.patch-ho-for-nbr.url`"/>
605                                             <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
606                                             <parameter name="target" value="{targetCellId}"/>
607                                             <parameter name="replacement" value="`$tmp.cid`"/>
608                                         </execute>
609                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
610                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
611                                             <parameter name="level" value="info" />
612                                             <parameter name="field1" value="URL for configDB PCI Update"/>
613                                             <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`" />
614                                             <parameter name='field3' value="`$tmp.alias`" />
615                                             <parameter name='field4' value="`$tmp.cid`" />
616                                         </record>
617                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
618                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-patch-configdb-ho-for-nbr.json'`" />
619                                             <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`"/>
620                                             <parameter name="httpMethod" value="PATCH"/>
621                                             <parameter name="responsePrefix" value="oofpci-configdb-response"/>
622                                             <parameter name='contentType' value='application/json' />
623                                             <parameter name='format' value='json' />
624                                             <parameter name='accept' value='application/json' />
625                                             <outcome value='failure'>
626                                                 <block>
627                                                     <return status='failure'>
628                                                         <parameter name='ack-final' value='Y'/>
629                                                         <parameter name="error-code" value="500" />
630                                                         <parameter name="error-message" value="Error updating configDB. Aborting Nbr HO configuration" />
631                                                     </return>
632                                                 </block>
633                                             </outcome>
634                                             <outcome value='success'>
635                                                 <block>
636                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
637                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
638                                                         <parameter name="level" value="info" />
639                                                         <parameter name="field1" value="HO Value for nbr updated in ConfigDB"/>
640                                                     </record>
641                                                 </block>
642                                             </outcome>
643                                         </execute>
644                                     </block>
645                                 </outcome>
646                             </switch>
647                         </block>
648                     </for>
649                 </outcome>
650             </switch>
651             <block atomic='true'>
652                 <execute plugin="org.onap.ccsdk.sli.plugins.template.TemplateNode" method="evaluateTemplate" >
653                     <parameter name='templatePath' value='oofpcipoc-dmaap-publish-modifyconfiganr-resp-payload-template.vtl' />
654                     <parameter name='output' value='resp-payload' />
655                     <parameter name='prefix' value='sdnr' />
656                     <outcome value='success'>
657                         <block atomic='true'>
658                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
659                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
660                                 <parameter name="level" value="info" />
661                                 <parameter name="field1" value="__TIMESTAMP__"/>
662                                 <parameter name="field2" value="Redndred sdnr payload template as a string"/>
663                                 <parameter name='field3' value='`$sdnr.resp-payload`' />
664                             </record>
665                         </block>
666                     </outcome>
667                     <outcome value='failure'>
668                         <block>
669                             <return status='failure'>
670                                 <parameter name='ack-final' value='Y'/>
671                                 <parameter name="error-code" value="500" />
672                                 <parameter name="error-message" value="Error creating SDNR response payload string. Aborting Generic neighbor  configuration" />
673                             </return>
674                         </block>
675                     </outcome>
676                 </execute>
677                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
678                     <parameter name="source" value="`$sdnr.resp-payload`"/>
679                     <parameter name="outputPath" value="tmp.oofpcipoc-dmaap-config-resp.payload"/>
680                     <parameter name="target" value="\n"/>
681                     <parameter name="replacement" value=""/>
682                     <outcome value='success'>
683                         <block atomic='true'>
684                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
685                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
686                                 <parameter name="level" value="info" />
687                                 <parameter name="field1" value="__TIMESTAMP__"/>
688                                 <parameter name="field2" value="Redndred template with lines removed \r"/>
689                                 <parameter name='field3' value='`$tmp.oofpcipoc-dmaap-config-resp.payload`' />
690                             </record>
691                         </block>
692                     </outcome>
693                     <outcome value='failure'>
694                         <block>
695                             <return status='failure'>
696                                 <parameter name='ack-final' value='Y'/>
697                                 <parameter name="error-code" value="500" />
698                                 <parameter name="error-message" value="Error removing lines from SDNR response payload string. Aborting Generic neighbor  configuration" />
699                             </return>
700                         </block>
701                     </outcome>
702                 </execute>
703                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
704                     <parameter name="source" value="`$tmp.oofpcipoc-dmaap-config-resp.payload`"/>
705                     <parameter name="outputPath" value="tmp.oofpcipoc-dmaap-config-resp.payload"/>
706                     <parameter name="target" value="\t"/>
707                     <parameter name="replacement" value=""/>
708                     <outcome value='success'>
709                         <block atomic='true'>
710                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
711                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
712                                 <parameter name="level" value="info" />
713                                 <parameter name="field1" value="__TIMESTAMP__"/>
714                                 <parameter name="field2" value="Redndred template with tabs removed \r"/>
715                                 <parameter name='field3' value='`$tmp.oofpcipoc-dmaap-config-resp.payload`' />
716                             </record>
717                         </block>
718                     </outcome>
719                     <outcome value='failure'>
720                         <block>
721                             <return status='failure'>
722                                 <parameter name='ack-final' value='Y'/>
723                                 <parameter name="error-code" value="500" />
724                                 <parameter name="error-message" value="Error removing tabs from SDNR response payload string. Aborting Generic neighbor configuration" />
725                             </return>
726                         </block>
727                     </outcome>
728                 </execute>
729             </block>
730             <block atomic='true'>
731                 <set>
732                     <parameter name='tmp.oofpcipoc-dmaap-config-resp.rpc-name' value='`$prop.oofpcipoc-dmaap-config-resp.rpc-name.modifyconfiganr`'/>
733                 </set>
734                 <block atomic='true'>
735                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
736                         <parameter name="source" value="`$prop.oofpcipoc-dmaap-config-resp.timestamp`"/>
737                         <parameter name="outputPath" value="prop.oofpcipoc-dmaap-config-resp.timestamp"/>
738                         <parameter name="target" value='"'/>
739                         <parameter name="replacement" value=''/>
740                         <outcome value='success'>
741                             <block atomic='true'>
742                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
743                                     <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
744                                     <parameter name="level" value="info" />
745                                     <parameter name="field1" value="Quotation removed from timestamp for DMAAP response header \r"/>
746                                     <parameter name="field2" value="`$prop.oofpcipoc-dmaap-config-resp.timestamp`"/>
747                                 </record>
748                             </block>
749                         </outcome>
750                         <outcome value='failure'>
751                             <block>
752                                 <return status='failure'>
753                                     <parameter name='ack-final' value='Y'/>
754                                     <parameter name="error-code" value="500" />
755                                     <parameter name="error-message" value="Error removing quotation from timestamp for DMAAP response header. Aborting Generic neighbor  configuration" />
756                                 </return>
757                             </block>
758                         </outcome>
759                     </execute>
760                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
761                         <parameter name="source" value="`$prop.oofpcipoc-dmaap-config-resp.requestID`"/>
762                         <parameter name="outputPath" value="prop.oofpcipoc-dmaap-config-resp.requestID"/>
763                         <parameter name="target" value='"'/>
764                         <parameter name="replacement" value=''/>
765                         <outcome value='success'>
766                             <block atomic='true'>
767                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
768                                     <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
769                                     <parameter name="level" value="info" />
770                                     <parameter name="field1" value="Quotation removed from requestID for DMAAP response header \r"/>
771                                     <parameter name="field2" value="`$prop.oofpcipoc-dmaap-config-resp.requestID`"/>
772                                 </record>
773                             </block>
774                         </outcome>
775                         <outcome value='failure'>
776                             <block>
777                                 <return status='failure'>
778                                     <parameter name='ack-final' value='Y'/>
779                                     <parameter name="error-code" value="500" />
780                                     <parameter name="error-message" value="Error removing quotation from requestID for DMAAP response header. Aborting Generic neighbor  configuration" />
781                                 </return>
782                             </block>
783                         </outcome>
784                     </execute>
785                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
786                         <parameter name="source" value="`$prop.oofpcipoc-dmaap-config-resp.subrequestID`"/>
787                         <parameter name="outputPath" value="prop.oofpcipoc-dmaap-config-resp.subrequestID"/>
788                         <parameter name="target" value='"'/>
789                         <parameter name="replacement" value=''/>
790                         <outcome value='success'>
791                             <block atomic='true'>
792                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
793                                     <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
794                                     <parameter name="level" value="info" />
795                                     <parameter name="field1" value="Quotation removed from subRequestID for DMAAP response header \r"/>
796                                     <parameter name="field2" value="`$prop.oofpcipoc-dmaap-config-resp.subrequestID`"/>
797                                 </record>
798                             </block>
799                         </outcome>
800                         <outcome value='failure'>
801                             <block>
802                                 <return status='failure'>
803                                     <parameter name='ack-final' value='Y'/>
804                                     <parameter name="error-code" value="500" />
805                                     <parameter name="error-message" value="Error removing quotation from timestamp for DMAAP response header. Aborting Generic neighbor  configuration" />
806                                 </return>
807                             </block>
808                         </outcome>
809                     </execute>
810                 </block>
811                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
812                     <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
813                     <parameter name="level" value="info" />
814                     <parameter name="field1" value="__TIMESTAMP__"/>
815                     <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
816                     <parameter name='field3' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-config-response.template`" />
817                     <parameter name='field4' value="`$prop.dmaap-message-router.url + '/' + $prop.oofpcipoc-dmaap-configuration-response.topic`" />
818                     <parameter name="field5" value="Before DMAAP Event - Timestamp, RequestID, subRequestID"/>
819                     <parameter name="field6" value="`$prop.oofpcipoc-dmaap-config-resp.timestamp`"/>
820                     <parameter name="field7" value="`$prop.oofpcipoc-dmaap-config-resp.requestID`"/>
821                     <parameter name="field8" value="`$prop.oofpcipoc-dmaap-config-resp.subrequestID`"/>
822                 </record>
823                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
824                     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-config-response.template`" />
825                     <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + '/' + $prop.oofpcipoc-dmaap-configuration-response.topic`" />
826                     <parameter name='format' value='json' />
827                     <parameter name='httpMethod' value='POST' />
828                     <parameter name='contentType' value='application/json' />
829                     <parameter name='responsePrefix' value='dmaap' />
830                     <outcome value='failure'>
831                         <block>
832                             <return status='failure'>
833                                 <parameter name='ack-final' value='Y'/>
834                                 <parameter name="error-code" value="500" />
835                                 <parameter name="error-message" value="Error publishing DMAAP Config Response message. ConfigDB Updated; TO be rolled back...will handle next release" />
836                             </return>
837                         </block>
838                     </outcome>
839                     <outcome value='success'>
840                         <block>
841                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
842                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
843                                 <parameter name="level" value="info" />
844                                 <parameter name="field1" value="DMAAP Config Response Message Successfully Published "/>
845                             </record>
846                         </block>
847                     </outcome>
848                 </execute>
849             </block>
850             <return status='success'>
851                 <parameter name="ack-final-indicator" value="Y" />
852                 <parameter name="error-code" value="200" />
853                 <parameter name="error-message" value="SUCCESSFUL Execution" />
854             </return>
855         </block>
856     </method>
857 </service-logic>