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
 
  10  * http://www.apache.org/licenses/LICENSE-2.0
 
  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
 
  16  * ============LICENSE_END==========================================================================
 
  18 package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf.ifpac.microwave.pm;
 
  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.rev180907.AirInterfaceHistoricalPerformanceTypeG;
 
  25 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ContainerHistoricalPerformanceTypeG;
 
  26 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.historical.performance.type.g.PerformanceData;
 
  27 import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.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;
 
  33 public class PerformanceDataAirInterface180907Builder extends PmdataEntityBuilder {
 
  35     private PerformanceDataAirInterface180907Builder(NodeId nodeId, Lp lp, OtnHistoryDataG pmRecord) {
 
  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());
 
  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
 
  54     public PerformanceDataAirInterface180907Builder(NodeId nodeId, Lp lp, AirInterfaceHistoricalPerformanceTypeG pmRecord,
 
  55             AirInterfaceConfiguration airConfiguration) {
 
  56         this(nodeId, lp, pmRecord);
 
  58         this.setRadioSignalId(airConfiguration.getRadioSignalId());
 
  59         PerformanceData pmr = pmRecord.getPerformanceData();
 
  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());
 
 108      * Move data to generic type
 
 109      * @param nodeId of node
 
 110      * @param lp to get data from
 
 111      * @param pmRecord         data itself
 
 113     public PerformanceDataAirInterface180907Builder(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.rev180907.container.historical.performance.type.g.PerformanceData pmr = pmRecord
 
 116                 .getPerformanceData();
 
 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());