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=f49968974e1477d4fd9cfdd87d867c9ad347678e;hp=bc9bf5cb9a9d19eee5eb76aaf8401fb41677e917;hpb=8bd6a578259937ace638f1ee93a62749ad1a8ca4;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 bc9bf5cb9..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.rev210310.network.nodes.Mapping; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210310.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,45 +142,45 @@ 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 + 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.rev200529.amplified + 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.rev200529 + .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(BigDecimal.ONE)) + .setEngineeredSpanloss(new RatioDB(Decimal64.valueOf("1"))) .setLinkConcatenation(linkConcentationValues) - .setSpanlossBase(new RatioDB(BigDecimal.ONE)) - .setSpanlossCurrent(new RatioDB(BigDecimal.ONE)) + .setSpanlossBase(new RatioDB(Decimal64.valueOf("1"))) + .setSpanlossCurrent(new RatioDB(Decimal64.valueOf("1"))) .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 + 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.rev200529.amplified + 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.rev200529 + .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(BigDecimal.ONE)) + .setEngineeredSpanloss(new RatioDB(Decimal64.valueOf("1"))) .setLinkConcatenation(linkConcentationValues) - .setSpanlossBase(new RatioDB(BigDecimal.ONE)) - .setSpanlossCurrent(new RatioDB(BigDecimal.ONE)) + .setSpanlossBase(new RatioDB(Decimal64.valueOf("1"))) + .setSpanlossCurrent(new RatioDB(Decimal64.valueOf("1"))) .build()) .build()) .build()) @@ -178,7 +188,6 @@ public final class OlmTransactionUtils { .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() @@ -186,8 +195,8 @@ 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() + 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) @@ -195,15 +204,19 @@ public final class OlmTransactionUtils { .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() + 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") + .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()) - .setDestination( - new DestinationBuilder().setDestNode(ietfNodeC.getNodeId()).setDestTp("DEG1-TTP-TXRX").build()) .addAugmentation(aug11) .addAugmentation(aug12) .addAugmentation(aug21) @@ -236,7 +249,7 @@ public final class OlmTransactionUtils { .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"))) + .setPmParameterValue(new PmDataType(Decimal64.valueOf("-3.5"))) .setValidity(Validity.Complete) .build(); CurrentPm cpA = new CurrentPmBuilder() @@ -246,8 +259,10 @@ public final class OlmTransactionUtils { .OpticalPowerOutput) .setMeasurement(Map.of(measurementA.key(),measurementA)) .build(); - InstanceIdentifier interfaceIIDA = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(Interface.class, new InterfaceKey("OTS-DEG2-TTP-TXRX")); + InstanceIdentifier interfaceIIDA = InstanceIdentifier + .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class) + .child(Interface.class, new InterfaceKey("OTS-DEG2-TTP-TXRX")) + .build(); CurrentPmEntry currentPmEntryA = new CurrentPmEntryBuilder() .setCurrentPm(Map.of(cpA.key(),cpA)) .setPmResourceInstance(interfaceIIDA) @@ -264,7 +279,7 @@ 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() @@ -274,8 +289,10 @@ public final class OlmTransactionUtils { .OpticalPowerInput) .setMeasurement(Map.of(measurementC.key(),measurementC)) .build(); - InstanceIdentifier interfaceIIDC = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(Interface.class, new InterfaceKey("OTS-DEG1-TTP-TXRX")); + InstanceIdentifier interfaceIIDC = InstanceIdentifier + .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class) + .child(Interface.class, new InterfaceKey("OTS-DEG1-TTP-TXRX")) + .build(); CurrentPmEntry currentPmEntryC = new CurrentPmEntryBuilder() .setCurrentPm(Map.of(cpC.key(),cpC)) .setPmResourceInstance(interfaceIIDC) @@ -288,4 +305,4 @@ public final class OlmTransactionUtils { return Optional.of(new CurrentPmListBuilder() .setCurrentPmEntry(Map.of(currentPmEntryC.key(),currentPmEntryC)).build()); } -} \ No newline at end of file +}