X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=pce%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fpce%2Fnetworkanalyzer%2FPceOtnNodeTest.java;h=0288656d4ce2c3e420ccdf7ccdee3a7abd4b0c79;hb=HEAD;hp=052d44bdb478477ecbfeb9bccf164c95e9a11f72;hpb=9f2b937eb5fb01c7a2c94495037d9c1621366b9d;p=transportpce.git diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNodeTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNodeTest.java index 052d44bdb..0288656d4 100644 --- a/pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNodeTest.java +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNodeTest.java @@ -8,32 +8,47 @@ package org.opendaylight.transportpce.pce.networkanalyzer; -import com.google.common.collect.ImmutableList; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import org.junit.Before; -import org.junit.Test; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.HashMap; +import java.util.Map; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.opendaylight.transportpce.common.NetworkUtils; +import org.opendaylight.transportpce.common.StringConstants; +import org.opendaylight.transportpce.common.fixedflex.GridUtils; import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.TerminationPoint1Builder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev181130.degree.node.attributes.AvailableWavelengthsBuilder; -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.topology.rev181130.networks.network.node.termination.point.CpAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.CtpAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.PpAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.RxTtpAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.TxTtpAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrClientAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrNetworkAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.node.termination.point.XpdrPortAttributesBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmNodeType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmTpType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526.Node1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526.TerminationPoint1Builder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State; +import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates; +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.topology.rev230526.networks.network.node.termination.point.CpAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.node.termination.point.CtpAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.node.termination.point.PpAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.node.termination.point.RxTtpAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.node.termination.point.TxTtpAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.node.termination.point.XpdrClientAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.node.termination.point.XpdrNetworkAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.node.termination.point.XpdrPortAttributesBuilder; +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.OpenroadmTpType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev230526.xpdr.tp.supported.interfaces.SupportedInterfaceCapability; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev230526.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev230526.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityKey; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev230526.networks.network.node.termination.point.TpSupportedInterfaces; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev230526.networks.network.node.termination.point.TpSupportedInterfacesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev230526.networks.network.node.termination.point.XpdrTpPortConnectionAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev230526.If100GEODU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev230526.If10GEODU2e; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev230526.If1GEODU0; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev230526.IfOCHOTU4ODU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev191129.ServiceFormat; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node; @@ -41,11 +56,11 @@ 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.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.topology.rev180226.Node1; +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.Node1Builder; 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.node.TerminationPoint; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointBuilder; -import org.opendaylight.yangtools.yang.common.Uint32; public class PceOtnNodeTest extends AbstractTest { @@ -53,179 +68,207 @@ public class PceOtnNodeTest extends AbstractTest { private PceOtnNode pceOtnNode; private Node node; - @Before - public void setUp() { - NodeBuilder node1Builder = getNodeBuilder(geSupportingNodes(), OpenroadmTpType.SRGTXRXPP); - node = node1Builder.build(); - pceOtnNode = - new PceOtnNode(node, OpenroadmNodeType.ROADM, - new NodeId("optical"), ServiceFormat.OMS.getName(), "test"); + @BeforeEach + void setUp() { + node = getNodeBuilder(geSupportingNodes(), OpenroadmTpType.XPONDERNETWORK).build(); + } + @Test + void testInitXndrTpsODU4() { + pceOtnNode = new PceOtnNode(node, OpenroadmNodeType.MUXPDR, + new NodeId("optical"), ServiceFormat.OMS.getName(), StringConstants.SERVICE_TYPE_ODU4, null); + pceOtnNode.initXndrTps("AZ"); + pceOtnNode.checkAvailableTribPort(); + pceOtnNode.checkAvailableTribSlot(); + assertTrue(pceOtnNode.isValid(), "valid otn service type "); + assertNotNull(pceOtnNode.getAvailableTribPorts(), "tpAvailableTribPort isn't null !"); } @Test - public void test() { + void testInitXndrTps10GE() { + pceOtnNode = new PceOtnNode(node, OpenroadmNodeType.MUXPDR, + new NodeId("optical"), ServiceFormat.OMS.getName(), StringConstants.SERVICE_TYPE_10GE, null); pceOtnNode.initXndrTps("mode"); + pceOtnNode.checkAvailableTribPort(); + pceOtnNode.checkAvailableTribSlot(); + assertFalse(pceOtnNode.isValid(), "not valid otn service type"); } - private List geSupportingNodes() { - List supportingNodes1 = new ArrayList<>(); - supportingNodes1 - .add(new SupportingNodeBuilder() - .setNodeRef(new NodeId("node 1")) - .setNetworkRef(new NetworkId(NetworkUtils.CLLI_NETWORK_ID)) - .build()); - - supportingNodes1 - .add(new SupportingNodeBuilder() - .setNodeRef(new NodeId("node 2")) - .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID)) - .build()); - return supportingNodes1; + @Test + void testInitXndrTps10GXponderClient1() { + node = getNodeBuilder(geSupportingNodes(), OpenroadmTpType.XPONDERCLIENT).build(); + pceOtnNode = new PceOtnNode(node, OpenroadmNodeType.ROADM, + new NodeId("optical"), ServiceFormat.OMS.getName(), StringConstants.SERVICE_TYPE_10GE, null); + pceOtnNode.initXndrTps("mode"); + pceOtnNode.checkAvailableTribPort(); + pceOtnNode.checkAvailableTribSlot(); + assertFalse(pceOtnNode.isValid(), "not valid otn service type"); + assertTrue(pceOtnNode.validateSwitchingPoolBandwidth(null, null, 1L), + "this.nodeType isn'tOpenroadmNodeType.TPDR"); } - private NodeBuilder getNodeBuilder(List supportingNodes1, OpenroadmTpType openroadmTpType) { + @Test + void testInitXndrTps1GXponderClient() { + node = getNodeBuilder(geSupportingNodes(), OpenroadmTpType.XPONDERCLIENT).build(); + pceOtnNode = new PceOtnNode(node, OpenroadmNodeType.MUXPDR, + new NodeId("optical"), ServiceFormat.OMS.getName(), StringConstants.SERVICE_TYPE_1GE, null); + pceOtnNode.initXndrTps("mode"); + pceOtnNode.checkAvailableTribPort(); + pceOtnNode.checkAvailableTribSlot(); + assertFalse(pceOtnNode.isValid(), "not valid otn service type"); + } - TerminationPoint1Builder tp1Bldr = getTerminationPoint1Builder(openroadmTpType); - TerminationPointBuilder xpdrTpBldr = getTerminationPointBuilder(); - xpdrTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build()); - xpdrTpBldr.addAugmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1.class, - createAnotherTerminationPoint().build()); - org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 node1 = getNode1(); - org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 node1Rev180226 = - new Node1Builder() - .setTerminationPoint(ImmutableList.of(xpdrTpBldr.build())) - .build(); + @Test + void testInitXndrTps10GXponderClient() { + pceOtnNode = new PceOtnNode(node, OpenroadmNodeType.MUXPDR, + new NodeId("optical"), ServiceFormat.OMS.getName(), StringConstants.SERVICE_TYPE_10GE, null); + pceOtnNode.validateXponder("optical", "sl"); + pceOtnNode.validateXponder("not optical", "sl"); + pceOtnNode.initXndrTps("AZ"); + pceOtnNode.checkAvailableTribPort(); + pceOtnNode.checkAvailableTribSlot(); + assertFalse(pceOtnNode.isValid(), "not valid otn service type"); + assertFalse(pceOtnNode.checkTP("tp"), "checkTp returns false by default"); + } + private Map geSupportingNodes() { + Map supportingNodes1 = new HashMap<>(); + SupportingNode supportingNode1 = new SupportingNodeBuilder() + .setNodeRef(new NodeId("node 1")) + .setNetworkRef(new NetworkId(NetworkUtils.CLLI_NETWORK_ID)) + .build(); + supportingNodes1 + .put(supportingNode1.key(),supportingNode1); - return new NodeBuilder() - .setNodeId(new NodeId("node_test")) - .withKey(new NodeKey(new NodeId("node 1"))) - .addAugmentation( - Node1.class, node1Rev180226) - .addAugmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1.class, - node1) - .setSupportingNode(supportingNodes1); + SupportingNode supportingNode2 = new SupportingNodeBuilder() + .setNodeRef(new NodeId("node 2")) + .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID)) + .build(); + supportingNodes1 + .put(supportingNode2.key(),supportingNode2); + return supportingNodes1; } - private NodeBuilder getNodeBuilderEmpty(List supportingNodes1, OpenroadmTpType openroadmTpType) { + private NodeBuilder getNodeBuilder(Map supportingNodes1, + OpenroadmTpType openroadmTpType) { TerminationPoint1Builder tp1Bldr = getTerminationPoint1Builder(openroadmTpType); - TerminationPointBuilder xpdrTpBldr = getTerminationPointBuilder(); - xpdrTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build()); - xpdrTpBldr.addAugmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1.class, - createAnotherTerminationPoint().build()); + TerminationPointBuilder xpdrTpBldr = getTerminationPointBuilder(openroadmTpType); + xpdrTpBldr.addAugmentation(tp1Bldr.build()); - org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 node1 = getNode1Empty(); + xpdrTpBldr.addAugmentation(createAnother2TerminationPoint(openroadmTpType).build()); + xpdrTpBldr.addAugmentation(createAnotherTerminationPoint(openroadmTpType).build()); + + org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.Node1 node1 = getNode1(); + TerminationPoint xpdr = xpdrTpBldr.build(); org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 node1Rev180226 = new Node1Builder() - .setTerminationPoint(ImmutableList.of(xpdrTpBldr.build())) + .setTerminationPoint(Map.of(xpdr.key(),xpdr)) .build(); + org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1 nodeIetf = + new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226 + .Node1Builder() + .setTerminationPoint(Map.of(xpdr.key(),xpdr)) + .build(); + Node1 node11 = new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526.Node1Builder() + .setOperationalState(State.InService).setAdministrativeState(AdminStates.InService).build(); return new NodeBuilder() .setNodeId(new NodeId("node_test")) .withKey(new NodeKey(new NodeId("node 1"))) - .addAugmentation( - Node1.class, node1Rev180226) - .addAugmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1.class, - node1) + .addAugmentation(node1Rev180226) + .addAugmentation(node1) + .addAugmentation(nodeIetf) + .addAugmentation(node11) .setSupportingNode(supportingNodes1); } - private 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() + private 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(); } - private org.opendaylight - .yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1 getNode1Empty() { - return new org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Node1Builder() - .setSrgAttributes(getEmptySrgAttributes()) - .setDegreeAttributes(getEmptyDegAttributes()) - .build(); - } - private DegreeAttributes getDegAttributes() { - return (new DegreeAttributesBuilder()) - .setAvailableWavelengths( - Collections.singletonList(new AvailableWavelengthsBuilder() - .setIndex(20L) - .build())) + return new DegreeAttributesBuilder() + .setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available()) .build(); } private SrgAttributes getSrgAttributes() { - return new SrgAttributesBuilder().setAvailableWavelengths(create96AvalWaveSrg()).build(); - } - - private DegreeAttributes getEmptyDegAttributes() { - return (new DegreeAttributesBuilder()) - .setAvailableWavelengths( - new ArrayList<>()) - .build(); + return new SrgAttributesBuilder().setAvailFreqMaps(GridUtils.initFreqMaps4FixedGrid2Available()).build(); } - private SrgAttributes getEmptySrgAttributes() { - List - waveList = new ArrayList<>(); - return new SrgAttributesBuilder().setAvailableWavelengths(waveList).build(); - } - - private TerminationPointBuilder getTerminationPointBuilder() { + private TerminationPointBuilder getTerminationPointBuilder(OpenroadmTpType openroadmTpType) { return new TerminationPointBuilder() - .setTpId(new TpId("2")); + .setTpId(new TpId("2")) + .addAugmentation(createOTNTerminationPoint(openroadmTpType).build()); } private TerminationPoint1Builder getTerminationPoint1Builder(OpenroadmTpType openroadmTpType) { return new TerminationPoint1Builder() - .setTpType(openroadmTpType); + .setTpType(openroadmTpType).setAdministrativeState(AdminStates.InService) + .setOperationalState(State.InService); } - private org.opendaylight.yang.gen - .v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1Builder createAnotherTerminationPoint() { + private org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.TerminationPoint1Builder + createAnotherTerminationPoint(OpenroadmTpType openroadmTpType) { return new org.opendaylight - .yang.gen.v1.http.org.openroadm.network.topology.rev181130.TerminationPoint1Builder() - .setTpType(OpenroadmTpType.XPONDERNETWORK) - .setCtpAttributes((new CtpAttributesBuilder()).setUsedWavelengths(new ArrayList<>()).build()) - .setCpAttributes((new CpAttributesBuilder()).setUsedWavelengths(new ArrayList<>()).build()) - .setTxTtpAttributes((new TxTtpAttributesBuilder()).setUsedWavelengths(new ArrayList<>()).build()) - .setRxTtpAttributes((new RxTtpAttributesBuilder()).setUsedWavelengths(new ArrayList<>()).build()) - .setPpAttributes((new PpAttributesBuilder()).setUsedWavelength(new ArrayList<>()).build()) + .yang.gen.v1.http.org.openroadm.network.topology.rev230526.TerminationPoint1Builder() + .setCtpAttributes((new CtpAttributesBuilder()).build()) + .setCpAttributes((new CpAttributesBuilder()).build()) + .setTxTtpAttributes((new TxTtpAttributesBuilder()).setUsedWavelengths(Map.of()).build()) + .setRxTtpAttributes((new RxTtpAttributesBuilder()).setUsedWavelengths(Map.of()).build()) + .setPpAttributes((new PpAttributesBuilder()).setUsedWavelength(Map.of()).build()) .setXpdrClientAttributes((new XpdrClientAttributesBuilder()).build()) .setXpdrPortAttributes((new XpdrPortAttributesBuilder()).build()) .setXpdrNetworkAttributes(new XpdrNetworkAttributesBuilder() .setTailEquipmentId("destNode" + "--" + "destTp").build()); } - private static List create96AvalWaveSrg() { + private org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev230526 + .TerminationPoint1Builder createOTNTerminationPoint(OpenroadmTpType openroadmTpType) { + + SupportedInterfaceCapability supIfCapa = new SupportedInterfaceCapabilityBuilder() + .setIfCapType(IfOCHOTU4ODU4.VALUE) + .build(); - List - waveList = new ArrayList<>(); + SupportedInterfaceCapability supIfCapa1 = new SupportedInterfaceCapabilityBuilder() + .setIfCapType(If100GEODU4.VALUE) + .build(); + SupportedInterfaceCapability supIfCapa2 = new SupportedInterfaceCapabilityBuilder() + .setIfCapType(If10GEODU2e.VALUE) + .build(); + SupportedInterfaceCapability supIfCapa3 = new SupportedInterfaceCapabilityBuilder() + .setIfCapType(If1GEODU0.VALUE) + .build(); - 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; + Map supIfCapaList = new HashMap<>(); + supIfCapaList.put(supIfCapa.key(),supIfCapa); + supIfCapaList.put(supIfCapa1.key(),supIfCapa1); + supIfCapaList.put(supIfCapa2.key(),supIfCapa2); + supIfCapaList.put(supIfCapa3.key(),supIfCapa3); + + TpSupportedInterfaces tpSupIf = new TpSupportedInterfacesBuilder() + .setSupportedInterfaceCapability(supIfCapaList) + .build(); + + XpdrTpPortConnectionAttributesBuilder xtpcaBldr = new XpdrTpPortConnectionAttributesBuilder(); + + return new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev230526 + .TerminationPoint1Builder() + .setTpSupportedInterfaces(tpSupIf) + .setXpdrTpPortConnectionAttributes(xtpcaBldr.build()); } + private org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526.TerminationPoint1Builder + createAnother2TerminationPoint(OpenroadmTpType openroadmTpType) { + return new org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526.TerminationPoint1Builder() + .setTpType(openroadmTpType).setOperationalState(State.InService) + .setAdministrativeState(AdminStates.InService); + } }