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