Service Logic (DG/Templates) for SDNR OOF PCI POC
[ccsdk/distribution.git] / platform-logic / oofpcipoc-api / src / main / xml / oofpcipoc-api_delete-neighbor.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='0.4.2-SNAPSHOT'>
4     <method rpc='delete-neighbor' mode='sync'>
5         <block atomic='true'>
6             <for index='idx' start='0' end="`$delete-neighbor-input.lte-cell-number-of-entries`" >
7                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
8                     <parameter name="file" value="/opt/opendaylight/current/data/log/delete-neighbor.log" />
9                     <parameter name="level" value="info" />
10                     <parameter name="field1" value="Input RPC Payload request for Alias:  "/>
11                     <parameter name="field2" value="`$delete-neighbor-input.alias`"/>
12                     <parameter name="field3" value="Input RPC Payload request for delete-neighbor. Neighbor Cell #:  "/>
13                     <parameter name="field4" value="`$idx`"/>
14                     <parameter name="field5" value="`$delete-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].plmnid`"/>
15                     <parameter name="field6" value="`$delete-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].cid`"/>
16                 </record>
17             </for>
18             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
19                 <parameter name="file" value="/opt/opendaylight/current/data/log/delete-neighbor.log" />
20                 <parameter name="level" value="info" />
21                 <parameter name="field1" value="RPC to delete neighbors. Number of neighbors to delete: "/>
22                 <parameter name="field2" value="`$delete-neighbor-input.lte-cell-number-of-entries`"/>
23             </record>
24             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
25                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/sdnr-oofpcipoc-api-dg.properties' />
26                 <parameter name='contextPrefix' value='prop' />
27             </execute>
28             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
29                 <parameter name="file" value="/opt/opendaylight/current/data/log/add-neighbor.log" />
30                 <parameter name="level" value="info" />
31                 <parameter name="field1" value="Properties read .. neighbor-add template"/>
32                 <parameter name="field2" value="`$prop.neighbor-add.templatefile`"/>
33                 <parameter name="field3" value="`$prop.controller.user`"/>
34                 <parameter name="field4" value="`$prop.controller.pwd`"/>
35                 <parameter name="field5" value="`$prop.controller.url`"/>
36                 <parameter name="field6" value="`$prop.restapi.lte-ran-neighbor-in-use`"/>
37             </record>
38             <for index='idx' start='0' end="`$delete-neighbor-input.lte-cell-number-of-entries`" >
39                 <block atomic='true'>
40                     <set>
41                         <parameter name="tmp.plmnid" value="`$delete-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].plmnid`"/>
42                         <parameter name="tmp.cid" value="`$delete-neighbor-input.lte-ran-neighbor-list-in-use-lte-cell[$idx].cid`"/>
43                         <parameter name="tmp.alias" value="`$delete-neighbor-input.alias`"/>
44                     </set>
45                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
46                         <parameter name="file" value="/opt/opendaylight/current/data/log/delete-neighbor.log" />
47                         <parameter name="level" value="info" />
48                         <parameter name="field1" value="Temporary variable for Neighbor Cell #:  "/>
49                         <parameter name="field2" value="`$idx`"/>
50                         <parameter name="field3" value="`$tmp.plmnid`"/>
51                         <parameter name="field4" value="`$tmp.cid`"/>
52                         <parameter name="field5" value="`$tmp.alias`"/>
53                     </record>
54                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
55                         <parameter name="source" value="`$prop.restapi.lte-ran-neighbor-in-use`"/>
56                         <parameter name="outputPath" value="tmp.add-neighbor-service-url"/>
57                         <parameter name="target" value="{alias}"/>
58                         <parameter name="replacement" value="`$tmp.alias`"/>
59                     </execute>
60                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
61                         <parameter name="file" value="/opt/opendaylight/current/data/log/delete-neighbor.log" />
62                         <parameter name="level" value="info" />
63                         <parameter name="field1" value="Add Neighbor List URL"/>
64                         <parameter name="field2" value="`$tmp.add-neighbor-service-url`"/>
65                     </record>
66                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
67                         <parameter name="source" value="`$tmp.add-neighbor-service-url`"/>
68                         <parameter name="outputPath" value="tmp.add-neighbor-service-url"/>
69                         <parameter name="target" value="{plmnid}"/>
70                         <parameter name="replacement" value="`$tmp.plmnid`"/>
71                     </execute>
72                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
73                         <parameter name="file" value="/opt/opendaylight/current/data/log/delete-neighbor.log" />
74                         <parameter name="level" value="info" />
75                         <parameter name="field1" value="Add Neighbor List URL"/>
76                         <parameter name="field2" value="`$tmp.add-neighbor-service-url`"/>
77                     </record>
78                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
79                         <parameter name="source" value="`$tmp.add-neighbor-service-url`"/>
80                         <parameter name="outputPath" value="tmp.add-neighbor-service-url"/>
81                         <parameter name="target" value="{cid}"/>
82                         <parameter name="replacement" value="`$tmp.cid`"/>
83                     </execute>
84                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
85                         <parameter name="file" value="/opt/opendaylight/current/data/log/delete-neighbor.log" />
86                         <parameter name="level" value="info" />
87                         <parameter name="field1" value="Setting variables for Neighbor Add PUT operation"/>
88                         <parameter name="field2" value="`$tmp.add-neighbor-service-url`"/>
89                         <parameter name="field3" value="`$tmp.plmnid`"/>
90                         <parameter name="field4" value="`$tmp.cid`"/>
91                         <parameter name="field5" value="`$tmp.phy-cell-id`"/>
92                         <parameter name="field6" value="`$tmp.pnf-name`"/>
93                         <parameter name="field7" value="`$tmp.blacklisted`"/>
94                     </record>
95                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
96                         <parameter name="restapiUrl" value="`$prop.controller.url + $tmp.add-neighbor-service-url`"/>
97                         <parameter name="restapiUser" value="`$prop.controller.user`" />
98                         <parameter name="restapiPassword" value="`$prop.controller.pwd`"/>
99                         <parameter name="httpMethod" value="DELETE"/>
100                         <parameter name="responsePrefix" value="oofpci-delete-neighbor-response"/>
101                         <parameter name='contentType' value='application/json' />
102                         <parameter name='format' value='json' />
103                         <outcome value='failure'>
104                             <block>
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 adding a new neighbor" />
109                                 </return>
110                             </block>
111                         </outcome>
112                         <outcome value='success'>
113                             <block>
114                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
115                                     <parameter name="file" value="/opt/opendaylight/current/data/log/delete-neighbor.log" />
116                                     <parameter name="level" value="info" />
117                                     <parameter name="field1" value="DELETE Neighbor Executed Successfully "/>
118                                 </record>
119                             </block>
120                         </outcome>
121                     </execute>
122                 </block>
123             </for>
124             <return status='success'>
125                 <parameter name="ack-final-indicator" value="Y" />
126                 <parameter name="error-code" value="200" />
127                 <parameter name="error-message" value="SUCCESSFUL add-neighbor Execution" />
128             </return>
129         </block>
130     </method>
131 </service-logic>