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