Bug fixes for CMNotify Feature
[ccsdk/distribution.git] / platform-logic / cMNotify-api / src / main / xml / CM-NOTIFY-API_nbrlist-change-notification.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='CM-NOTIFY-API' version='${project.version}'>
4     <method rpc='nbrlist-change-notification' mode='sync'>
5         <block atomic='true'>
6             <for index='idx' start='0' end="`$nbrlist-change-notification-input.fap-service-number-of-entries-changed`" >
7                 <block atomic='true'>
8                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
9                         <parameter name="file" value="/opt/opendaylight/current/data/log/ves-nbrlist-change-notif.log" />
10                         <parameter name="level" value="info" />
11                         <parameter name="field1" value="Input RPC Payload request. FAP #:  "/>
12                         <parameter name="field2" value="`$idx`"/>
13                         <parameter name="field3" value="`$nbrlist-change-notification-input.fap-service[$idx].alias`"/>
14                         <parameter name="field4" value="`$nbrlist-change-notification-input.fap-service[$idx].cid`"/>
15                         <parameter name="field5" value="`$nbrlist-change-notification-input.fap-service[$idx].phy-cell-id-in-use`"/>
16                         <parameter name="field6" value="`$nbrlist-change-notification-input.fap-service[$idx].pnf-name`"/>
17                         <parameter name="field7" value="Number of neigbors Changed/To Be Added #:  "/>
18                         <parameter name="field8" value="`$nbrlist-change-notification-input.fap-service[$idx].lte-cell-number-of-entries`"/>
19                     </record>
20                     <for index='idy' start='0' end="`$nbrlist-change-notification-input.fap-service[$idx].lte-cell-number-of-entries`" >
21                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
22                             <parameter name="file" value="/opt/opendaylight/current/data/log/ves-nbrlist-change-notif.log" />
23                             <parameter name="level" value="info" />
24                             <parameter name="field1" value="Neighbor #:  "/>
25                             <parameter name="field2" value="`$idy`"/>
26                             <parameter name="field3" value="`$nbrlist-change-notification-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].plmnid`"/>
27                             <parameter name="field4" value="`$nbrlist-change-notification-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].cid`"/>
28                             <parameter name="field5" value="`$nbrlist-change-notification-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].phy-cell-id`"/>
29                             <parameter name="field6" value="`$nbrlist-change-notification-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].pnf-name`"/>
30                             <parameter name="field7" value="`$nbrlist-change-notification-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].blacklisted`"/>
31                         </record>
32                     </for>
33                 </block>
34             </for>
35             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
36                 <parameter name="file" value="/opt/opendaylight/current/data/log/ves-nbrlist-change-notif.log" />
37                 <parameter name="level" value="info" />
38                 <parameter name="field1" value="RPC to handle VES event: nbrlist change notification invoked. Number of FAP services for which neighbors have changed:  "/>
39                 <parameter name="field2" value="`$nbrlist-change-notification-input.fap-service-number-of-entries-changed`"/>
40             </record>
41             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
42                 <parameter name='fileName' value='/opt/onap/ccsdk/data/properties/sdnr-CMNotify-api-dg.properties' />
43                 <parameter name='contextPrefix' value='prop' />
44             </execute>
45             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
46                 <parameter name="file" value="/opt/opendaylight/current/data/log/ves-nbrlist-change-notif.log" />
47                 <parameter name="level" value="info" />
48                 <parameter name="field1" value="Properties read ..configDB URL"/>
49                 <parameter name="field2" value="`$prop.configdb.url`"/>
50                 <parameter name="field3" value="Properties read ..DMAAP Msg Router URL"/>
51                 <parameter name="field4" value="`$prop.configdb.url`"/>
52                 <parameter name="field5" value="`$prop.dmaap-message-router.url`"/>
53                 <parameter name="field6" value="`$prop.controller.pwd`"/>
54                 <parameter name="field7" value="`$prop.controller.url`"/>
55             </record>
56             <for index='idx' start='0' end="`$nbrlist-change-notification-input.fap-service-number-of-entries-changed`" >
57                 <block atomic='true'>
58                     <set>
59                         <parameter name="tmp.alias" value="`$nbrlist-change-notification-input.fap-service[$idx].alias`"/>
60                         <parameter name="tmp.cid" value="`$nbrlist-change-notification-input.fap-service[$idx].cid`"/>
61                         <parameter name="tmp.phy-cell-id-in-use" value="`$nbrlist-change-notification-input.fap-service[$idx].phy-cell-id-in-use`"/>
62                         <parameter name="tmp.pnf-name" value="`$nbrlist-change-notification-input.fap-service[$idx].pnf-name`"/>
63                         <parameter name="tmp.lte-cell-number-of-entries" value="`$nbrlist-change-notification-input.fap-service[$idx].lte-cell-number-of-entries`"/>
64                     </set>
65                     <for index='idy' start='0' end="`$nbrlist-change-notification-input.fap-service[$idx].lte-cell-number-of-entries`" >
66                         <block atomic='true'>
67                             <set>
68                                 <parameter name="tmp.nbr.plmnid" value="`$nbrlist-change-notification-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].plmnid`"/>
69                                 <parameter name="tmp.nbr.cid" value="`$nbrlist-change-notification-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].cid`"/>
70                                 <parameter name="tmp.nbr.phy-cell-id" value="`$nbrlist-change-notification-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].phy-cell-id`"/>
71                                 <parameter name="tmp.nbr.pnf-name" value="`$nbrlist-change-notification-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].pnf-name`"/>
72                                 <parameter name="tmp.nbr.blacklisted" value="`$nbrlist-change-notification-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].blacklisted`"/>
73                             </set>
74                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
75                                 <parameter name="source" value="`$prop.restapi.configdb.add-nbrlist-change-per-notif`"/>
76                                 <parameter name="outputPath" value="tmp.configdb.add-nbrlist-change-per-notif.url"/>
77                                 <parameter name="target" value="{cellId}"/>
78                                 <parameter name="replacement" value="`$tmp.cid`"/>
79                             </execute>
80                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
81                                 <parameter name="file" value="/opt/opendaylight/current/data/log/ves-nbrlist-change-notif.log" />
82                                 <parameter name="level" value="info" />
83                                 <parameter name="field1" value="URL for configDB neighbor cell ADD"/>
84                                 <parameter name='field2' value="`$prop.configdb.url + $tmp.configdb.add-nbrlist-change-per-notif.url`" />
85                                 <parameter name='field3' value="`$tmp.nbr.cid`" />
86                                 <parameter name='field4' value="`$tmp.nbr.blacklisted`" />
87                             </record>
88                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
89                                 <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/CMNotify-add-nbr-to-configdb-per-nbrlist-change-notif.json'`" />
90                                 <parameter name="restapiUrl" value="`$prop.configdb.url + $tmp.configdb.add-nbrlist-change-per-notif.url`"/>
91                                 <parameter name="httpMethod" value="PUT"/>
92                                 <parameter name="responsePrefix" value="CMNotify-configdb-response"/>
93                                 <parameter name='contentType' value='application/json' />
94                                 <parameter name='format' value='json' />
95                                 <parameter name='accept' value='application/json' />
96                                 <outcome value='failure'>
97                                     <block>
98                                         <return status='failure'>
99                                             <parameter name='ack-final' value='Y'/>
100                                             <parameter name="error-code" value="500" />
101                                             <parameter name="error-message" value="Error adding neighbor to configdb. Aborting notification update" />
102                                         </return>
103                                     </block>
104                                 </outcome>
105                                 <outcome value='success'>
106                                     <block>
107                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
108                                             <parameter name="file" value="/opt/opendaylight/current/data/log/ves-nbrlist-change-notif.log" />
109                                             <parameter name="level" value="info" />
110                                             <parameter name="field1" value="Neighbor Added to ConfigDB "/>
111                                         </record>
112                                     </block>
113                                 </outcome>
114                             </execute>
115                         </block>
116                     </for>
117                 </block>
118             </for>
119             <return status='success'>
120                 <parameter name="ack-final-indicator" value="Y" />
121                 <parameter name="error-code" value="200" />
122                 <parameter name="error-message" value="SUCCESSFUL Execution" />
123             </return>
124         </block>
125     </method>
126 </service-logic>