Align requestID, subrequestID for DMAAP msgs
[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             <switch test='`$prop.ransim-mounted`'>
44                 <outcome value='false'>
45                     <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
46                         <block atomic='true'>
47                             <set>
48                                 <parameter name="tmp.alias" value="`$generic-neighbor-configuration-input.alias`"/>
49                                 <parameter name="tmp.plmnid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`"/>
50                                 <parameter name="tmp.cid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
51                                 <parameter name="tmp.phy-cell-id" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`"/>
52                                 <parameter name="tmp.pnf-name" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
53                                 <parameter name="tmp.blacklisted" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`"/>
54                             </set>
55                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
56                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
57                                 <parameter name="level" value="info" />
58                                 <parameter name="field1" value="Temporary varaibles set. Neighbor #:  "/>
59                                 <parameter name="field2" value="`$idx`"/>
60                                 <parameter name="field3" value="`$tmp.plmnid`"/>
61                                 <parameter name="field4" value="`$tmp.cid`"/>
62                                 <parameter name="field5" value="`$tmp.phy-cell-id`"/>
63                                 <parameter name="field6" value="`$tmp.pnf-name`"/>
64                                 <parameter name="field7" value="`$tmp.blacklisted`"/>
65                             </record>
66                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
67                                 <parameter name="source" value="`$prop.restapi.lte-ran-neighbor-in-use`"/>
68                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
69                                 <parameter name="target" value="{alias}"/>
70                                 <parameter name="replacement" value="`$tmp.alias`"/>
71                             </execute>
72                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
73                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
74                                 <parameter name="level" value="info" />
75                                 <parameter name="field1" value="Config Neighbor List URL"/>
76                                 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
77                             </record>
78                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
79                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
80                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
81                                 <parameter name="target" value="{plmnid}"/>
82                                 <parameter name="replacement" value="`$tmp.plmnid`"/>
83                             </execute>
84                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
85                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
86                                 <parameter name="level" value="info" />
87                                 <parameter name="field1" value="Config Neighbor List URL"/>
88                                 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
89                             </record>
90                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
91                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
92                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
93                                 <parameter name="target" value="{cid}"/>
94                                 <parameter name="replacement" value="`$tmp.cid`"/>
95                             </execute>
96                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
97                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
98                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
99                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
100                                 <parameter name="httpMethod" value="GET"/>
101                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
102                                 <parameter name='contentType' value='application/json' />
103                                 <parameter name='format' value='json' />
104                                 <outcome value='failure'>
105                                     <return status='failure'>
106                                         <parameter name='ack-final' value='Y'/>
107                                         <parameter name="error-code" value="500" />
108                                         <parameter name="error-message" value="Error getting details about new neighbor " />
109                                     </return>
110                                 </outcome>
111                                 <outcome value='success'>
112                                     <block>
113                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
114                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
115                                             <parameter name="level" value="info" />
116                                             <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
117                                             <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
118                                             <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
119                                             <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
120                                             <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
121                                             <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
122                                         </record>
123                                     </block>
124                                 </outcome>
125                             </execute>
126                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
127                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-generic-neighbor-patch.json'`" />
128                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
129                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
130                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
131                                 <parameter name="httpMethod" value="PATCH"/>
132                                 <parameter name="responsePrefix" value="oofpci-neighbor-patch-response"/>
133                                 <parameter name='contentType' value='application/yang.patch+json' />
134                                 <parameter name='format' value='json' />
135                                 <parameter name='accept' value='application/yang.patch-status+json' />
136                                 <outcome value='failure'>
137                                     <block>
138                                         <return status='failure'>
139                                             <parameter name='ack-final' value='Y'/>
140                                             <parameter name="error-code" value="500" />
141                                             <parameter name="error-message" value="Error adding a new neighbor" />
142                                         </return>
143                                     </block>
144                                 </outcome>
145                                 <outcome value='success'>
146                                     <block>
147                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
148                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
149                                             <parameter name="level" value="info" />
150                                             <parameter name="field1" value="PATCH Neighbor Executed Successfully "/>
151                                         </record>
152                                     </block>
153                                 </outcome>
154                             </execute>
155                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
156                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
157                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
158                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
159                                 <parameter name="httpMethod" value="GET"/>
160                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
161                                 <parameter name='contentType' value='application/json' />
162                                 <parameter name='format' value='json' />
163                                 <outcome value='failure'>
164                                     <return status='failure'>
165                                         <parameter name='ack-final' value='Y'/>
166                                         <parameter name="error-code" value="500" />
167                                         <parameter name="error-message" value="Error getting details about new neighbor " />
168                                     </return>
169                                 </outcome>
170                                 <outcome value='success'>
171                                     <block>
172                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
173                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
174                                             <parameter name="level" value="info" />
175                                             <parameter name="field1" value="Details about Neighbor Post-configuration"/>
176                                             <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
177                                             <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
178                                             <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
179                                             <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
180                                             <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
181                                         </record>
182                                     </block>
183                                 </outcome>
184                             </execute>
185                             <switch test='`$prop.configdb-deployed`'>
186                                 <outcome value='false'>
187                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
188                                         <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
189                                         <parameter name="level" value="info" />
190                                         <parameter name="field1" value="ConfigDB Update Skipped"/>
191                                     </record>
192                                 </outcome>
193                                 <outcome value='true'>
194                                     <block atomic='true'>
195                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
196                                             <parameter name="source" value="`$prop.restapi.configdb.patch-ho-for-nbr`"/>
197                                             <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
198                                             <parameter name="target" value="{cellId}"/>
199                                             <parameter name="replacement" value="`$tmp.alias`"/>
200                                         </execute>
201                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
202                                             <parameter name="source" value="`$tmp.configdb.patch-ho-for-nbr.url`"/>
203                                             <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
204                                             <parameter name="target" value="{targetCellId}"/>
205                                             <parameter name="replacement" value="`$tmp.cid`"/>
206                                         </execute>
207                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
208                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
209                                             <parameter name="level" value="info" />
210                                             <parameter name="field1" value="URL for configDB PCI Update"/>
211                                             <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`" />
212                                             <parameter name='field3' value="`$tmp.alias`" />
213                                             <parameter name='field4' value="`$tmp.cid`" />
214                                         </record>
215                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
216                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-patch-configdb-ho-for-nbr.json'`" />
217                                             <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`"/>
218                                             <parameter name="httpMethod" value="PATCH"/>
219                                             <parameter name="responsePrefix" value="oofpci-configdb-response"/>
220                                             <parameter name='contentType' value='application/json' />
221                                             <parameter name='format' value='json' />
222                                             <parameter name='accept' value='application/json' />
223                                             <outcome value='failure'>
224                                                 <block>
225                                                     <return status='failure'>
226                                                         <parameter name='ack-final' value='Y'/>
227                                                         <parameter name="error-code" value="500" />
228                                                         <parameter name="error-message" value="Error updating configDB. Aborting Nbr HO configuration" />
229                                                     </return>
230                                                 </block>
231                                             </outcome>
232                                             <outcome value='success'>
233                                                 <block>
234                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
235                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
236                                                         <parameter name="level" value="info" />
237                                                         <parameter name="field1" value="HO Value for nbr updated in ConfigDB"/>
238                                                     </record>
239                                                 </block>
240                                             </outcome>
241                                         </execute>
242                                     </block>
243                                 </outcome>
244                             </switch>
245                         </block>
246                     </for>
247                 </outcome>
248                 <outcome value='true'>
249                     <for index='idx' start='0' end="`$generic-neighbor-configuration-input.lte-cell-number-of-entries`" >
250                         <block atomic='true'>
251                             <set>
252                                 <parameter name="tmp.alias" value="`$generic-neighbor-configuration-input.alias`"/>
253                                 <parameter name="tmp.plmnid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].plmnid`"/>
254                                 <parameter name="tmp.cid" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].cid`"/>
255                                 <parameter name="tmp.phy-cell-id" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].phy-cell-id`"/>
256                                 <parameter name="tmp.pnf-name" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].pnf-name`"/>
257                                 <parameter name="tmp.blacklisted" value="`$generic-neighbor-configuration-input.neighbor-list-in-use[$idx].blacklisted`"/>
258                             </set>
259                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
260                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
261                                 <parameter name="level" value="info" />
262                                 <parameter name="field1" value="Temporary varaibles set. Neighbor #:  "/>
263                                 <parameter name="field2" value="`$idx`"/>
264                                 <parameter name="field3" value="`$tmp.plmnid`"/>
265                                 <parameter name="field4" value="`$tmp.cid`"/>
266                                 <parameter name="field5" value="`$tmp.phy-cell-id`"/>
267                                 <parameter name="field6" value="`$tmp.pnf-name`"/>
268                                 <parameter name="field7" value="`$tmp.blacklisted`"/>
269                             </record>
270                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
271                                 <parameter name="source" value="`$prop.restapi.lte-ran-neighbor-in-use.ransim-mounted`"/>
272                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
273                                 <parameter name="target" value="{alias}"/>
274                                 <parameter name="replacement" value="`$tmp.alias`"/>
275                             </execute>
276                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
277                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
278                                 <parameter name="level" value="info" />
279                                 <parameter name="field1" value="Config Neighbor List URL"/>
280                                 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
281                             </record>
282                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
283                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
284                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
285                                 <parameter name="target" value="{pnf-name}"/>
286                                 <parameter name="replacement" value="`$tmp.pnf-name`"/>
287                             </execute>
288                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
289                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
290                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
291                                 <parameter name="target" value="{plmnid}"/>
292                                 <parameter name="replacement" value="`$tmp.plmnid`"/>
293                             </execute>
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="Config Neighbor List URL"/>
298                                 <parameter name="field2" value="`$tmp.config-neighbor-service-url`"/>
299                             </record>
300                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
301                                 <parameter name="source" value="`$tmp.config-neighbor-service-url`"/>
302                                 <parameter name="outputPath" value="tmp.config-neighbor-service-url"/>
303                                 <parameter name="target" value="{cid}"/>
304                                 <parameter name="replacement" value="`$tmp.cid`"/>
305                             </execute>
306                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
307                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
308                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
309                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
310                                 <parameter name="httpMethod" value="GET"/>
311                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
312                                 <parameter name='contentType' value='application/json' />
313                                 <parameter name='format' value='json' />
314                                 <outcome value='failure'>
315                                     <return status='failure'>
316                                         <parameter name='ack-final' value='Y'/>
317                                         <parameter name="error-code" value="500" />
318                                         <parameter name="error-message" value="Error getting details about new neighbor " />
319                                     </return>
320                                 </outcome>
321                                 <outcome value='success'>
322                                     <block>
323                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
324                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
325                                             <parameter name="level" value="info" />
326                                             <parameter name="field1" value="Details about Neighbor Pre-configuration"/>
327                                             <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
328                                             <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
329                                             <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
330                                             <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
331                                             <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
332                                         </record>
333                                     </block>
334                                 </outcome>
335                             </execute>
336                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
337                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-generic-neighbor-patch.json'`" />
338                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
339                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
340                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
341                                 <parameter name="httpMethod" value="PATCH"/>
342                                 <parameter name="responsePrefix" value="oofpci-neighbor-patch-response"/>
343                                 <parameter name='contentType' value='application/yang.patch+json' />
344                                 <parameter name='format' value='json' />
345                                 <parameter name='accept' value='application/yang.patch-status+json' />
346                                 <outcome value='failure'>
347                                     <block>
348                                         <return status='failure'>
349                                             <parameter name='ack-final' value='Y'/>
350                                             <parameter name="error-code" value="500" />
351                                             <parameter name="error-message" value="Error adding a new neighbor" />
352                                         </return>
353                                     </block>
354                                 </outcome>
355                                 <outcome value='success'>
356                                     <block>
357                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
358                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
359                                             <parameter name="level" value="info" />
360                                             <parameter name="field1" value="PATCH Neighbor Executed Successfully "/>
361                                         </record>
362                                     </block>
363                                 </outcome>
364                             </execute>
365                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
366                                 <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.config-neighbor-service-url`"/>
367                                 <parameter name="restapiUser" value="`$prop.controller.user`" />
368                                 <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
369                                 <parameter name="httpMethod" value="GET"/>
370                                 <parameter name="responsePrefix" value="oofpci-neighbor-response"/>
371                                 <parameter name='contentType' value='application/json' />
372                                 <parameter name='format' value='json' />
373                                 <outcome value='failure'>
374                                     <return status='failure'>
375                                         <parameter name='ack-final' value='Y'/>
376                                         <parameter name="error-code" value="500" />
377                                         <parameter name="error-message" value="Error getting details about new neighbor " />
378                                     </return>
379                                 </outcome>
380                                 <outcome value='success'>
381                                     <block>
382                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
383                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
384                                             <parameter name="level" value="info" />
385                                             <parameter name="field1" value="Details about Neighbor Post-configuration"/>
386                                             <parameter name="field2" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].plmnid`"/>
387                                             <parameter name="field3" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].cid`"/>
388                                             <parameter name="field4" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].phy-cell-id`"/>
389                                             <parameter name="field5" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].pnf-name`"/>
390                                             <parameter name="field6" value="`$oofpci-neighbor-response.lte-ran-neighbor-list-in-use-lte-cell[0].blacklisted`"/>
391                                         </record>
392                                     </block>
393                                 </outcome>
394                             </execute>
395                             <switch test='`$prop.configdb-deployed`'>
396                                 <outcome value='false'>
397                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
398                                         <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
399                                         <parameter name="level" value="info" />
400                                         <parameter name="field1" value="ConfigDB Update Skipped"/>
401                                     </record>
402                                 </outcome>
403                                 <outcome value='true'>
404                                     <block atomic='true'>
405                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
406                                             <parameter name="source" value="`$prop.restapi.configdb.patch-ho-for-nbr`"/>
407                                             <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
408                                             <parameter name="target" value="{cellId}"/>
409                                             <parameter name="replacement" value="`$tmp.alias`"/>
410                                         </execute>
411                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
412                                             <parameter name="source" value="`$tmp.configdb.patch-ho-for-nbr.url`"/>
413                                             <parameter name="outputPath" value="tmp.configdb.patch-ho-for-nbr.url"/>
414                                             <parameter name="target" value="{targetCellId}"/>
415                                             <parameter name="replacement" value="`$tmp.cid`"/>
416                                         </execute>
417                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
418                                             <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
419                                             <parameter name="level" value="info" />
420                                             <parameter name="field1" value="URL for configDB PCI Update"/>
421                                             <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`" />
422                                             <parameter name='field3' value="`$tmp.alias`" />
423                                             <parameter name='field4' value="`$tmp.cid`" />
424                                         </record>
425                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
426                                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/oofpcipoc-patch-configdb-ho-for-nbr.json'`" />
427                                             <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.patch-ho-for-nbr.url`"/>
428                                             <parameter name="httpMethod" value="PATCH"/>
429                                             <parameter name="responsePrefix" value="oofpci-configdb-response"/>
430                                             <parameter name='contentType' value='application/json' />
431                                             <parameter name='format' value='json' />
432                                             <parameter name='accept' value='application/json' />
433                                             <outcome value='failure'>
434                                                 <block>
435                                                     <return status='failure'>
436                                                         <parameter name='ack-final' value='Y'/>
437                                                         <parameter name="error-code" value="500" />
438                                                         <parameter name="error-message" value="Error updating configDB. Aborting Nbr HO configuration" />
439                                                     </return>
440                                                 </block>
441                                             </outcome>
442                                             <outcome value='success'>
443                                                 <block>
444                                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
445                                                         <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
446                                                         <parameter name="level" value="info" />
447                                                         <parameter name="field1" value="HO Value for nbr updated in ConfigDB"/>
448                                                     </record>
449                                                 </block>
450                                             </outcome>
451                                         </execute>
452                                     </block>
453                                 </outcome>
454                             </switch>
455                         </block>
456                     </for>
457                 </outcome>
458             </switch>
459             <block atomic='true'>
460                 <execute plugin="org.onap.ccsdk.sli.plugins.template.TemplateNode" method="evaluateTemplate" >
461                     <parameter name='templatePath' value='oofpcipoc-dmaap-publish-modifyconfiganr-resp-payload-template.vtl' />
462                     <parameter name='output' value='resp-payload' />
463                     <parameter name='prefix' value='sdnr' />
464                     <outcome value='success'>
465                         <block atomic='true'>
466                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
467                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
468                                 <parameter name="level" value="info" />
469                                 <parameter name="field1" value="__TIMESTAMP__"/>
470                                 <parameter name="field2" value="Redndred sdnr payload template as a string"/>
471                                 <parameter name='field3' value='`$sdnr.resp-payload`' />
472                             </record>
473                         </block>
474                     </outcome>
475                     <outcome value='failure'>
476                         <block>
477                             <return status='failure'>
478                                 <parameter name='ack-final' value='Y'/>
479                                 <parameter name="error-code" value="500" />
480                                 <parameter name="error-message" value="Error creating SDNR response payload string. Aborting PCI configuration" />
481                             </return>
482                         </block>
483                     </outcome>
484                 </execute>
485                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
486                     <parameter name="source" value="`$sdnr.resp-payload`"/>
487                     <parameter name="outputPath" value="tmp.oofpcipoc-dmaap-config-resp.payload"/>
488                     <parameter name="target" value="\n"/>
489                     <parameter name="replacement" value=""/>
490                     <outcome value='success'>
491                         <block atomic='true'>
492                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
493                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
494                                 <parameter name="level" value="info" />
495                                 <parameter name="field1" value="__TIMESTAMP__"/>
496                                 <parameter name="field2" value="Redndred template with lines removed \r"/>
497                                 <parameter name='field3' value='`$tmp.oofpcipoc-dmaap-config-resp.payload`' />
498                             </record>
499                         </block>
500                     </outcome>
501                     <outcome value='failure'>
502                         <block>
503                             <return status='failure'>
504                                 <parameter name='ack-final' value='Y'/>
505                                 <parameter name="error-code" value="500" />
506                                 <parameter name="error-message" value="Error removing lines from SDNR response payload string. Aborting PCI configuration" />
507                             </return>
508                         </block>
509                     </outcome>
510                 </execute>
511                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replaceAll' >
512                     <parameter name="source" value="`$tmp.oofpcipoc-dmaap-config-resp.payload`"/>
513                     <parameter name="outputPath" value="tmp.oofpcipoc-dmaap-config-resp.payload"/>
514                     <parameter name="target" value="\t"/>
515                     <parameter name="replacement" value=""/>
516                     <outcome value='success'>
517                         <block atomic='true'>
518                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
519                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
520                                 <parameter name="level" value="info" />
521                                 <parameter name="field1" value="__TIMESTAMP__"/>
522                                 <parameter name="field2" value="Redndred template with tabs removed \r"/>
523                                 <parameter name='field3' value='`$tmp.oofpcipoc-dmaap-config-resp.payload`' />
524                             </record>
525                         </block>
526                     </outcome>
527                     <outcome value='failure'>
528                         <block>
529                             <return status='failure'>
530                                 <parameter name='ack-final' value='Y'/>
531                                 <parameter name="error-code" value="500" />
532                                 <parameter name="error-message" value="Error removing tabs from SDNR response payload string. Aborting PCI configuration" />
533                             </return>
534                         </block>
535                     </outcome>
536                 </execute>
537             </block>
538             <block atomic='true'>
539                 <set>
540                     <parameter name='tmp.oofpcipoc-dmaap-config-resp.rpc-name' value='`$prop.oofpcipoc-dmaap-config-resp.rpc-name.modifyconfiganr`'/>
541                 </set>
542                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
543                     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish-config-response.template`" />
544                     <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + '/' + $prop.oofpcipoc-dmaap-configuration-response.topic`" />
545                     <parameter name='format' value='json' />
546                     <parameter name='httpMethod' value='POST' />
547                     <parameter name='contentType' value='application/json' />
548                     <parameter name='responsePrefix' value='dmaap' />
549                     <outcome value='failure'>
550                         <block>
551                             <return status='failure'>
552                                 <parameter name='ack-final' value='Y'/>
553                                 <parameter name="error-code" value="500" />
554                                 <parameter name="error-message" value="Error publishing DMAAP Config Response message. ConfigDB Updated; TO be rolled back...will handle next release" />
555                             </return>
556                         </block>
557                     </outcome>
558                     <outcome value='success'>
559                         <block>
560                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
561                                 <parameter name="file" value="/opt/opendaylight/current/data/log/generic-neighbor-config.log" />
562                                 <parameter name="level" value="info" />
563                                 <parameter name="field1" value="DMAAP Config Response Message Successfully Published "/>
564                             </record>
565                         </block>
566                     </outcome>
567                 </execute>
568             </block>
569             <return status='success'>
570                 <parameter name="ack-final-indicator" value="Y" />
571                 <parameter name="error-code" value="200" />
572                 <parameter name="error-message" value="SUCCESSFUL Execution" />
573             </return>
574         </block>
575     </method>
576 </service-logic>