DG's to support SDNR RANSIM Netconf Notification
[ccsdk/distribution.git] / platform-logic / oofpcipoc-api / src / main / xml / oofpcipoc-api_handle-nbrlist-change-notif.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='handle-nbrlist-change-notif' mode='sync'>
5         <block atomic='true'>
6             <for index='idx' start='0' end="`$handle-nbrlist-change-notif-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/handle-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="`$handle-nbrlist-change-notif-input.fap-service[$idx].alias`"/>
14                         <parameter name="field4" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].cid`"/>
15                         <parameter name="field5" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].phy-cell-id-in-use`"/>
16                         <parameter name="field6" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].pnf-name`"/>
17                         <parameter name="field7" value="Number of neigbors Changed/To Be Added #:  "/>
18                         <parameter name="field8" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].lte-cell-number-of-entries`"/>
19                     </record>
20                     <for index='idy' start='0' end="`$handle-nbrlist-change-notif-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/handle-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="`$handle-nbrlist-change-notif-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].plmnid`"/>
27                             <parameter name="field4" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].cid`"/>
28                             <parameter name="field5" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].phy-cell-id`"/>
29                             <parameter name="field6" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].pnf-name`"/>
30                             <parameter name="field7" value="`$handle-nbrlist-change-notif-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/handle-nbrlist-change-notif.log" />
37                 <parameter name="level" value="info" />
38                 <parameter name="field1" value="RPC to handle nbrlist change notification invoked. Number of FAP services for which neighbors have changed:  "/>
39                 <parameter name="field2" value="`$handle-nbrlist-change-notif-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='%SDNC_CONFIG_DIR%/sdnr-oofpcipoc-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/handle-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="`$handle-nbrlist-change-notif-input.fap-service-number-of-entries-changed`" >
57                 <block atomic='true'>
58                     <set>
59                         <parameter name="tmp.alias" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].alias`"/>
60                         <parameter name="tmp.cid" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].cid`"/>
61                         <parameter name="tmp.phy-cell-id-in-use" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].phy-cell-id-in-use`"/>
62                         <parameter name="tmp.pnf-name" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].pnf-name`"/>
63                         <parameter name="tmp.lte-cell-number-of-entries" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].lte-cell-number-of-entries`"/>
64                     </set>
65                     <for index='idy' start='0' end="`$handle-nbrlist-change-notif-input.fap-service[$idx].lte-cell-number-of-entries`" >
66                         <block atomic='true'>
67                             <set>
68                                 <parameter name="tmp.nbr.plmnid" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].plmnid`"/>
69                                 <parameter name="tmp.nbr.cid" value="`$handle-nbrlist-change-notif-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].cid`"/>
70                                 <parameter name="tmp.nbr.phy-cell-id" value="`$handle-nbrlist-change-notif-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="`$handle-nbrlist-change-notif-input.fap-service[$idx].lte-ran-neighbor-list-in-use-lte-cell-changed[$idy].pnf-name`"/>
72                                 <parameter name="tmp.nbr.blacklisted" value="`$handle-nbrlist-change-notif-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/handle-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 + '/oofpcipoc-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="oofpci-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 handler" />
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/configuration-phy-cell-id.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             <block atomic='true'>
120                 <set>
121                     <parameter name='tmp.oofpcipoc-dmaap.requestID' value='`$prop.oofpcipoc-dmaap.requestID`'/>
122                     <parameter name='tmp.oofpcipoc-dmaap.aai' value="`$prop.oofpcipoc-dmaap.aai`"/>
123                     <parameter name='tmp.oofpcipoc-dmaap.version' value='`$prop.oofpcipoc-dmaap.version`'/>
124                     <parameter name='tmp.oofpcipoc-dmaap.action' value='`$prop.oofpcipoc-dmaap.action`'/>
125                     <parameter name='tmp.oofpcipoc-dmaap.payload' value='`$handle-nbrlist-change-notif-input.payload`'/>
126                 </set>
127                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
128                     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.dmaap-publish.templatefile`" />
129                     <parameter name='restapiUrl' value="`$prop.dmaap-message-router.url + '/' + $prop.oofpcipoc-dmaap.nbrlist-change.topic`" />
130                     <parameter name='format' value='json' />
131                     <parameter name='httpMethod' value='POST' />
132                     <parameter name='contentType' value='application/json' />
133                     <parameter name='responsePrefix' value='dmaap' />
134                     <outcome value='failure'>
135                         <block>
136                             <return status='failure'>
137                                 <parameter name='ack-final' value='Y'/>
138                                 <parameter name="error-code" value="500" />
139                                 <parameter name="error-message" value="Error publishing DMAAP message. ConfigDB Updated; TO be rolled back...will handle next release" />
140                             </return>
141                         </block>
142                     </outcome>
143                     <outcome value='success'>
144                         <block>
145                             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
146                                 <parameter name="file" value="/opt/opendaylight/current/data/log/configuration-phy-cell-id.log" />
147                                 <parameter name="level" value="info" />
148                                 <parameter name="field1" value="DMAAP Message Successfully Published "/>
149                             </record>
150                         </block>
151                     </outcome>
152                 </execute>
153             </block>
154             <return status='success'>
155                 <parameter name="ack-final-indicator" value="Y" />
156                 <parameter name="error-code" value="200" />
157                 <parameter name="error-message" value="SUCCESSFUL Execution" />
158             </return>
159         </block>
160     </method>
161 </service-logic>