Merge "Generic Neighbor Configuration dg - Bug Fix"
[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                             <switch test='`$tmp.blacklisted`'>
215                                 <outcome value='true'>
216                                     <block atomic='true'>
217                                         <set>
218                                             <parameter name='tmp.isHOAllowed' value='false' />
219                                         </set>
220                                     </block>
221                                 </outcome>
222                                 <outcome value='false'>
223                                     <block atomic='true'>
224                                         <set>
225                                             <parameter name='tmp.isHOAllowed' value='true' />
226                                         </set>
227                                     </block>
228                                 </outcome>
229                             </switch>
230                             <set>
231                                 <parameter name="tmp.idNRCellCU" value="`$generic-neighbor-configuration-input.alias`"/>
232                                 <parameter name="tmp.idNRCellRelation" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
233                                 <parameter name="tmp.idGNBCUCPFunction" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
234                             </set>
235                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
236                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
237                                 <parameter name="level" value="info" />
238                                 <parameter name="field1" value="idGNBCUCPFunction"/>
239                                 <parameter name="field2" value="`$tmp.idGNBCUCPFunction`"/>
240                                 <parameter name="field3" value="idNRCellCU"/>
241                                 <parameter name="field4" value="`$tmp.idNRCellCU`"/>
242                                 <parameter name="field5" value="idNRCellRelation"/>
243                                 <parameter name="field6" value="`$tmp.idNRCellRelation`"/>
244                                 <parameter name="field7" value="isHOAllowed"/>
245                                 <parameter name="field8" value="`$tmp.isHOAllowed`"/>
246                             </record>
247                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
248                                 <parameter name="source" value="`$prop.restapi.patchNRCellRelation`"/>
249                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
250                                 <parameter name="target" value="{idNearRTRIC}"/>
251                                 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
252                             </execute>
253                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
254                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
255                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
256                                 <parameter name="target" value="{idGNBCUCPFunction}"/>
257                                 <parameter name="replacement" value="`$tmp.idGNBCUCPFunction`"/>
258                             </execute>
259                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
260                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
261                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
262                                 <parameter name="target" value="{idNRCellCU}"/>
263                                 <parameter name="replacement" value="`$tmp.idNRCellCU`"/>
264                             </execute>
265                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
266                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
267                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
268                                 <parameter name="target" value="{idNRCellRelation}"/>
269                                 <parameter name="replacement" value="`$tmp.idNRCellRelation`"/>
270                             </execute>
271                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
272                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
273                                 <parameter name="level" value="info" />
274                                 <parameter name="field1" value="Config Neighbor List URL"/>
275                                 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
276                             </record>
277                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
278                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
279                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
280                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
281                                 <parameter name="httpMethod" value="GET"/>
282                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
283                                 <parameter name='contentType' value='application/json' />
284                                 <parameter name='format' value='json' />
285                                 <outcome value='failure'>
286                                     <return status='failure'>
287                                         <parameter name='ack-final' value='Y'/>
288                                         <parameter name="error-code" value="500" />
289                                         <parameter name="error-message" value="Error getting details about new neighbor " />
290                                     </return>
291                                 </outcome>
292                                 <outcome value='success'>
293                                     <block>
294                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
295                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
296                                             <parameter name="level" value="info" />
297                                             <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
298                                             <parameter name="field2" value="`$oofpci-neighbor-response.attributes.nRTCI`"/>
299                                             <parameter name="field3" value="`$oofpci-neighbor-response.attributes.isHOAllowed`"/>
300                                         </record>
301                                     </block>
302                                 </outcome>
303                             </execute>
304                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
305                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-generic-neighbor-patch.json'`" />
306                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
307                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
308                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
309                                 <parameter name="httpMethod" value="PATCH"/>
310                                 <parameter name="responsePrefix" value="oofpci-neighbor-patch-response"/>
311                                 <parameter name='contentType' value='application/yang.patch+json' />
312                                 <parameter name='format' value='json' />
313                                 <parameter name='accept' value='application/yang.patch-status+json' />
314                                 <outcome value='failure'>
315                                     <block>
316                                         <return status='failure'>
317                                             <parameter name='ack-final' value='Y'/>
318                                             <parameter name="error-code" value="500" />
319                                             <parameter name="error-message" value="Error adding a new neighbor" />
320                                         </return>
321                                     </block>
322                                 </outcome>
323                                 <outcome value='success'>
324                                     <block>
325                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
326                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
327                                             <parameter name="level" value="info" />
328                                             <parameter name="field1" value="PATCH Neighbor Executed Successfully "/>
329                                         </record>
330                                     </block>
331                                 </outcome>
332                             </execute>
333                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
334                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
335                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
336                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
337                                 <parameter name="httpMethod" value="GET"/>
338                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
339                                 <parameter name='contentType' value='application/json' />
340                                 <parameter name='format' value='json' />
341                                 <outcome value='failure'>
342                                     <return status='failure'>
343                                         <parameter name='ack-final' value='Y'/>
344                                         <parameter name="error-code" value="500" />
345                                         <parameter name="error-message" value="Error getting details about new neighbor " />
346                                     </return>
347                                 </outcome>
348                                 <outcome value='success'>
349                                     <block>
350                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
351                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
352                                             <parameter name="level" value="info" />
353                                             <parameter name="field1" value="Details about Neighbor Post-configuration"/>
354                                             <parameter name="field2" value="`$oofpci-neighbor-response.attributes.nRTCI`"/>
355                                             <parameter name="field3" value="`$oofpci-neighbor-response.attributes.isHOAllowed`"/>
356                                         </record>
357                                     </block>
358                                 </outcome>
359                             </execute>
360                             <switch test='`$prop.configdb-deployed`'>
361                                 <outcome value='false'>
362                                     <block atomic='true'>
363                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
364                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
365                                             <parameter name="level" value="info" />
366                                             <parameter name="field1" value="CPS is Deployed, ConfigDB Skipped"/>
367                                         </record>
368                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
369                                             <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
370                                             <parameter name="outputPath" value="tmp.cps.putho.nrcellrelation.url"/>
371                                             <parameter name="target" value="{schemaSet}"/>
372                                             <parameter name="replacement" value="`$tmp.schemaset.name`"/>
373                                         </execute>
374                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
375                                             <parameter name="source" value="`$tmp.cps.putho.nrcellrelation.url`"/>
376                                             <parameter name="outputPath" value="tmp.cps.putho.nrcellrelation.url"/>
377                                             <parameter name="target" value="{templateId}"/>
378                                             <parameter name="replacement" value="`$prop.tbdmt.template.put-ho-nrcellrelation`"/>
379                                         </execute>
380                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
381                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
382                                             <parameter name="level" value="info" />
383                                             <parameter name="field1" value="URL for CPS TDBMT to put ho NRCellRelation"/>
384                                             <parameter name='field2' value="`$tmp.cps.putho.nrcellrelation.url`" />
385                                         </record>
386                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
387                                             <parameter name="restapiUrl" value="`$tmp.cps.putho.nrcellrelation.url`"/>
388                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-put-ho.json'`" />
389                                             <parameter name="httpMethod" value="POST"/>
390                                             <parameter name="responsePrefix" value="cps-put-ho-nrcellrelation-response"/>
391                                             <parameter name='contentType' value='application/json' />
392                                             <parameter name='format' value='json' />
393                                             <parameter name='accept' value='application/json' />
394                                             <parameter name="convertResponse" value="true"/>
395                                             <outcome value='failure'>
396                                                 <block atomic='true'>
397                                                     <set>
398                                                         <parameter name='error-code' value='500'/>
399                                                         <parameter name='error-message' value='Error updating nearRTRIC info in CPS. Aborting RPC executiopn'/>
400                                                     </set>
401                                                     <return status='failure'>
402                                                         <parameter name='ack-final' value='Y'/>
403                                                         <parameter name='error-code' value='500'/>
404                                                         <parameter name='error-message' value='Error updating nearRTRIC info in ConfigDB. Aborting RPC executiopn'/>
405                                                     </return>
406                                                 </block>
407                                             </outcome>
408                                             <outcome value='success'>
409                                                 <block atomic='true'>
410                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
411                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
412                                                         <parameter name="level" value="info" />
413                                                         <parameter name="field1" value="Successfully Updated NRCellRelation info in cps"/>
414                                                     </record>
415                                                 </block>
416                                             </outcome>
417                                         </execute>
418                                     </block>
419                                 </outcome>
420                                 <outcome value='true'>
421                                     <block atomic='true'>
422                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
423                                             <parameter name="source" value="`$prop.restapi.configdb.patch-ho-for-nbr`"/>
424                                             <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
425                                             <parameter name="target" value="{cellId}"/>
426                                             <parameter name="replacement" value="`$tmp.alias`"/>
427                                         </execute>
428                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
429                                             <parameter name="source" value="`$tmp.configdb.patch-ho-for-nbr.url`"/>
430                                             <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
431                                             <parameter name="target" value="{targetCellId}"/>
432                                             <parameter name="replacement" value="`$tmp.cid`"/>
433                                         </execute>
434                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
435                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
436                                             <parameter name="level" value="info" />
437                                             <parameter name="field1" value="URL for configDB PCI Update"/>
438                                             <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`" />
439                                             <parameter name='field3' value="`$tmp.alias`" />
440                                             <parameter name='field4' value="`$tmp.cid`" />
441                                         </record>
442                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
443                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-patch-configdb-ho-for-nbr.json'`" />
444                                             <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`"/>
445                                             <parameter name="httpMethod" value="PATCH"/>
446                                             <parameter name="responsePrefix" value="oofpci-configdb-response"/>
447                                             <parameter name='contentType' value='application/json' />
448                                             <parameter name='format' value='json' />
449                                             <parameter name='accept' value='application/json' />
450                                             <outcome value='failure'>
451                                                 <block>
452                                                     <return status='failure'>
453                                                         <parameter name='ack-final' value='Y'/>
454                                                         <parameter name="error-code" value="500" />
455                                                         <parameter name="error-message" value="Error updating configDB. Aborting Nbr HO configuration" />
456                                                     </return>
457                                                 </block>
458                                             </outcome>
459                                             <outcome value='success'>
460                                                 <block>
461                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
462                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
463                                                         <parameter name="level" value="info" />
464                                                         <parameter name="field1" value="HO Value for nbr updated in ConfigDB"/>
465                                                     </record>
466                                                 </block>
467                                             </outcome>
468                                         </execute>
469                                     </block>
470                                 </outcome>
471                             </switch>
472                         </block>
473                     </for>
474                 </outcome>
475                 <outcome value='true'>
476                     <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
477                         <block atomic='true'>
478                             <set>
479                                 <parameter name="tmp.alias" value="`$generic-neighbor-configuration-input.alias`"/>
480                                 <parameter name="tmp.plmnid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`"/>
481                                 <parameter name="tmp.cid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
482                                 <parameter name="tmp.phy-cell-id" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`"/>
483                                 <parameter name="tmp.pnf-name" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
484                                 <parameter name="tmp.blacklisted" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`"/>
485                             </set>
486                             <switch test='`$tmp.blacklisted`'>
487                                 <outcome value='true'>
488                                     <block atomic='true'>
489                                         <set>
490                                             <parameter name='tmp.isHOAllowed' value='false' />
491                                         </set>
492                                     </block>
493                                 </outcome>
494                                 <outcome value='false'>
495                                     <block atomic='true'>
496                                         <set>
497                                             <parameter name='tmp.isHOAllowed' value='true' />
498                                         </set>
499                                     </block>
500                                 </outcome>
501                             </switch>
502                             <set>
503                                 <parameter name="tmp.idNRCellCU" value="`$generic-neighbor-configuration-input.alias`"/>
504                                 <parameter name="tmp.idNRCellRelation" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
505                                 <parameter name="tmp.idGNBCUCPFunction" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
506                             </set>
507                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
508                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
509                                 <parameter name="level" value="info" />
510                                 <parameter name="field1" value="idGNBCUCPFunction"/>
511                                 <parameter name="field2" value="`$tmp.idGNBCUCPFunction`"/>
512                                 <parameter name="field3" value="idNRCellCU"/>
513                                 <parameter name="field4" value="`$tmp.idNRCellCU`"/>
514                                 <parameter name="field5" value="idNRCellRelation"/>
515                                 <parameter name="field6" value="`$tmp.idNRCellRelation`"/>
516                                 <parameter name="field7" value="isHOAllowed"/>
517                                 <parameter name="field8" value="`$tmp.isHOAllowed`"/>
518                             </record>
519                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
520                                 <parameter name="source" value="`$prop.restapi.patchNRCellRelation.ransim-mounted`"/>
521                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
522                                 <parameter name="target" value="{idNearRTRIC}"/>
523                                 <parameter name="replacement" value="`$tmp.nearRTRICId`"/>
524                             </execute>
525                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
526                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
527                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
528                                 <parameter name="target" value="{mountName}"/>
529                                 <parameter name="replacement" value="`$tmp.idGNBCUCPFunction`"/>
530                             </execute>
531                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
532                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
533                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
534                                 <parameter name="target" value="{idGNBCUCPFunction}"/>
535                                 <parameter name="replacement" value="`$tmp.idGNBCUCPFunction`"/>
536                             </execute>
537                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
538                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
539                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
540                                 <parameter name="target" value="{idNRCellCU}"/>
541                                 <parameter name="replacement" value="`$tmp.idNRCellCU`"/>
542                             </execute>
543                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
544                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
545                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
546                                 <parameter name="target" value="{idNRCellRelation}"/>
547                                 <parameter name="replacement" value="`$tmp.idNRCellRelation`"/>
548                             </execute>
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="Config Neighbor List URL"/>
553                                 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
554                             </record>
555                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
556                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
557                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
558                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
559                                 <parameter name="httpMethod" value="GET"/>
560                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
561                                 <parameter name='contentType' value='application/json' />
562                                 <parameter name='format' value='json' />
563                                 <outcome value='failure'>
564                                     <return status='failure'>
565                                         <parameter name='ack-final' value='Y'/>
566                                         <parameter name="error-code" value="500" />
567                                         <parameter name="error-message" value="Error getting details about new neighbor " />
568                                     </return>
569                                 </outcome>
570                                 <outcome value='success'>
571                                     <block>
572                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
573                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
574                                             <parameter name="level" value="info" />
575                                             <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
576                                             <parameter name="field2" value="`$oofpci-neighbor-response.attributes.nRTCI`"/>
577                                             <parameter name="field3" value="`$oofpci-neighbor-response.attributes.isHOAllowed`"/>
578                                         </record>
579                                     </block>
580                                 </outcome>
581                             </execute>
582                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
583                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-generic-neighbor-patch.json'`" />
584                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
585                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
586                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
587                                 <parameter name="httpMethod" value="PATCH"/>
588                                 <parameter name="responsePrefix" value="oofpci-neighbor-patch-response"/>
589                                 <parameter name='contentType' value='application/yang.patch+json' />
590                                 <parameter name='format' value='json' />
591                                 <parameter name='accept' value='application/yang.patch-status+json' />
592                                 <outcome value='failure'>
593                                     <block>
594                                         <return status='failure'>
595                                             <parameter name='ack-final' value='Y'/>
596                                             <parameter name="error-code" value="500" />
597                                             <parameter name="error-message" value="Error adding a new neighbor" />
598                                         </return>
599                                     </block>
600                                 </outcome>
601                                 <outcome value='success'>
602                                     <block>
603                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
604                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
605                                             <parameter name="level" value="info" />
606                                             <parameter name="field1" value="PATCH Neighbor Executed Successfully "/>
607                                         </record>
608                                     </block>
609                                 </outcome>
610                             </execute>
611                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
612                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
613                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
614                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
615                                 <parameter name="httpMethod" value="GET"/>
616                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
617                                 <parameter name='contentType' value='application/json' />
618                                 <parameter name='format' value='json' />
619                                 <outcome value='failure'>
620                                     <return status='failure'>
621                                         <parameter name='ack-final' value='Y'/>
622                                         <parameter name="error-code" value="500" />
623                                         <parameter name="error-message" value="Error getting details about new neighbor " />
624                                     </return>
625                                 </outcome>
626                                 <outcome value='success'>
627                                     <block>
628                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
629                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
630                                             <parameter name="level" value="info" />
631                                             <parameter name="field1" value="Details about Neighbor Post-configuration"/>
632                                             <parameter name="field2" value="`$oofpci-neighbor-response.attributes.nRTCI`"/>
633                                             <parameter name="field3" value="`$oofpci-neighbor-response.attributes.isHOAllowed`"/>
634                                         </record>
635                                     </block>
636                                 </outcome>
637                             </execute>
638                             <switch test='`$prop.configdb-deployed`'>
639                                 <outcome value='false'>
640                                     <block atomic='true'>
641                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
642                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
643                                             <parameter name="level" value="info" />
644                                             <parameter name="field1" value="CPS is Deployed, ConfigDB Skipped"/>
645                                         </record>
646                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
647                                             <parameter name="source" value="`$prop.restapi.cps.tbdmt.execute.endpoint`"/>
648                                             <parameter name="outputPath" value="tmp.cps.putho.nrcellrelation.url"/>
649                                             <parameter name="target" value="{schemaSet}"/>
650                                             <parameter name="replacement" value="`$tmp.schemaset.name`"/>
651                                         </execute>
652                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
653                                             <parameter name="source" value="`$tmp.cps.putho.nrcellrelation.url`"/>
654                                             <parameter name="outputPath" value="tmp.cps.putho.nrcellrelation.url"/>
655                                             <parameter name="target" value="{templateId}"/>
656                                             <parameter name="replacement" value="`$prop.tbdmt.template.put-ho-nrcellrelation`"/>
657                                         </execute>
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="URL for CPS TDBMT to put ho NRCellRelation"/>
662                                             <parameter name='field2' value="`$tmp.cps.putho.nrcellrelation.url`" />
663                                         </record>
664                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
665                                             <parameter name="restapiUrl" value="`$tmp.cps.putho.nrcellrelation.url`"/>
666                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/cps-templates/cps-put-ho.json'`" />
667                                             <parameter name="httpMethod" value="POST"/>
668                                             <parameter name="responsePrefix" value="cps-put-ho-nrcellrelation-response"/>
669                                             <parameter name='contentType' value='application/json' />
670                                             <parameter name='format' value='json' />
671                                             <parameter name='accept' value='application/json' />
672                                             <parameter name="convertResponse" value="true"/>
673                                             <outcome value='failure'>
674                                                 <block atomic='true'>
675                                                     <set>
676                                                         <parameter name='error-code' value='500'/>
677                                                         <parameter name='error-message' value='Error updating nearRTRIC info in CPS. Aborting RPC executiopn'/>
678                                                     </set>
679                                                     <return status='failure'>
680                                                         <parameter name='ack-final' value='Y'/>
681                                                         <parameter name='error-code' value='500'/>
682                                                         <parameter name='error-message' value='Error updating nearRTRIC info in ConfigDB. Aborting RPC executiopn'/>
683                                                     </return>
684                                                 </block>
685                                             </outcome>
686                                             <outcome value='success'>
687                                                 <block atomic='true'>
688                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
689                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
690                                                         <parameter name="level" value="info" />
691                                                         <parameter name="field1" value="Successfully Updated NRCellRelation info in cps"/>
692                                                     </record>
693                                                 </block>
694                                             </outcome>
695                                         </execute>
696                                     </block>
697                                 </outcome>
698                                 <outcome value='true'>
699                                     <block atomic='true'>
700                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
701                                             <parameter name="source" value="`$prop.restapi.configdb.patch-ho-for-nbr`"/>
702                                             <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
703                                             <parameter name="target" value="{cellId}"/>
704                                             <parameter name="replacement" value="`$tmp.alias`"/>
705                                         </execute>
706                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
707                                             <parameter name="source" value="`$tmp.configdb.patch-ho-for-nbr.url`"/>
708                                             <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
709                                             <parameter name="target" value="{targetCellId}"/>
710                                             <parameter name="replacement" value="`$tmp.cid`"/>
711                                         </execute>
712                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
713                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
714                                             <parameter name="level" value="info" />
715                                             <parameter name="field1" value="URL for configDB PCI Update"/>
716                                             <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`" />
717                                             <parameter name='field3' value="`$tmp.alias`" />
718                                             <parameter name='field4' value="`$tmp.cid`" />
719                                         </record>
720                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
721                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-patch-configdb-ho-for-nbr.json'`" />
722                                             <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`"/>
723                                             <parameter name="httpMethod" value="PATCH"/>
724                                             <parameter name="responsePrefix" value="oofpci-configdb-response"/>
725                                             <parameter name='contentType' value='application/json' />
726                                             <parameter name='format' value='json' />
727                                             <parameter name='accept' value='application/json' />
728                                             <outcome value='failure'>
729                                                 <block>
730                                                     <return status='failure'>
731                                                         <parameter name='ack-final' value='Y'/>
732                                                         <parameter name="error-code" value="500" />
733                                                         <parameter name="error-message" value="Error updating configDB. Aborting Nbr HO configuration" />
734                                                     </return>
735                                                 </block>
736                                             </outcome>
737                                             <outcome value='success'>
738                                                 <block>
739                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
740                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
741                                                         <parameter name="level" value="info" />
742                                                         <parameter name="field1" value="HO Value for nbr updated in ConfigDB"/>
743                                                     </record>
744                                                 </block>
745                                             </outcome>
746                                         </execute>
747                                     </block>
748                                 </outcome>
749                             </switch>
750                         </block>
751                     </for>
752                 </outcome>
753             </switch>
754             <block atomic='true'>
755                 <execute plugin="org.onap.ccsdk.sli.plugins.template.TemplateNode" method="evaluateTemplate" >
756                     <parameter name='templatePath' value='oofpcipoc-dmaap-publish-modifyconfiganr-resp-payload-template.vtl' />
757                     <parameter name='output' value='resp-payload' />
758                     <parameter name='prefix' value='sdnr' />
759                     <outcome value='success'>
760                         <block atomic='true'>
761                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
762                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
763                                 <parameter name="level" value="info" />
764                                 <parameter name="field1" value="__TIMESTAMP__"/>
765                                 <parameter name="field2" value="Redndred sdnr payload template as a string"/>
766                                 <parameter name='field3' value='`$sdnr.resp-payload`' />
767                             </record>
768                         </block>
769                     </outcome>
770                     <outcome value='failure'>
771                         <block>
772                             <return status='failure'>
773                                 <parameter name='ack-final' value='Y'/>
774                                 <parameter name="error-code" value="500" />
775                                 <parameter name="error-message" value="Error creating SDNR response payload string. Aborting Generic neighbor  configuration" />
776                             </return>
777                         </block>
778                     </outcome>
779                 </execute>
780                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
781                     <parameter name="source" value="`$sdnr.resp-payload`"/>
782                     <parameter name="outputPath" value="tmp.oofpcipoc-dmaap-config-resp.payload"/>
783                     <parameter name="target" value="\n"/>
784                     <parameter name="replacement" value=""/>
785                     <outcome value='success'>
786                         <block atomic='true'>
787                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
788                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
789                                 <parameter name="level" value="info" />
790                                 <parameter name="field1" value="__TIMESTAMP__"/>
791                                 <parameter name="field2" value="Redndred template with lines removed \r"/>
792                                 <parameter name='field3' value='`$tmp.oofpcipoc-dmaap-config-resp.payload`' />
793                             </record>
794                         </block>
795                     </outcome>
796                     <outcome value='failure'>
797                         <block>
798                             <return status='failure'>
799                                 <parameter name='ack-final' value='Y'/>
800                                 <parameter name="error-code" value="500" />
801                                 <parameter name="error-message" value="Error removing lines from SDNR response payload string. Aborting Generic neighbor  configuration" />
802                             </return>
803                         </block>
804                     </outcome>
805                 </execute>
806                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
807                     <parameter name="source" value="`$tmp.oofpcipoc-dmaap-config-resp.payload`"/>
808                     <parameter name="outputPath" value="tmp.oofpcipoc-dmaap-config-resp.payload"/>
809                     <parameter name="target" value="\t"/>
810                     <parameter name="replacement" value=""/>
811                     <outcome value='success'>
812                         <block atomic='true'>
813                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
814                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
815                                 <parameter name="level" value="info" />
816                                 <parameter name="field1" value="__TIMESTAMP__"/>
817                                 <parameter name="field2" value="Redndred template with tabs removed \r"/>
818                                 <parameter name='field3' value='`$tmp.oofpcipoc-dmaap-config-resp.payload`' />
819                             </record>
820                         </block>
821                     </outcome>
822                     <outcome value='failure'>
823                         <block>
824                             <return status='failure'>
825                                 <parameter name='ack-final' value='Y'/>
826                                 <parameter name="error-code" value="500" />
827                                 <parameter name="error-message" value="Error removing tabs from SDNR response payload string. Aborting Generic neighbor configuration" />
828                             </return>
829                         </block>
830                     </outcome>
831                 </execute>
832             </block>
833             <return status='success'>
834                 <parameter name="ack-final-indicator" value="Y" />
835                 <parameter name="error-code" value="200" />
836                 <parameter name="error-message" value="SUCCESSFUL Execution" />
837             </return>
838             <block atomic='true'>
839                 <set>
840                     <parameter name='tmp.oofpcipoc-dmaap-config-resp.rpc-name' value='`$prop.oofpcipoc-dmaap-config-resp.rpc-name.modifyconfiganr`'/>
841                 </set>
842                 <block atomic='true'>
843                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
844                         <parameter name="source" value="`$prop.oofpcipoc-dmaap-config-resp.timestamp`"/>
845                         <parameter name="outputPath" value="prop.oofpcipoc-dmaap-config-resp.timestamp"/>
846                         <parameter name="target" value='"'/>
847                         <parameter name="replacement" value=''/>
848                         <outcome value='success'>
849                             <block atomic='true'>
850                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
851                                     <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
852                                     <parameter name="level" value="info" />
853                                     <parameter name="field1" value="Quotation removed from timestamp for DMAAP response header \r"/>
854                                     <parameter name="field2" value="`$prop.oofpcipoc-dmaap-config-resp.timestamp`"/>
855                                 </record>
856                             </block>
857                         </outcome>
858                         <outcome value='failure'>
859                             <block>
860                                 <return status='failure'>
861                                     <parameter name='ack-final' value='Y'/>
862                                     <parameter name="error-code" value="500" />
863                                     <parameter name="error-message" value="Error removing quotation from timestamp for DMAAP response header. Aborting Generic neighbor  configuration" />
864                                 </return>
865                             </block>
866                         </outcome>
867                     </execute>
868                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
869                         <parameter name="source" value="`$prop.oofpcipoc-dmaap-config-resp.requestID`"/>
870                         <parameter name="outputPath" value="prop.oofpcipoc-dmaap-config-resp.requestID"/>
871                         <parameter name="target" value='"'/>
872                         <parameter name="replacement" value=''/>
873                         <outcome value='success'>
874                             <block atomic='true'>
875                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
876                                     <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
877                                     <parameter name="level" value="info" />
878                                     <parameter name="field1" value="Quotation removed from requestID for DMAAP response header \r"/>
879                                     <parameter name="field2" value="`$prop.oofpcipoc-dmaap-config-resp.requestID`"/>
880                                 </record>
881                             </block>
882                         </outcome>
883                         <outcome value='failure'>
884                             <block>
885                                 <return status='failure'>
886                                     <parameter name='ack-final' value='Y'/>
887                                     <parameter name="error-code" value="500" />
888                                     <parameter name="error-message" value="Error removing quotation from requestID for DMAAP response header. Aborting Generic neighbor  configuration" />
889                                 </return>
890                             </block>
891                         </outcome>
892                     </execute>
893                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
894                         <parameter name="source" value="`$prop.oofpcipoc-dmaap-config-resp.subrequestID`"/>
895                         <parameter name="outputPath" value="prop.oofpcipoc-dmaap-config-resp.subrequestID"/>
896                         <parameter name="target" value='"'/>
897                         <parameter name="replacement" value=''/>
898                         <outcome value='success'>
899                             <block atomic='true'>
900                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
901                                     <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
902                                     <parameter name="level" value="info" />
903                                     <parameter name="field1" value="Quotation removed from subRequestID for DMAAP response header \r"/>
904                                     <parameter name="field2" value="`$prop.oofpcipoc-dmaap-config-resp.subrequestID`"/>
905                                 </record>
906                             </block>
907                         </outcome>
908                         <outcome value='failure'>
909                             <block>
910                                 <return status='failure'>
911                                     <parameter name='ack-final' value='Y'/>
912                                     <parameter name="error-code" value="500" />
913                                     <parameter name="error-message" value="Error removing quotation from timestamp for DMAAP response header. Aborting Generic neighbor  configuration" />
914                                 </return>
915                             </block>
916                         </outcome>
917                     </execute>
918                 </block>
919                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
920                     <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
921                     <parameter name="level" value="info" />
922                     <parameter name="field1" value="__TIMESTAMP__"/>
923                     <parameter name="field2" value="Before DMAAP Event - template file name, restapiURL"/>
924                     <parameter name='field3' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-config-response.template`" />
925                     <parameter name='field4' value="`$prop.dmaap-message-router.url + '/' + $prop.oofpcipoc-dmaap-configuration-response.topic`" />
926                     <parameter name="field5" value="Before DMAAP Event - Timestamp, RequestID, subRequestID"/>
927                     <parameter name="field6" value="`$prop.oofpcipoc-dmaap-config-resp.timestamp`"/>
928                     <parameter name="field7" value="`$prop.oofpcipoc-dmaap-config-resp.requestID`"/>
929                     <parameter name="field8" value="`$prop.oofpcipoc-dmaap-config-resp.subrequestID`"/>
930                 </record>
931                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
932                     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-config-response.template`" />
933                     <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + '/' + $prop.oofpcipoc-dmaap-configuration-response.topic`" />
934                     <parameter name='format' value='json' />
935                     <parameter name='httpMethod' value='POST' />
936                     <parameter name='contentType' value='application/json' />
937                     <parameter name='responsePrefix' value='dmaap' />
938                     <outcome value='failure'>
939                         <block>
940                             <return status='failure'>
941                                 <parameter name='ack-final' value='Y'/>
942                                 <parameter name="error-code" value="500" />
943                                 <parameter name="error-message" value="Error publishing DMAAP Config Response message. ConfigDB Updated; TO be rolled back...will handle next release" />
944                             </return>
945                         </block>
946                     </outcome>
947                     <outcome value='success'>
948                         <block>
949                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
950                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
951                                 <parameter name="level" value="info" />
952                                 <parameter name="field1" value="DMAAP Config Response Message Successfully Published "/>
953                             </record>
954                         </block>
955                     </outcome>
956                 </execute>
957             </block>
958         </block>
959     </method>
960 </service-logic>