X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=renderer%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Frenderer%2FModelMappingUtils.java;h=8197b9ba06e47c79036d260987122550521d264c;hb=refs%2Fchanges%2F46%2F100646%2F27;hp=47947151b9478bb285ce440c0f524c160dcac259;hpb=211dacfed540c8ddbf552c229c74b6054b185720;p=transportpce.git diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java index 47947151b..8197b9ba0 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java @@ -10,10 +10,12 @@ package org.opendaylight.transportpce.renderer; import com.google.common.util.concurrent.ListenableFuture; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.Set; import java.util.TreeMap; import java.util.stream.Collectors; import org.opendaylight.transportpce.common.NodeIdPair; @@ -42,7 +44,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev2 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.FrequencyGHz; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.FrequencyTHz; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.ModulationFormat; -import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.OpucnTribSlotDef; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.OpucnTribSlotDef; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceDeleteInput; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.PathDescription; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.AToZDirection; @@ -55,6 +57,7 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdes import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.Nodes; import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.NodesBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.NodesKey; +import org.opendaylight.yangtools.yang.common.Decimal64; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.common.Uint32; @@ -89,8 +92,10 @@ public final class ModelMappingUtils { .getHigherSpectralIndexFromFrequency(atoZDirection.getAToZMaxFrequency().getValue()))); } // Set the MC-width for the OLM - olmSetupBldr.setMcWidth(new FrequencyGHz(atoZDirection.getAToZMaxFrequency().getValue() - .subtract(atoZDirection.getAToZMinFrequency().getValue()).multiply(new BigDecimal(1000)))); + olmSetupBldr.setMcWidth(new FrequencyGHz(Decimal64.valueOf( + atoZDirection.getAToZMaxFrequency().getValue().decimalValue() + .subtract(atoZDirection.getAToZMinFrequency().getValue().decimalValue()) + .multiply(new BigDecimal(1000))))); } return olmSetupBldr.build(); } @@ -134,9 +139,10 @@ public final class ModelMappingUtils { .setServiceName(serviceName) .setOperation(operation) .setNodes(nodeLists.getRendererNodeList()) - .setNmcWidth(new FrequencyGHz(GridConstant.WIDTH_40)) - .setMcWidth(new FrequencyGHz(pathDescription.getAToZDirection().getAToZMaxFrequency().getValue() - .subtract(pathDescription.getAToZDirection().getAToZMinFrequency().getValue()))); + .setNmcWidth(new FrequencyGHz(Decimal64.valueOf(GridConstant.WIDTH_40))) + .setMcWidth(new FrequencyGHz(Decimal64.valueOf( + pathDescription.getAToZDirection().getAToZMaxFrequency().getValue().decimalValue() + .subtract(pathDescription.getAToZDirection().getAToZMinFrequency().getValue().decimalValue())))); if (atoZDirection.getAToZWavelengthNumber() != null) { servicePathInputBuilder .setWaveNumber(atoZDirection.getAToZWavelengthNumber()); @@ -158,9 +164,10 @@ public final class ModelMappingUtils { .getHigherSpectralIndexFromFrequency(atoZDirection.getAToZMaxFrequency().getValue()))); } if (atoZDirection.getAToZMinFrequency() != null && atoZDirection.getAToZMaxFrequency() != null) { - servicePathInputBuilder.setCenterFreq( - GridUtils.getCentralFrequencyWithPrecision(atoZDirection.getAToZMinFrequency().getValue(), - atoZDirection.getAToZMaxFrequency().getValue(), scale)); + servicePathInputBuilder.setCenterFreq(GridUtils.getCentralFrequencyWithPrecision( + atoZDirection.getAToZMinFrequency().getValue().decimalValue(), + atoZDirection.getAToZMaxFrequency().getValue().decimalValue(), + scale)); } if (atoZDirection.getRate() != null && atoZDirection.getModulationFormat() != null) { Optional optionalModulationFormat = ModulationFormat @@ -190,9 +197,10 @@ public final class ModelMappingUtils { .setOperation(operation) .setServiceName(serviceName) .setNodes(nodeLists.getRendererNodeList()) - .setNmcWidth(new FrequencyGHz(GridConstant.WIDTH_40)) - .setMcWidth(new FrequencyGHz(pathDescription.getAToZDirection().getAToZMaxFrequency().getValue() - .subtract(pathDescription.getAToZDirection().getAToZMinFrequency().getValue()))); + .setNmcWidth(new FrequencyGHz(Decimal64.valueOf(GridConstant.WIDTH_40))) + .setMcWidth(new FrequencyGHz(Decimal64.valueOf( + pathDescription.getAToZDirection().getAToZMaxFrequency().getValue().decimalValue() + .subtract(pathDescription.getAToZDirection().getAToZMinFrequency().getValue().decimalValue())))); if (ztoADirection.getZToAWavelengthNumber() != null) { servicePathInputBuilder .setWaveNumber(ztoADirection.getZToAWavelengthNumber()); @@ -214,9 +222,10 @@ public final class ModelMappingUtils { .getHigherSpectralIndexFromFrequency(ztoADirection.getZToAMaxFrequency().getValue()))); } if (ztoADirection.getZToAMinFrequency() != null && ztoADirection.getZToAMaxFrequency() != null) { - servicePathInputBuilder.setCenterFreq( - GridUtils.getCentralFrequencyWithPrecision(ztoADirection.getZToAMinFrequency().getValue(), - ztoADirection.getZToAMaxFrequency().getValue(), scale)); + servicePathInputBuilder.setCenterFreq(GridUtils.getCentralFrequencyWithPrecision( + ztoADirection.getZToAMinFrequency().getValue().decimalValue(), + ztoADirection.getZToAMaxFrequency().getValue().decimalValue(), + scale)); } if (ztoADirection.getRate() != null && ztoADirection.getModulationFormat() != null) { Optional optionalModulationFormat = ModulationFormat @@ -276,10 +285,13 @@ public final class ModelMappingUtils { .setTribPortNumber(tribPort) .setTribSlot(minTribSlot); } - if (serviceRate.intValue() == 100) { - List opucnTribSlotDefList = new ArrayList<>(); - opucnTribSlotDefList.add(pathDescription.getAToZDirection().getMinTribSlot()); - opucnTribSlotDefList.add(pathDescription.getAToZDirection().getMaxTribSlot()); + if (serviceRate.intValue() == 100 && pathDescription.getAToZDirection().getMinTribSlot() != null + && pathDescription.getAToZDirection().getMaxTribSlot() != null) { + Set opucnTribSlotDefList = new HashSet<>(); + opucnTribSlotDefList.add( + new OpucnTribSlotDef(pathDescription.getAToZDirection().getMinTribSlot().getValue())); + opucnTribSlotDefList.add( + new OpucnTribSlotDef(pathDescription.getAToZDirection().getMaxTribSlot().getValue())); otnServicePathInputBuilder.setOpucnTribSlots(opucnTribSlotDefList); } return otnServicePathInputBuilder.build(); @@ -291,8 +303,8 @@ public final class ModelMappingUtils { return new ServicePathInputBuilder().setServiceName(serviceName).build(); } - public static List getLinksFromServicePathDescription(PathDescription pathDescription) { - List linkidList = new ArrayList<>(); + public static Set getLinksFromServicePathDescription(PathDescription pathDescription) { + Set linkidList = new HashSet<>(); pathDescription.getAToZDirection().getAToZ().values().stream() .filter(lk -> "Link".equals(lk.getResource().getResource().implementedInterface().getSimpleName())) .forEach(rsc -> {