Update devicemanager components
[ccsdk/features.git] / sdnr / wt / devicemanager-onf / provider / src / main / java / org / onap / ccsdk / features / sdnr / wt / devicemanager / onf / ifpac / microwave / pm / PerformanceDataAirInterface170324Builder.java
1 /*
2  * ============LICENSE_START========================================================================
3  * ONAP : ccsdk feature sdnr wt
4  * =================================================================================================
5  * Copyright (C) 2019 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 package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.pm;
19
20 import java.util.Optional;
21 import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.Helper;
22 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
23 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.OtnHistoryDataG;
24 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.AirInterfaceHistoricalPerformanceTypeG;
25 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ContainerHistoricalPerformanceTypeG;
26 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.air._interface.historical.performance.type.g.PerformanceData;
27 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.air._interface.pac.AirInterfaceConfiguration;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.GranularityPeriodType;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.PmdataEntityBuilder;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.pmdata.entity.PerformanceDataBuilder;
31 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
32
33 public class PerformanceDataAirInterface170324Builder extends PmdataEntityBuilder {
34
35     private PerformanceDataAirInterface170324Builder(NodeId nodeId, Lp lp, OtnHistoryDataG pmRecord) {
36         super();
37         Optional<GranularityPeriodType> gp = GranularityPeriodType.forName(Helper.nnGetGranularityPeriodType(pmRecord.getGranularityPeriod()).getName());
38         this.setGranularityPeriod(gp.orElse(GranularityPeriodType.Unknown));
39         this.setUuidInterface(Helper.nnGetUniversalId(lp.getUuid()).getValue());
40         this.setLayerProtocolName(Helper.nnGetLayerProtocolName(lp.getLayerProtocolName()).getValue());
41         this.setNodeName(nodeId.getValue());
42         this.setScannerId(pmRecord.getHistoryDataId());
43         this.setTimeStamp(pmRecord.getPeriodEndTime());
44         this.setSuspectIntervalFlag(pmRecord.isSuspectIntervalFlag());
45     }
46
47     /**
48      * Move data to generic type
49      * @param nodeId of node
50      * @param lp to get data from
51      * @param pmRecord         data itself
52      * @param airConfiguration configuration for additional parameter
53      */
54     public PerformanceDataAirInterface170324Builder(NodeId nodeId, Lp lp, AirInterfaceHistoricalPerformanceTypeG pmRecord,
55             AirInterfaceConfiguration airConfiguration) {
56         this(nodeId, lp, pmRecord);
57
58         this.setRadioSignalId(airConfiguration.getRadioSignalId());
59         PerformanceData pmr = pmRecord.getPerformanceData();
60         if (pmr != null) {
61             PerformanceDataBuilder bPerformanceData = new PerformanceDataBuilder();
62             bPerformanceData.setTimePeriod(pmr.getTimePeriod());
63             bPerformanceData.setEs(pmr.getEs());
64             bPerformanceData.setSes(pmr.getSes());
65             bPerformanceData.setCses(pmr.getCses());
66             bPerformanceData.setUnavailability(pmr.getUnavailability());
67             bPerformanceData.setTxLevelMin(pmr.getTxLevelMin());
68             bPerformanceData.setTxLevelMax(pmr.getTxLevelMax());
69             bPerformanceData.setTxLevelAvg(pmr.getTxLevelAvg());
70             bPerformanceData.setRxLevelMin(pmr.getRxLevelMin());
71             bPerformanceData.setRxLevelMax(pmr.getRxLevelMax());
72             bPerformanceData.setRxLevelAvg(pmr.getRxLevelAvg());
73             bPerformanceData.setTime2States(pmr.getTime2States());
74             bPerformanceData.setTime4StatesS(pmr.getTime4StatesS());
75             bPerformanceData.setTime4States(pmr.getTime4States());
76             bPerformanceData.setTime8States(pmr.getTime8States());
77             bPerformanceData.setTime16StatesS(pmr.getTime16StatesS());
78             bPerformanceData.setTime16States(pmr.getTime16States());
79             bPerformanceData.setTime32States(pmr.getTime32States());
80             bPerformanceData.setTime64States(pmr.getTime64States());
81             bPerformanceData.setTime128States(pmr.getTime128States());
82             bPerformanceData.setTime256States(pmr.getTime256States());
83             bPerformanceData.setTime512States(pmr.getTime512States());
84             bPerformanceData.setTime512StatesL(pmr.getTime512StatesL());
85             bPerformanceData.setTime1024States(pmr.getTime1024States());
86             bPerformanceData.setTime1024StatesL(pmr.getTime1024StatesL());
87             bPerformanceData.setTime2048States(pmr.getTime2048States());
88             bPerformanceData.setTime2048StatesL(pmr.getTime2048StatesL());
89             bPerformanceData.setTime4096States(pmr.getTime4096States());
90             bPerformanceData.setTime4096StatesL(pmr.getTime4096StatesL());
91             bPerformanceData.setTime8192States(pmr.getTime8192States());
92             bPerformanceData.setTime8192StatesL(pmr.getTime8192StatesL());
93             bPerformanceData.setSnirMin(pmr.getSnirMin());
94             bPerformanceData.setSnirMax(pmr.getSnirMax());
95             bPerformanceData.setSnirAvg(pmr.getSnirAvg());
96             bPerformanceData.setXpdMin(pmr.getXpdMin());
97             bPerformanceData.setXpdMax(pmr.getXpdMax());
98             bPerformanceData.setXpdAvg(pmr.getXpdAvg());
99             bPerformanceData.setRfTempMin(pmr.getRfTempMin());
100             bPerformanceData.setRfTempMax(pmr.getRfTempMax());
101             bPerformanceData.setRfTempAvg(pmr.getRfTempAvg());
102             bPerformanceData.setDefectBlocksSum(pmr.getDefectBlocksSum());
103             this.setPerformanceData(bPerformanceData.build());
104         }
105     }
106
107     /**
108      * Move data to generic type
109      * @param nodeId of node
110      * @param lp to get data from
111      * @param pmRecord         data itself
112      */
113     public PerformanceDataAirInterface170324Builder(NodeId nodeId, Lp lp, ContainerHistoricalPerformanceTypeG pmRecord) {
114         this(nodeId, lp, (OtnHistoryDataG) pmRecord);
115         org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.container.historical.performance.type.g.PerformanceData pmr = pmRecord
116                 .getPerformanceData();
117         if (pmr != null) {
118             PerformanceDataBuilder bPerformanceData = new PerformanceDataBuilder();
119             bPerformanceData.setTimePeriod(pmr.getTimePeriod());
120             bPerformanceData.setTxEthernetBytesMaxM(pmr.getTxEthernetBytesMaxM());
121             bPerformanceData.setTxEthernetBytesMaxS(pmr.getTxEthernetBytesMaxS());
122             bPerformanceData.setTxEthernetBytesSum(pmr.getTxEthernetBytesSum());
123             this.setPerformanceData(bPerformanceData.build());
124         }
125     }
126
127 }