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=913d15794aab206c14d4638e3c2b6f2c93d669b3;hb=67763b4d82e44c68fdbc765cdeec5496ff65b01e;hp=d355fa2a3a48cd077139a382909f876ad5875efa;hpb=5772431d872cdfa6174e4fd155f9400e583af04b;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 d355fa2a3..913d15794 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 @@ -10,42 +10,40 @@ package org.opendaylight.transportpce.pce.utils; import java.math.BigDecimal; -import java.util.ArrayList; import java.util.Collections; -import java.util.List; +import java.util.HashMap; import java.util.Map; import java.util.Optional; 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.rev200429.network.nodes.Mapping; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.nodes.MappingBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.FiberPmd; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.RatioDB; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1Builder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State; -import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes.AvailableWavelengthsBuilder; +import org.opendaylight.transportpce.common.fixedflex.GridUtils; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210315.mapping.Mapping; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210315.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.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.rev181130.AdminStates; -import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink; -import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.amplified.link.SectionElementBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenation; -import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1Builder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.OMSAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.AmplifiedLinkBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.SpanBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.DegreeAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.DegreeAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.SrgAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.SrgAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType; +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.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; @@ -54,6 +52,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.l import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.list.CurrentPmEntryBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.val.group.Measurement; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.val.group.MeasurementBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.val.group.MeasurementKey; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmDataType; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.Validity; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId; @@ -61,8 +60,10 @@ 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.rev180226.networks.NetworkBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeKey; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNode; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNodeBuilder; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNodeKey; 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; @@ -74,6 +75,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.Uint16; import org.opendaylight.yangtools.yang.common.Uint32; public final class TransactionUtils { @@ -93,60 +95,58 @@ public final class TransactionUtils { public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks .Network getNetworkForSpanLoss() { - List linkConcentationValues = new ArrayList<>(); + Map linkConcentationValues = new HashMap<>(); LinkConcatenation linkConcatenation = new LinkConcatenationBuilder() .setFiberType(LinkConcatenation.FiberType.Truewave) .setPmd(new FiberPmd(BigDecimal.ONE)) - .setSRLGId(Long.valueOf(1)) - .setSRLGLength(Long.valueOf(1)) + .setSRLGId(Uint32.valueOf(1)) + .setSRLGLength(Uint32.valueOf(1)) .build(); LinkConcatenation linkConcatenation2 = new LinkConcatenationBuilder() .setFiberType(LinkConcatenation.FiberType.Truewave) .setPmd(new FiberPmd(BigDecimal.ONE)) - .setSRLGId(Long.valueOf(1)) - .setSRLGLength(Long.valueOf(1)) + .setSRLGId(Uint32.valueOf(1)) + .setSRLGLength(Uint32.valueOf(1)) .build(); - linkConcentationValues.add(linkConcatenation); - linkConcentationValues.add(linkConcatenation2); + linkConcentationValues.put(linkConcatenation.key(),linkConcatenation); + linkConcentationValues.put(linkConcatenation2.key(),linkConcatenation2); // create 2 openroadm-topology degree nodes, end points of the link to be // measured - List supportingNodeListA = new ArrayList<>(); - supportingNodeListA.add(new SupportingNodeBuilder().setNetworkRef(new NetworkId("openroadm-network")) - .setNodeRef(new NodeId("ROADM-A1")).build()); - Node ietfNodeA = new NodeBuilder().setNodeId(new NodeId("ROADM-A1-DEG2")).setSupportingNode(supportingNodeListA) - .addAugmentation(Node1.class,getNode1AugImpl()).build(); - List supportingNodeListC = new ArrayList<>(); - supportingNodeListC.add(new SupportingNodeBuilder().setNetworkRef(new NetworkId("openroadm-network")) - - .setNodeRef(new NodeId("ROADM-C1")).build()); - supportingNodeListC.add(new SupportingNodeBuilder().setNetworkRef(new NetworkId("clli-network")) - .setNodeRef(new NodeId("ROADM-C2")).build()); + SupportingNode supportingNodeA = new SupportingNodeBuilder().setNetworkRef(new NetworkId("openroadm-network")) + .setNodeRef(new NodeId("ROADM-A1")).build(); + Node ietfNodeA = new NodeBuilder().setNodeId(new NodeId("ROADM-A1-DEG2")) + .setSupportingNode(Map.of(supportingNodeA.key(),supportingNodeA)) + .addAugmentation(getNode1AugImpl()).build(); + Map supportingNodeListC = new HashMap<>(); + SupportingNode supportingNode = new SupportingNodeBuilder().setNetworkRef(new NetworkId("openroadm-network")) + .setNodeRef(new NodeId("ROADM-C1")).build(); + supportingNodeListC.put(supportingNode.key(),supportingNode); + SupportingNode supportingNode2 = new SupportingNodeBuilder().setNetworkRef(new NetworkId("clli-network")) + .setNodeRef(new NodeId("ROADM-C2")).build(); + supportingNodeListC.put(supportingNode2.key(),supportingNode2); Node ietfNodeC = new NodeBuilder().setNodeId(new NodeId("ROADM-C1-DEG1")).setSupportingNode(supportingNodeListC) - .addAugmentation(Node1.class,getNode1AugImpl()) - .addAugmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1.class, - getNode1()) + .addAugmentation(getNode1AugImpl()) + .addAugmentation(getNode1()) .build(); - List ietfNodeList = new ArrayList<>(); - ietfNodeList.add(ietfNodeA); - ietfNodeList.add(ietfNodeC); + Map ietfNodeList = new HashMap<>(); + ietfNodeList.put(ietfNodeA.key(),ietfNodeA); + ietfNodeList.put(ietfNodeC.key(),ietfNodeC); - List - amplifiedLinkValues = new ArrayList<>(); - org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al = - new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes + 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.rev181130 + .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.rev181130.amplified + 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) - .setClfi("clfi") .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE)) .setLinkConcatenation(linkConcentationValues) .setSpanlossBase(new RatioDB(BigDecimal.ONE)) @@ -154,21 +154,20 @@ public final class TransactionUtils { .build()) .build()) .build()) - .setSectionEltNumber(Integer.valueOf(1)).build(); - org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al2 = - new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes + .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.rev181130.amplified.link + 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.rev181130 + 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) - .setClfi("clfi") .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE)) .setLinkConcatenation(linkConcentationValues) .setSpanlossBase(new RatioDB(BigDecimal.ONE)) @@ -176,61 +175,50 @@ public final class TransactionUtils { .build()) .build()) .build()) - .setSectionEltNumber(Integer.valueOf(1)).build(); - amplifiedLinkValues.add(al); - amplifiedLinkValues.add(al2); + .setSectionEltNumber(Uint16.valueOf(1)).build(); + amplifiedLinkValues.put(al.key(),al); + amplifiedLinkValues.put(al2.key(),al2); Map>, Augmentation> map = Collections.emptyMap(); - Augmentation aug11 = new Link1Builder().setAdministrativeGroup(Long.valueOf(123)) - .setAdministrativeState(State.InService) + Augmentation aug11 = new Link1Builder() .setAmplified(true) - .setLinkLatency(Long.valueOf(123)) - .setLinkLength(BigDecimal.valueOf(123)) .setOMSAttributes(new OMSAttributesBuilder() .setAmplifiedLink(new AmplifiedLinkBuilder().setAmplifiedLink(amplifiedLinkValues).build()) - .setOppositeLink(new LinkId("link 1")) .setSpan(new SpanBuilder().build()) - .setTEMetric(Long.valueOf(123)).build()) - .setOperationalState(State.InService).build(); - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1 aug12 = - new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder() + .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(); Augmentation aug21 = new Link1Builder() - .setAdministrativeGroup(Long.valueOf(123)) - .setAdministrativeState(State.InService) .setAmplified(true) - .setLinkLatency(Long.valueOf(123)) - .setLinkLength(BigDecimal.valueOf(123)) .setOMSAttributes(new OMSAttributesBuilder() .setAmplifiedLink(new AmplifiedLinkBuilder().setAmplifiedLink(amplifiedLinkValues).build()) - .setOppositeLink(new LinkId("link 1")) .setSpan(new SpanBuilder().build()) - .setTEMetric(Long.valueOf(123)).build()) - .setOperationalState(State.InService).build(); - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1 aug22 = - new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1Builder() + .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(); // create the roadm-to-roadm link to be measured - List ietfLinkList = new ArrayList<>(); 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(Link1.class, aug11) - .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class, - aug12) - .addAugmentation(Link1.class, aug21) - .addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Link1.class, - aug22) + .addAugmentation(aug11) + .addAugmentation(aug12) + .addAugmentation(aug21) + .addAugmentation(aug22) .build(); - ietfLinkList.add(roadm2roadmLink); // create the ietf network - Network1 openroadmAugmToIetfNetwork = new Network1Builder().setLink(ietfLinkList).build(); + Network1 openroadmAugmToIetfNetwork = new Network1Builder() + .setLink(Map.of(roadm2roadmLink.key(),roadm2roadmLink)).build(); // openroadm Topology builder NetworkBuilder ietfNetworkBldr = new NetworkBuilder() .setNetworkId(new NetworkId("openroadm-topology")) .setNode(ietfNodeList) - .addAugmentation(Network1.class, openroadmAugmToIetfNetwork); + .addAugmentation(openroadmAugmToIetfNetwork); return ietfNetworkBldr.build(); } @@ -255,19 +243,15 @@ public final class TransactionUtils { .setPmParameterValue(new PmDataType(new BigDecimal("-3.5"))) .setValidity(Validity.Complete) .build(); - List measurementListA = new ArrayList<>(); - measurementListA.add(measurementA); CurrentPm cpA = new CurrentPmBuilder() .setType(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmNamesEnum .OpticalPowerOutput) - .setMeasurement(measurementListA) + .setMeasurement(Map.of(measurementA.key(),measurementA)) .build(); - List currentPmListA = new ArrayList<>(); - currentPmListA.add(cpA); InstanceIdentifier interfaceIIDA = InstanceIdentifier.create(OrgOpenroadmDevice.class) .child(Interface.class, new InterfaceKey("OTS-DEG2-TTP-TXRX")); CurrentPmEntry currentPmEntryA = new CurrentPmEntryBuilder() - .setCurrentPm(currentPmListA) + .setCurrentPm(Map.of(cpA.key(),cpA)) .setPmResourceInstance(interfaceIIDA) .setPmResourceType( org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181019.ResourceTypeEnum @@ -275,9 +259,8 @@ public final class TransactionUtils { .setPmResourceTypeExtension("") .setRetrievalTime(new DateAndTime("2018-06-07T13:22:58+00:00")) .build(); - List currentPmEntryListA = new ArrayList<>(); - currentPmEntryListA.add(currentPmEntryA); - return Optional.of(new CurrentPmListBuilder().setCurrentPmEntry(currentPmEntryListA).build()); + return Optional.of(new CurrentPmListBuilder() + .setCurrentPmEntry(Map.of(currentPmEntryA.key(),currentPmEntryA)).build()); } public static Optional getCurrentPmListC() { @@ -286,19 +269,17 @@ public final class TransactionUtils { .setPmParameterValue(new PmDataType(new BigDecimal("-18.1"))) .setValidity(Validity.Complete) .build(); - List measurementListC = new ArrayList<>(); - measurementListC.add(measurementC); + Map measurementListC = new HashMap<>(); + measurementListC.put(measurementC.key(),measurementC); CurrentPm cpC = new CurrentPmBuilder() .setType(org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmNamesEnum .OpticalPowerInput) .setMeasurement(measurementListC) .build(); - List currentPmListC = new ArrayList<>(); - currentPmListC.add(cpC); InstanceIdentifier interfaceIIDC = InstanceIdentifier.create(OrgOpenroadmDevice.class) .child(Interface.class, new InterfaceKey("OTS-DEG1-TTP-TXRX")); CurrentPmEntry currentPmEntryC = new CurrentPmEntryBuilder() - .setCurrentPm(currentPmListC) + .setCurrentPm(Map.of(cpC.key(),cpC)) .setPmResourceInstance(interfaceIIDC) .setPmResourceType( org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181019.ResourceTypeEnum @@ -306,50 +287,26 @@ public final class TransactionUtils { .setPmResourceTypeExtension("") .setRetrievalTime(new DateAndTime("2018-06-07T13:22:58+00:00")) .build(); - List currentPmEntryListC = new ArrayList<>(); - currentPmEntryListC.add(currentPmEntryC); - return Optional.of(new CurrentPmListBuilder().setCurrentPmEntry(currentPmEntryListC).build()); + return Optional.of(new CurrentPmListBuilder() + .setCurrentPmEntry(Map.of(currentPmEntryC.key(),currentPmEntryC)).build()); } private static org.opendaylight - .yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 getNode1() { - return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1Builder() + .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() .setSrgAttributes(getSrgAttributes()) .setDegreeAttributes(getDegAttributes()) .build(); } private static DegreeAttributes getDegAttributes() { - return (new DegreeAttributesBuilder()) - .setAvailableWavelengths( - Collections.singletonList(new AvailableWavelengthsBuilder() - .setIndex(20L) - .build())) + return new DegreeAttributesBuilder() + .setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available()) .build(); } private static SrgAttributes getSrgAttributes() { - return new SrgAttributesBuilder().setAvailableWavelengths(create96AvalWaveSrg()).build(); - } - - public static List create96AvalWaveSrg() { - - List - waveList = new ArrayList<>(); - - for (int i = 1; i < 97; i++) { - org.opendaylight.yang.gen - .v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengthsBuilder - avalBldr = new org.opendaylight.yang.gen - .v1.http.org.openroadm.srg.rev181130.srg.node.attributes.AvailableWavelengthsBuilder() - .setIndex(Uint32.valueOf(i)) - .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev181130.srg.node.attributes - .AvailableWavelengthsKey(Uint32.valueOf(i))); - waveList.add(avalBldr.build()); - } - return waveList; + return new SrgAttributesBuilder().setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available()).build(); }