X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=olm%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Folm%2Futil%2FOlmTransactionUtils.java;h=b8e6c2a63953be5ff41e420bd7c657062ad60f11;hb=refs%2Fchanges%2F46%2F100646%2F27;hp=9d092b79ef14253d9a8ad424f01c3f04618738d2;hpb=a4b512d1270488e09a42c6bad83785b7b5fbd9a8;p=transportpce.git diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmTransactionUtils.java b/olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmTransactionUtils.java index 9d092b79e..b8e6c2a63 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmTransactionUtils.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmTransactionUtils.java @@ -8,8 +8,6 @@ package org.opendaylight.transportpce.olm.util; -import java.math.BigDecimal; -import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -17,27 +15,30 @@ import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.Mapping; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.MappingBuilder; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.mapping.Mapping; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.mapping.MappingBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.FiberPmd; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.RatioDB; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.Direction; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.Location; +import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.OrgOpenroadmDeviceData; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.Interface; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceKey; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.OrgOpenroadmDevice; import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates; -import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink; -import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLinkKey; -import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.amplified.link.SectionElementBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenation; -import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.span.attributes.LinkConcatenationKey; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.OMSAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.AmplifiedLinkBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.link.oms.attributes.SpanBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.amplified.link.attributes.AmplifiedLink; +import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.amplified.link.attributes.AmplifiedLinkKey; +import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.amplified.link.attributes.amplified.link.SectionElementBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.span.attributes.LinkConcatenation1.FiberType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.span.attributes.LinkConcatenation1Builder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.Link1Builder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.networks.network.link.OMSAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.networks.network.link.oms.attributes.AmplifiedLinkBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.networks.network.link.oms.attributes.SpanBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.OpenroadmLinkType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.link.concatenation.LinkConcatenation; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.link.concatenation.LinkConcatenationBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.link.concatenation.LinkConcatenationKey; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.CurrentPmList; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.CurrentPmListBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.group.CurrentPm; @@ -64,6 +65,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.LinkId; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1Builder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.DestinationBuilder; @@ -72,6 +74,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types. import org.opendaylight.yangtools.yang.binding.Augmentation; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.common.Decimal64; import org.opendaylight.yangtools.yang.common.Uint16; import org.opendaylight.yangtools.yang.common.Uint32; @@ -80,7 +83,10 @@ public final class OlmTransactionUtils { private OlmTransactionUtils() { } - @SuppressWarnings("unchecked") + @SuppressWarnings({"unchecked","rawtypes"}) + // FIXME check if the InstanceIdentifier raw type can be avoided + // Raw types use are discouraged since they lack type safety. + // Resulting Problems are observed at run time and not at compile time public static void writeTransaction(DataBroker dataBroker, InstanceIdentifier instanceIdentifier, DataObject object) { @NonNull @@ -95,17 +101,21 @@ public final class OlmTransactionUtils { Map linkConcentationValues = new HashMap<>(); LinkConcatenation linkConcatenation = new LinkConcatenationBuilder() .withKey(new LinkConcatenationKey(Uint32.valueOf(1))) - .setFiberType(LinkConcatenation.FiberType.Truewave) - .setPmd(new FiberPmd(BigDecimal.ONE)) + .addAugmentation(new LinkConcatenation1Builder() + .setFiberType(FiberType.Truewave) + .setPmd(new FiberPmd(Decimal64.valueOf("1"))) + .build()) .setSRLGId(Uint32.valueOf(1)) - .setSRLGLength(Uint32.valueOf(1)) + .setSRLGLength(Decimal64.valueOf("1")) .build(); LinkConcatenation linkConcatenation2 = new LinkConcatenationBuilder() .withKey(new LinkConcatenationKey(Uint32.valueOf(2))) - .setFiberType(LinkConcatenation.FiberType.Truewave) - .setPmd(new FiberPmd(BigDecimal.ONE)) + .addAugmentation(new LinkConcatenation1Builder() + .setFiberType(FiberType.Truewave) + .setPmd(new FiberPmd(Decimal64.valueOf("1"))) + .build()) .setSRLGId(Uint32.valueOf(1)) - .setSRLGLength(Uint32.valueOf(1)) + .setSRLGLength(Decimal64.valueOf("1")) .build(); linkConcentationValues.put(linkConcatenation.key(),linkConcatenation); linkConcentationValues.put(linkConcatenation2.key(),linkConcatenation2); @@ -132,47 +142,52 @@ public final class OlmTransactionUtils { ietfNodeMap.put(ietfNodeC.key(),ietfNodeC); Map amplifiedLinkValues = new HashMap<>(); - org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink al = - new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes - .AmplifiedLinkBuilder() - .setSectionElement(new SectionElementBuilder().setSectionElement( - new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes - .amplified.link.section.element.section.element.SpanBuilder().setSpan( - new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link - .attributes.amplified.link.section.element.section.element.span.SpanBuilder() - .setAdministrativeState(AdminStates.InService) - .setAutoSpanloss(true) - .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE)) - .setLinkConcatenation(linkConcentationValues) - .setSpanlossBase(new RatioDB(BigDecimal.ONE)) - .setSpanlossCurrent(new RatioDB(BigDecimal.ONE)) + org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.amplified.link.attributes.AmplifiedLink al = + new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.amplified.link.attributes + .AmplifiedLinkBuilder() + .setSectionElement(new SectionElementBuilder().setSectionElement( + new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.amplified + .link.attributes + .amplified.link.section.element.section.element.SpanBuilder() + .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210 + .amplified.link.attributes.amplified.link.section.element + .section.element + .span.SpanBuilder() + .setAdministrativeState(AdminStates.InService) + .setAutoSpanloss(true) + .setEngineeredSpanloss(new RatioDB(Decimal64.valueOf("1"))) + .setLinkConcatenation(linkConcentationValues) + .setSpanlossBase(new RatioDB(Decimal64.valueOf("1"))) + .setSpanlossCurrent(new RatioDB(Decimal64.valueOf("1"))) + .build()) .build()) .build()) - .build()) - .setSectionEltNumber(Uint16.valueOf(1)) - .build(); - org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes.AmplifiedLink al2 = - new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes - .AmplifiedLinkBuilder() - .setSectionElement(new SectionElementBuilder().setSectionElement( - new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link.attributes - .amplified.link.section.element.section.element.SpanBuilder().setSpan( - new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev200529.amplified.link - .attributes.amplified.link.section.element.section.element.span.SpanBuilder() - .setAdministrativeState(AdminStates.InService) - .setAutoSpanloss(true) - .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE)) - .setLinkConcatenation(linkConcentationValues) - .setSpanlossBase(new RatioDB(BigDecimal.ONE)) - .setSpanlossCurrent(new RatioDB(BigDecimal.ONE)) + .setSectionEltNumber(Uint16.valueOf(1)) + .build(); + org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.amplified.link.attributes.AmplifiedLink al2 = + new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.amplified.link.attributes + .AmplifiedLinkBuilder() + .setSectionElement(new SectionElementBuilder().setSectionElement( + new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.amplified + .link.attributes + .amplified.link.section.element.section.element.SpanBuilder() + .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210 + .amplified.link.attributes.amplified.link.section.element + .section.element + .span.SpanBuilder() + .setAdministrativeState(AdminStates.InService) + .setAutoSpanloss(true) + .setEngineeredSpanloss(new RatioDB(Decimal64.valueOf("1"))) + .setLinkConcatenation(linkConcentationValues) + .setSpanlossBase(new RatioDB(Decimal64.valueOf("1"))) + .setSpanlossCurrent(new RatioDB(Decimal64.valueOf("1"))) + .build()) .build()) .build()) - .build()) - .setSectionEltNumber(Uint16.valueOf(1)) - .build(); + .setSectionEltNumber(Uint16.valueOf(1)) + .build(); amplifiedLinkValues.put(al.key(),al); amplifiedLinkValues.put(al2.key(),al2); - Map>, Augmentation> map = Collections.emptyMap(); Augmentation aug11 = new Link1Builder() .setAmplified(true) .setOMSAttributes(new OMSAttributesBuilder() @@ -180,28 +195,33 @@ public final class OlmTransactionUtils { .setSpan(new SpanBuilder().build()) .build()) .build(); - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1 aug12 = - new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder() - .setLinkType(OpenroadmLinkType.ROADMTOROADM).build(); + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1 aug12 = + new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1Builder() + .setLinkType(OpenroadmLinkType.ROADMTOROADM).build(); Augmentation aug21 = new Link1Builder() .setAmplified(true) .setOMSAttributes(new OMSAttributesBuilder() .setAmplifiedLink(new AmplifiedLinkBuilder().setAmplifiedLink(amplifiedLinkValues).build()) .setSpan(new SpanBuilder().build()).build()) .build(); - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1 aug22 = - new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder() - .setLinkType(OpenroadmLinkType.ROADMTOROADM).build(); + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1 aug22 = + new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1Builder() + .setLinkType(OpenroadmLinkType.ROADMTOROADM).build(); // create the roadm-to-roadm link to be measured Link roadm2roadmLink = new LinkBuilder().setLinkId(new LinkId("ROADM-A1-to-ROADM-C1")) - .setSource(new SourceBuilder().setSourceNode(ietfNodeA.getNodeId()).setSourceTp("DEG2-TTP-TXRX").build()) - .setDestination( - new DestinationBuilder().setDestNode(ietfNodeC.getNodeId()).setDestTp("DEG1-TTP-TXRX").build()) - .addAugmentation(aug11) - .addAugmentation(aug12) - .addAugmentation(aug21) - .addAugmentation(aug22) - .build(); + .setSource(new SourceBuilder() + .setSourceNode(ietfNodeA.getNodeId()) + .setSourceTp(new TpId("DEG2-TTP-TXRX")) + .build()) + .setDestination(new DestinationBuilder() + .setDestNode(ietfNodeC.getNodeId()) + .setDestTp(new TpId("DEG1-TTP-TXRX")) + .build()) + .addAugmentation(aug11) + .addAugmentation(aug12) + .addAugmentation(aug21) + .addAugmentation(aug22) + .build(); // create the ietf network Network1 openroadmAugmToIetfNetwork = new Network1Builder() .setLink(Map.of(roadm2roadmLink.key(),roadm2roadmLink)).build(); @@ -227,23 +247,28 @@ public final class OlmTransactionUtils { public static Optional getCurrentPmListA() { Measurement measurementA = new MeasurementBuilder() .withKey(new MeasurementKey(PmGranularity._15min)) - .setGranularity(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmGranularity._15min) - .setPmParameterValue(new PmDataType(new BigDecimal("-3.5"))) + .setGranularity(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215 + .PmGranularity._15min) + .setPmParameterValue(new PmDataType(Decimal64.valueOf("-3.5"))) .setValidity(Validity.Complete) .build(); CurrentPm cpA = new CurrentPmBuilder() .withKey(new CurrentPmKey(Direction.Bidirectional, "", Location.NotApplicable, PmNamesEnum.OpticalPowerOutput)) - .setType(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmNamesEnum.OpticalPowerOutput) - .setMeasurement(Map.of(measurementA.key(),measurementA)) + .setType(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmNamesEnum + .OpticalPowerOutput) + .setMeasurement(Map.of(measurementA.key(),measurementA)) + .build(); + InstanceIdentifier interfaceIIDA = InstanceIdentifier + .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class) + .child(Interface.class, new InterfaceKey("OTS-DEG2-TTP-TXRX")) .build(); - InstanceIdentifier interfaceIIDA = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(Interface.class, new InterfaceKey("OTS-DEG2-TTP-TXRX")); CurrentPmEntry currentPmEntryA = new CurrentPmEntryBuilder() .setCurrentPm(Map.of(cpA.key(),cpA)) .setPmResourceInstance(interfaceIIDA) .setPmResourceType( - org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181019.ResourceTypeEnum.Interface) + org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181019.ResourceTypeEnum + .Interface) .setPmResourceTypeExtension("") .setRetrievalTime(new DateAndTime("2018-06-07T13:22:58+00:00")) .build(); @@ -254,22 +279,26 @@ public final class OlmTransactionUtils { public static Optional getCurrentPmListC() { Measurement measurementC = new MeasurementBuilder() .setGranularity(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmGranularity._15min) - .setPmParameterValue(new PmDataType(new BigDecimal("-18.1"))) + .setPmParameterValue(new PmDataType(Decimal64.valueOf("-18.1"))) .setValidity(Validity.Complete) .build(); CurrentPm cpC = new CurrentPmBuilder() .withKey(new CurrentPmKey(Direction.Bidirectional, "", Location.NotApplicable, PmNamesEnum.OpticalPowerInput)) - .setType(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmNamesEnum.OpticalPowerInput) - .setMeasurement(Map.of(measurementC.key(),measurementC)) + .setType(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmNamesEnum + .OpticalPowerInput) + .setMeasurement(Map.of(measurementC.key(),measurementC)) + .build(); + InstanceIdentifier interfaceIIDC = InstanceIdentifier + .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class) + .child(Interface.class, new InterfaceKey("OTS-DEG1-TTP-TXRX")) .build(); - InstanceIdentifier interfaceIIDC = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(Interface.class, new InterfaceKey("OTS-DEG1-TTP-TXRX")); CurrentPmEntry currentPmEntryC = new CurrentPmEntryBuilder() .setCurrentPm(Map.of(cpC.key(),cpC)) .setPmResourceInstance(interfaceIIDC) .setPmResourceType( - org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181019.ResourceTypeEnum.Interface) + org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181019 + .ResourceTypeEnum.Interface) .setPmResourceTypeExtension("") .setRetrievalTime(new DateAndTime("2018-06-07T13:22:58+00:00")) .build();