Support for PM (Performance Management)
[ccsdk/features.git] / sdnr / wt / devicemanager-onap / onf14 / provider / src / main / java / org / onap / ccsdk / features / sdnr / wt / devicemanager / onf14 / dom / impl / pm / PerformanceDataAirInterface.java
1 /*
2  * ============LICENSE_START========================================================================
3  * ONAP : ccsdk feature sdnr wt
4  * =================================================================================================
5  * Copyright (C) 2022 highstreet technologies GmbH Intellectual Property. All rights reserved.
6  * =================================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software distributed under the License
13  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
14  * or implied. See the License for the specific language governing permissions and limitations under
15  * the License.
16  * ============LICENSE_END==========================================================================
17  */
18
19 package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.pm;
20
21 import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DMDOMUtility;
22 import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DevicemanagerQNames;
23 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.PmdataEntityBuilder;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.entity.PerformanceDataBuilder;
26 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
27 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
28 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
29 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
30 import org.slf4j.Logger;
31 import org.slf4j.LoggerFactory;
32
33 public class PerformanceDataAirInterface extends PmdataEntityBuilder {
34
35     private static final Logger log = LoggerFactory.getLogger(PerformanceDataAirInterface.class);
36
37     public PerformanceDataAirInterface(NodeId nodeId, String ltpUuid, String localId,
38             MapEntryNode airInterfaceHistPerfEntry) {
39         log.debug("Performance Data of Air Interface = {}", airInterfaceHistPerfEntry);
40         String leafVal;
41
42         this.setGranularityPeriod(Helper.mapGranularityPeriod(Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerfEntry,
43                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCES_LIST_GP)));
44         this.setUuidInterface(ltpUuid);
45         this.setLayerProtocolName(localId); // TODO
46         this.setNodeName(nodeId.getValue());
47         this.setScannerId(Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerfEntry,
48                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCES_LIST_HDI));
49         this.setTimeStamp(new DateAndTime(Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerfEntry,
50                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCES_LIST_PET)));
51         this.setSuspectIntervalFlag(Boolean.getBoolean(Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerfEntry,
52                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCES_LIST_SIF)));
53
54         PerformanceDataBuilder bPerformanceData = new PerformanceDataBuilder();
55         ContainerNode airInterfaceHistPerf = (ContainerNode) airInterfaceHistPerfEntry
56                 .childByArg(new NodeIdentifier(Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_DATA));
57
58         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
59                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_ES)) != null) {
60             bPerformanceData.setEs(Integer.parseInt(leafVal));
61         }
62
63         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
64                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_SES)) != null) {
65             bPerformanceData.setSes(Integer.parseInt(leafVal));
66         }
67
68         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
69                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_CSES)) != null) {
70             bPerformanceData.setCses(Integer.parseInt(leafVal));
71         }
72
73         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
74                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_UNAVAILABILITY)) != null) {
75             bPerformanceData.setUnavailability(Integer.parseInt(leafVal));
76         }
77
78         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
79                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_TX_LEVEL_MIN)) != null) {
80             bPerformanceData.setTxLevelMin(Byte.parseByte(leafVal));
81         }
82
83         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
84                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_TX_LEVEL_MAX)) != null) {
85             bPerformanceData.setTxLevelMax(Byte.parseByte(leafVal));
86         }
87
88         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
89                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_TX_LEVEL_AVG)) != null) {
90             bPerformanceData.setTxLevelAvg(Byte.parseByte(leafVal));
91         }
92
93         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
94                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_RX_LEVEL_MIN)) != null) {
95             bPerformanceData.setTxLevelMin(Byte.parseByte(leafVal));
96         }
97
98         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
99                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_RX_LEVEL_MAX)) != null) {
100             bPerformanceData.setTxLevelMax(Byte.parseByte(leafVal));
101         }
102
103         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
104                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_RX_LEVEL_AVG)) != null) {
105             bPerformanceData.setTxLevelAvg(Byte.parseByte(leafVal));
106         }
107
108
109         //                //TODO: xstates-list bPerformanceData.setTime2States(pmr.getTime2States());
110         //                bPerformanceData.setTime4StatesS(pmr.getTime4StatesS());
111         //                bPerformanceData.setTime4States(pmr.getTime4States());
112         //                bPerformanceData.setTime8States(pmr.getTime8States());
113         //                bPerformanceData.setTime16StatesS(pmr.getTime16StatesS());
114         //                bPerformanceData.setTime16States(pmr.getTime16States());
115         //                bPerformanceData.setTime32States(pmr.getTime32States());
116         //                bPerformanceData.setTime64States(pmr.getTime64States());
117         //                bPerformanceData.setTime128States(pmr.getTime128States());
118         //                bPerformanceData.setTime256States(pmr.getTime256States());
119         //                bPerformanceData.setTime512States(pmr.getTime512States());
120         //                bPerformanceData.setTime512StatesL(pmr.getTime512StatesL());
121         //                bPerformanceData.setTime1024States(pmr.getTime1024States());
122         //                bPerformanceData.setTime1024StatesL(pmr.getTime1024StatesL());
123         //                bPerformanceData.setTime2048States(pmr.getTime2048States());
124         //                bPerformanceData.setTime2048StatesL(pmr.getTime2048StatesL());
125         //                bPerformanceData.setTime4096States(pmr.getTime4096States());
126         //                bPerformanceData.setTime4096StatesL(pmr.getTime4096StatesL());
127         //                bPerformanceData.setTime8192States(pmr.getTime8192States());
128         //                bPerformanceData.setTime8192StatesL(pmr.getTime8192StatesL());
129
130
131         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
132                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_SNIR_MIN)) != null) {
133             bPerformanceData.setSnirMin(Byte.parseByte(leafVal));
134         }
135         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
136                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_SNIR_MAX)) != null) {
137             bPerformanceData.setSnirMax(Byte.parseByte(leafVal));
138         }
139         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
140                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_SNIR_AVG)) != null) {
141             bPerformanceData.setSnirAvg(Byte.parseByte(leafVal));
142         }
143
144         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
145                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_XPD_MIN)) != null) {
146             bPerformanceData.setXpdMin(Byte.parseByte(leafVal));
147         }
148         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
149                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_XPD_MAX)) != null) {
150             bPerformanceData.setXpdMax(Byte.parseByte(leafVal));
151         }
152         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
153                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_XPD_AVG)) != null) {
154             bPerformanceData.setXpdAvg(Byte.parseByte(leafVal));
155         }
156
157         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
158                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_RF_TEMP_MIN)) != null) {
159             bPerformanceData.setRfTempMin(Byte.parseByte(leafVal));
160         }
161         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
162                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_RF_TEMP_MAX)) != null) {
163             bPerformanceData.setRfTempMax(Byte.parseByte(leafVal));
164         }
165         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
166                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_RF_TEMP_AVG)) != null) {
167             bPerformanceData.setRfTempAvg(Byte.parseByte(leafVal));
168         }
169
170         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
171                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_DEFECT_BLOCKS_SUM)) != null) {
172             bPerformanceData.setDefectBlocksSum(Short.valueOf(leafVal));
173         }
174
175         if ((leafVal = Onf14DMDOMUtility.getLeafValue(airInterfaceHistPerf,
176                 Onf14DevicemanagerQNames.AIR_INTERFACE_HISTORICAL_PERFORMANCE_TIME_PERIOD)) != null) {
177             bPerformanceData.setTimePeriod(Integer.parseInt(leafVal));
178         }
179
180         this.setPerformanceData(bPerformanceData.build());
181     }
182 }