X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=pce%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fpce%2Futils%2FTransactionUtils.java;h=e9e07ec2d6e42e5f44b02b604323f704115f48c6;hb=b0715d1ebf9280df4e39de69d4bc3bc3164267b6;hp=3ffda99efdb158e3cf8cab869eb4a918598e5e73;hpb=0d1c0746ea2b384ce5e7dc9309fdb9eef04567ce;p=transportpce.git diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/utils/TransactionUtils.java b/pce/src/test/java/org/opendaylight/transportpce/pce/utils/TransactionUtils.java index 3ffda99ef..e9e07ec2d 100644 --- a/pce/src/test/java/org/opendaylight/transportpce/pce/utils/TransactionUtils.java +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/utils/TransactionUtils.java @@ -9,8 +9,6 @@ package org.opendaylight.transportpce.pce.utils; -import java.math.BigDecimal; -import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -19,31 +17,34 @@ import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.transportpce.common.fixedflex.GridUtils; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210425.mapping.Mapping; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210425.mapping.MappingBuilder; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220922.mapping.Mapping; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220922.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.network.rev200529.Node1Builder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526.Node1Builder; +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.topology.rev200529.networks.network.node.DegreeAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.DegreeAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.SrgAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmLinkType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev230526.amplified.link.attributes.AmplifiedLink; +import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev230526.amplified.link.attributes.AmplifiedLinkKey; +import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev230526.amplified.link.attributes.amplified.link.SectionElementBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev230526.span.attributes.LinkConcatenation1.FiberType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev230526.span.attributes.LinkConcatenation1Builder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.Link1Builder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.link.OMSAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.link.oms.attributes.AmplifiedLinkBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.link.oms.attributes.SpanBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.node.DegreeAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.node.DegreeAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.node.SrgAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.node.SrgAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev230526.OpenroadmLinkType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev230526.OpenroadmNodeType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev230526.link.concatenation.LinkConcatenation; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev230526.link.concatenation.LinkConcatenationBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev230526.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; @@ -67,6 +68,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; @@ -75,6 +77,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; @@ -83,7 +86,10 @@ public final class TransactionUtils { private TransactionUtils() { } - @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 @@ -97,17 +103,21 @@ public final class TransactionUtils { Map linkConcentationValues = new HashMap<>(); LinkConcatenation linkConcatenation = new LinkConcatenationBuilder() - .setFiberType(LinkConcatenation.FiberType.Truewave) - .setPmd(new FiberPmd(BigDecimal.ONE)) - .setSRLGId(Uint32.valueOf(1)) - .setSRLGLength(Uint32.valueOf(1)) - .build(); + .addAugmentation(new LinkConcatenation1Builder() + .setFiberType(FiberType.Truewave) + .setPmd(new FiberPmd(Decimal64.valueOf("1"))) + .build()) + .setSRLGId(Uint32.valueOf(1)) + .setSRLGLength(Decimal64.valueOf("1")) + .build(); LinkConcatenation linkConcatenation2 = new LinkConcatenationBuilder() - .setFiberType(LinkConcatenation.FiberType.Truewave) - .setPmd(new FiberPmd(BigDecimal.ONE)) - .setSRLGId(Uint32.valueOf(1)) - .setSRLGLength(Uint32.valueOf(1)) - .build(); + .addAugmentation(new LinkConcatenation1Builder() + .setFiberType(FiberType.Truewave) + .setPmd(new FiberPmd(Decimal64.valueOf("1"))) + .build()) + .setSRLGId(Uint32.valueOf(1)) + .setSRLGLength(Decimal64.valueOf("1")) + .build(); linkConcentationValues.put(linkConcatenation.key(),linkConcatenation); linkConcentationValues.put(linkConcatenation2.key(),linkConcatenation2); // create 2 openroadm-topology degree nodes, end points of the link to be @@ -133,52 +143,45 @@ public final class TransactionUtils { ietfNodeList.put(ietfNodeA.key(),ietfNodeA); ietfNodeList.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)) - .build()) - .build()) + Map amplifiedLinkValues = new HashMap<>(); + var al = new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev230526.amplified.link.attributes + .AmplifiedLinkBuilder() + .setSectionElement(new SectionElementBuilder() + .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev230526.amplified.link + .attributes.amplified.link.section.element.section.element.SpanBuilder() + .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev230526.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()) - .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)) - .build()) - .build()) + .build()) + .build()) + .setSectionEltNumber(Uint16.valueOf(1)) + .build(); + var al2 = new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev230526.amplified.link.attributes + .AmplifiedLinkBuilder() + .setSectionElement(new SectionElementBuilder() + .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev230526.amplified.link + .attributes.amplified.link.section.element.section.element.SpanBuilder() + .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev230526.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()) - .setSectionEltNumber(Uint16.valueOf(1)).build(); + .build()) + .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() @@ -186,26 +189,28 @@ public final class TransactionUtils { .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() - .setOppositeLink(new LinkId("link 1")) - .setLinkType(OpenroadmLinkType.ROADMTOROADM).build(); + var aug12 = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526.Link1Builder() + .setOppositeLink(new LinkId("link 1")) + .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(); + .setAmplified(true) + .setOMSAttributes(new OMSAttributesBuilder() + .setAmplifiedLink(new AmplifiedLinkBuilder() + .setAmplifiedLink(amplifiedLinkValues) + .build()) + .setSpan(new SpanBuilder().build()) + .build()) + .build(); + var aug22 = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526.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()) + .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) @@ -240,7 +245,7 @@ public final class TransactionUtils { public static Optional getCurrentPmListA() { Measurement measurementA = new MeasurementBuilder() .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() @@ -248,8 +253,10 @@ public final class TransactionUtils { .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) @@ -266,7 +273,7 @@ public final class TransactionUtils { 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(); Map measurementListC = new HashMap<>(); @@ -276,8 +283,10 @@ public final class TransactionUtils { .OpticalPowerInput) .setMeasurement(measurementListC) .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) @@ -291,9 +300,8 @@ public final class TransactionUtils { .setCurrentPmEntry(Map.of(currentPmEntryC.key(),currentPmEntryC)).build()); } - private static org.opendaylight - .yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1 getNode1() { - return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Node1Builder() + private static org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.Node1 getNode1() { + return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.Node1Builder() .setSrgAttributes(getSrgAttributes()) .setDegreeAttributes(getDegAttributes()) .build();