From a4b512d1270488e09a42c6bad83785b7b5fbd9a8 Mon Sep 17 00:00:00 2001 From: manuedelf Date: Mon, 12 Oct 2020 15:11:58 +0200 Subject: [PATCH] Bump to Silicon - Update poms - Update test-common following odl api update - Fix unit tests (mainly adding mandatory withKey element in data structure) - Remove no more relevant unit tests following "withKey()" constraint NB: the support of ordm devices models was initially flawed by a bug in mdsal that has been addressed in https://jira.opendaylight.org/browse/MDSAL-600 JIRA: TRNSPRTPCE-345 Signed-off-by: manuedelf Change-Id: I8ed471178dbdc43a2af19a1cfa6cf7d419b4ad89 --- api/pom.xml | 2 +- common/pom.xml | 6 ++-- .../device/DeviceTransactionManagerTest.java | 6 ++-- .../mapping/PortMappingVersion121Test.java | 30 +++++++++++++++---- features/odl-transportpce-inventory/pom.xml | 2 +- features/odl-transportpce-tapi/pom.xml | 2 +- features/odl-transportpce/pom.xml | 5 ++-- features/pom.xml | 2 +- inventory/pom.xml | 2 +- karaf/pom.xml | 2 +- networkmodel/pom.xml | 4 +-- .../networkmodel/Rdm2XpdrLink.java | 2 +- .../networkmodel/util/ClliNetwork.java | 2 +- .../networkmodel/util/ClliNetworkTest.java | 7 ----- .../util/OpenRoadmOtnTopologyTest.java | 2 +- .../networkmodel/util/test/JsonUtil.java | 4 +-- olm/pom.xml | 2 +- .../olm/power/PowerMgmtVersion121.java | 4 +-- .../olm/power/PowerMgmtVersion221.java | 3 +- .../olm/util/OlmTransactionUtils.java | 18 +++++++++++ ordmodels/common/pom.xml | 2 +- ordmodels/device/pom.xml | 4 +-- ordmodels/network/pom.xml | 2 +- ordmodels/pom.xml | 2 +- ordmodels/service/pom.xml | 2 +- pce/pom.xml | 2 +- .../pce/networkanalyzer/PceLinkTest.java | 9 ++++-- .../PathComputationServiceImplTest.java | 8 +++-- .../transportpce/pce/utils/JsonUtil.java | 4 +-- .../transportpce/pce/utils/NodeUtils.java | 4 ++- pom.xml | 2 +- renderer/pom.xml | 2 +- servicehandler/pom.xml | 2 +- .../servicehandler/ModelMappingUtils.java | 19 ++++++++++++ .../servicehandler/ModelMappingUtilsTest.java | 14 ++++++--- tapi/pom.xml | 4 +-- tapimodels/pom.xml | 2 +- test-common/pom.xml | 6 ++-- .../test/DataStoreContextImpl.java | 2 +- .../AbstractDataObjectConverter.java | 8 ++++- 40 files changed, 138 insertions(+), 69 deletions(-) diff --git a/api/pom.xml b/api/pom.xml index 9a324960f..b04c3cb31 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 diff --git a/common/pom.xml b/common/pom.xml index 51a89b601..c0d606224 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -10,7 +10,7 @@ org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 @@ -24,14 +24,14 @@ org.opendaylight.netconf netconf-artifacts - 1.9.2-SNAPSHOT + 1.10.0-SNAPSHOT import pom org.opendaylight.mdsal mdsal-artifacts - 6.0.7 + 7.0.1 import pom diff --git a/common/src/test/java/org/opendaylight/transportpce/common/device/DeviceTransactionManagerTest.java b/common/src/test/java/org/opendaylight/transportpce/common/device/DeviceTransactionManagerTest.java index c54646eae..f4de527a7 100644 --- a/common/src/test/java/org/opendaylight/transportpce/common/device/DeviceTransactionManagerTest.java +++ b/common/src/test/java/org/opendaylight/transportpce/common/device/DeviceTransactionManagerTest.java @@ -31,6 +31,7 @@ import org.opendaylight.mdsal.binding.api.MountPoint; import org.opendaylight.mdsal.binding.api.MountPointService; import org.opendaylight.mdsal.binding.api.ReadWriteTransaction; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +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.networks.Network; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkBuilder; import org.opendaylight.yangtools.util.concurrent.FluentFutures; @@ -55,7 +56,7 @@ public class DeviceTransactionManagerTest { private String defaultDeviceId = "device-id"; private LogicalDatastoreType defaultDatastore = LogicalDatastoreType.OPERATIONAL; private InstanceIdentifier defaultIid = InstanceIdentifier.create(Network.class); - private Network defaultData = new NetworkBuilder().build(); + private Network defaultData; private long defaultTimeout = 1000; private TimeUnit defaultTimeUnit = TimeUnit.MILLISECONDS; @@ -65,7 +66,8 @@ public class DeviceTransactionManagerTest { Mockito.when(mountPointMock.getService(any())).thenReturn(Optional.of(dataBrokerMock)); Mockito.when(dataBrokerMock.newReadWriteTransaction()).thenReturn(rwTransactionMock); Mockito.when(rwTransactionMock.commit()).thenReturn(FluentFutures.immediateNullFluentFuture()); - + NetworkId networkId = new NetworkId("NETWORK1"); + defaultData = new NetworkBuilder().setNetworkId(networkId).build(); this.transactionManager = new DeviceTransactionManagerImpl(mountPointServiceMock, 3000); } diff --git a/common/src/test/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion121Test.java b/common/src/test/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion121Test.java index ea7e745c9..5113e6039 100644 --- a/common/src/test/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion121Test.java +++ b/common/src/test/java/org/opendaylight/transportpce/common/mapping/PortMappingVersion121Test.java @@ -194,6 +194,8 @@ public class PortMappingVersion121Test { // mock one degree with bidirectional port org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacks circuitPacks = new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacksBuilder() + .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206 + .degree.CircuitPacksKey(Uint32.valueOf(1))) .setCircuitPackName("c1").build(); Map< org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacksKey, @@ -207,6 +209,8 @@ public class PortMappingVersion121Test { // mock one srg with bidirectional port org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacks srgCircuitPacks = new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacksBuilder() + .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206 + .srg.CircuitPacksKey(Uint32.valueOf(2))) .setCircuitPackName("c2").build(); Map< org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacksKey, @@ -220,6 +224,8 @@ public class PortMappingVersion121Test { // mock one degree with 2 unidirectional ports org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacks circuitPacks3 = new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacksBuilder() + .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206 + .degree.CircuitPacksKey(Uint32.valueOf(3))) .setCircuitPackName("c3").build(); List circuitPacksList3 = new ArrayList(); @@ -237,6 +243,8 @@ public class PortMappingVersion121Test { // mock one srg with 2 unidirectional ports org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacks srgCircuitPacks4 = new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacksBuilder() + .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206 + .srg.CircuitPacksKey(Uint32.valueOf(4))) .setCircuitPackName("c4").build(); Map @@ -249,6 +257,8 @@ public class PortMappingVersion121Test { // mock one degree with unidirectional ports, reverse direction org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacks circuitPacks5 = new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.CircuitPacksBuilder() + .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206 + .degree.CircuitPacksKey(Uint32.valueOf(5))) .setCircuitPackName("c5").build(); List circuitPacksList5 = new ArrayList(); @@ -263,6 +273,8 @@ public class PortMappingVersion121Test { // mock one srg with 2 unidirectional ports, reverse direction org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacks srgCircuitPacks6 = new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacksBuilder() + .withKey(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206 + .srg.CircuitPacksKey(Uint32.valueOf(6))) .setCircuitPackName("c6").build(); Map< org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.srg.CircuitPacksKey, @@ -318,7 +330,8 @@ public class PortMappingVersion121Test { when(deviceTransactionManager.getDataFromDevice("node", LogicalDatastoreType.OPERATIONAL, protocoliid, Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT)).thenReturn(Optional.of(protocols)); - Interface interfaceObject = new InterfaceBuilder().setSupportingCircuitPackName("sc1").build(); + Interface interfaceObject = new InterfaceBuilder().withKey(new InterfaceKey("itf1")) + .setSupportingCircuitPackName("sc1").build(); InstanceIdentifier interfaceIID = InstanceIdentifier.create(OrgOpenroadmDevice.class) .child(Interface.class, new InterfaceKey(portConfig.getIfName())); when(deviceTransactionManager.getDataFromDevice("node", LogicalDatastoreType.OPERATIONAL, interfaceIID, @@ -425,8 +438,10 @@ public class PortMappingVersion121Test { Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT)) .thenReturn(Optional.of(ordmSrgObject6)); - Interface ifc1 = new InterfaceBuilder().setType(OpticalTransport.class).build(); - Interface ifc2 = new InterfaceBuilder().setType(OpenROADMOpticalMultiplex.class).build(); + Interface ifc1 = new InterfaceBuilder().withKey(new InterfaceKey("ifc1")) + .setType(OpticalTransport.class).build(); + Interface ifc2 = new InterfaceBuilder().withKey(new InterfaceKey("ifc2")) + .setType(OpenROADMOpticalMultiplex.class).build(); try { when(openRoadmInterfaces.getInterface("node", "i1")).thenReturn(Optional.of(ifc1)); when(openRoadmInterfaces.getInterface("node", "i2")).thenReturn(Optional.of(ifc2)); @@ -494,13 +509,15 @@ public class PortMappingVersion121Test { final Info info = getInfo(); // mock 1 bidirectional port for network - Ports ports = new PortsBuilder().setPortName("p1").setPortQual(Port.PortQual.XpdrNetwork) + Ports ports = new PortsBuilder().withKey(new PortsKey("p1")).setPortName("p1") + .setPortQual(Port.PortQual.XpdrNetwork) .setPortDirection(Direction.Bidirectional).build(); List portsList = new ArrayList<>(); portsList.add(ports); // mock 1 bidirectional port for client - Ports ports11 = new PortsBuilder().setPortName("p11").setPortQual(Port.PortQual.XpdrClient) + Ports ports11 = new PortsBuilder().withKey(new PortsKey("p11")).setPortName("p11") + .setPortQual(Port.PortQual.XpdrClient) .setPortDirection(Direction.Bidirectional).build(); List portsList11 = new ArrayList<>(); portsList11.add(ports11); @@ -520,7 +537,8 @@ public class PortMappingVersion121Test { portsList4.add(ports5); // mock connection map - Destination destination = new DestinationBuilder().setCircuitPackName("c2").setPortName("p11").build(); + Destination destination = new DestinationBuilder() + .setCircuitPackName("c2").setPortName("p11").build(); List destinationList = new ArrayList<>(); destinationList.add(destination); ConnectionMap connectionMap = getConnectionMap(destinationList); diff --git a/features/odl-transportpce-inventory/pom.xml b/features/odl-transportpce-inventory/pom.xml index 6f9035d76..cb7ee3010 100644 --- a/features/odl-transportpce-inventory/pom.xml +++ b/features/odl-transportpce-inventory/pom.xml @@ -9,7 +9,7 @@ org.opendaylight.odlparent single-feature-parent - 7.0.7 + 8.0.0 diff --git a/features/odl-transportpce-tapi/pom.xml b/features/odl-transportpce-tapi/pom.xml index 186eb13d6..21ca534d2 100644 --- a/features/odl-transportpce-tapi/pom.xml +++ b/features/odl-transportpce-tapi/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL org.opendaylight.odlparent single-feature-parent - 7.0.7 + 8.0.0 diff --git a/features/odl-transportpce/pom.xml b/features/odl-transportpce/pom.xml index 221b01133..4aad74866 100644 --- a/features/odl-transportpce/pom.xml +++ b/features/odl-transportpce/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL org.opendaylight.odlparent single-feature-parent - 7.0.7 + 8.0.0 @@ -24,11 +24,10 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL OpenDaylight :: transportpce - 1.9.2-SNAPSHOT + 1.10.0-SNAPSHOT etc/opendaylight/karaf - diff --git a/features/pom.xml b/features/pom.xml index 580241623..43c9e59dc 100644 --- a/features/pom.xml +++ b/features/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL org.opendaylight.odlparent odlparent-lite - 7.0.7 + 8.0.0 diff --git a/inventory/pom.xml b/inventory/pom.xml index 4c0d853f8..77cfa30b8 100644 --- a/inventory/pom.xml +++ b/inventory/pom.xml @@ -10,7 +10,7 @@ org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 diff --git a/karaf/pom.xml b/karaf/pom.xml index 98592e122..a2ac221dd 100644 --- a/karaf/pom.xml +++ b/karaf/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL org.opendaylight.odlparent karaf4-parent - 7.0.7 + 8.0.0 diff --git a/networkmodel/pom.xml b/networkmodel/pom.xml index cc5ef7cbb..bd843053c 100644 --- a/networkmodel/pom.xml +++ b/networkmodel/pom.xml @@ -13,7 +13,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.odlparent bundle-parent - 7.0.7 + 8.0.0 @@ -27,7 +27,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal mdsal-artifacts - 6.0.7 + 7.0.1 import pom diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/Rdm2XpdrLink.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/Rdm2XpdrLink.java index a49303462..5615aafa0 100644 --- a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/Rdm2XpdrLink.java +++ b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/Rdm2XpdrLink.java @@ -96,7 +96,7 @@ final class Rdm2XpdrLink { Network topoNetowkLayer = createNetworkBuilder(srcNode, srcTp, destNode, destTp, true, xpdrTp).build(); InstanceIdentifier.InstanceIdentifierBuilder nwIID = InstanceIdentifier.builder(Networks.class).child(Network.class, - new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))); + new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))); WriteTransaction wrtx = dataBroker.newWriteOnlyTransaction(); wrtx.merge(LogicalDatastoreType.CONFIGURATION, nwIID.build(), topoNetowkLayer); FluentFuture commit = wrtx.commit(); diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/ClliNetwork.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/ClliNetwork.java index 5239ae876..62ddbf444 100644 --- a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/ClliNetwork.java +++ b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/ClliNetwork.java @@ -39,7 +39,7 @@ public final class ClliNetwork { * with nodeId equal to the clli attribute in the device * model's info subtree */ - NodeBuilder nodeBldr = new NodeBuilder(); + NodeBuilder nodeBldr = new NodeBuilder().withKey(new NodeKey(new NodeId("node1"))); /* * create clli node augmentation * defined in openroadm-clli-network.yang diff --git a/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/ClliNetworkTest.java b/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/ClliNetworkTest.java index 048e5b695..4b6e449ef 100644 --- a/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/ClliNetworkTest.java +++ b/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/ClliNetworkTest.java @@ -49,13 +49,6 @@ public class ClliNetworkTest { assertEquals("Node id should be equals to NodeClliId ", new NodeId("NodeClliId"), createdNode.getNodeId()); } - @Test - public void createNodeWithNullClliTest() { - NodeInfoBuilder nodeBldr = computeNodeInfoBuilderWithoutClli(); - Node createdNode = ClliNetwork.createNode("XPDRA01", nodeBldr.build()); - assertNull("Node id should be null", createdNode.getNodeId()); - } - private NodeInfoBuilder computeNodeInfoBuilder() { NodeInfoBuilder nodeBldr = new NodeInfoBuilder() .setNodeClli("NodeClliId") diff --git a/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopologyTest.java b/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopologyTest.java index b54c0c1c8..df155cebf 100644 --- a/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopologyTest.java +++ b/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/OpenRoadmOtnTopologyTest.java @@ -856,7 +856,7 @@ public class OpenRoadmOtnTopologyTest { assertThat( nbl.getTpList(), containsInAnyOrder(new TpId("XPDR1-NETWORK1"), - new TpId("XPDR1-CLIENT" + nb))); + new TpId("XPDR1-CLIENT" + nb))); } } else if (xpdrNb.equals(Uint16.valueOf(2))) { assertEquals( diff --git a/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/test/JsonUtil.java b/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/test/JsonUtil.java index 3be693f12..4b29f2912 100644 --- a/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/test/JsonUtil.java +++ b/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/util/test/JsonUtil.java @@ -12,11 +12,11 @@ import java.io.IOException; import java.util.LinkedList; import java.util.List; import java.util.ServiceLoader; -import org.opendaylight.binding.runtime.api.BindingRuntimeContext; -import org.opendaylight.binding.runtime.spi.BindingRuntimeHelpers; import org.opendaylight.mdsal.binding.dom.adapter.CurrentAdapterSerializer; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; import org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext; +import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext; +import org.opendaylight.mdsal.binding.runtime.spi.BindingRuntimeHelpers; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.YangModelBindingProvider; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; diff --git a/olm/pom.xml b/olm/pom.xml index b69d671d7..a0c43588d 100644 --- a/olm/pom.xml +++ b/olm/pom.xml @@ -13,7 +13,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 diff --git a/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtVersion121.java b/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtVersion121.java index 86de6863b..d021845b0 100644 --- a/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtVersion121.java +++ b/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtVersion121.java @@ -159,9 +159,7 @@ public final class PowerMgmtVersion121 { org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev161014 .Interface1.class).getOch()); ochBuilder.setTransmitPower(new PowerDBm(txPower)); - ochInterfaceBuilder.addAugmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev161014 - .Interface1.class, new Interface1Builder().setOch(ochBuilder.build()).build()); + ochInterfaceBuilder.addAugmentation(new Interface1Builder().setOch(ochBuilder.build()).build()); Future> deviceTxFuture = deviceTransactionManager.getDeviceTransaction(nodeId); DeviceTransaction deviceTx; try { diff --git a/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtVersion221.java b/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtVersion221.java index f202dbc82..515cfbe1f 100644 --- a/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtVersion221.java +++ b/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtVersion221.java @@ -161,8 +161,7 @@ public final class PowerMgmtVersion221 { OchBuilder ochBuilder = new OchBuilder(ochInterfaceBuilder.augmentation( Interface1.class).getOch()); ochBuilder.setTransmitPower(new PowerDBm(txPower)); - ochInterfaceBuilder.addAugmentation( - Interface1.class, new Interface1Builder().setOch(ochBuilder.build()).build()); + ochInterfaceBuilder.addAugmentation(new Interface1Builder().setOch(ochBuilder.build()).build()); Future> deviceTxFuture = deviceTransactionManager.getDeviceTransaction(nodeId); DeviceTransaction deviceTx; try { 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 a018dc633..9d092b79e 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 @@ -21,6 +21,8 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmappi import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev201012.network.nodes.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.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; @@ -40,11 +42,15 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.CurrentPmLis 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; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.group.CurrentPmBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.group.CurrentPmKey; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.list.CurrentPmEntry; 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.PmGranularity; +import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmNamesEnum; 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; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId; @@ -54,6 +60,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.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; @@ -87,12 +94,14 @@ 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)) .setSRLGId(Uint32.valueOf(1)) .setSRLGLength(Uint32.valueOf(1)) .build(); LinkConcatenation linkConcatenation2 = new LinkConcatenationBuilder() + .withKey(new LinkConcatenationKey(Uint32.valueOf(2))) .setFiberType(LinkConcatenation.FiberType.Truewave) .setPmd(new FiberPmd(BigDecimal.ONE)) .setSRLGId(Uint32.valueOf(1)) @@ -103,12 +112,16 @@ public final class OlmTransactionUtils { // create 2 openroadm-topology degree nodes, end points of the link to be // measured; SupportingNode supportingNode4RoadmA = new SupportingNodeBuilder() + .withKey(new SupportingNodeKey(new NetworkId("openroadm-network"), + new NodeId("ROADM-A1"))) .setNetworkRef(new NetworkId("openroadm-network")) .setNodeRef(new NodeId("ROADM-A1")).build(); Node ietfNodeA = new NodeBuilder().setNodeId(new NodeId("ROADM-A1-DEG2")) .setSupportingNode(Map.of(supportingNode4RoadmA.key(),supportingNode4RoadmA)) .build(); SupportingNode supportingNode4RoadmC = new SupportingNodeBuilder() + .withKey(new SupportingNodeKey(new NetworkId("openroadm-network"), + new NodeId("ROADM-C1"))) .setNetworkRef(new NetworkId("openroadm-network")) .setNodeRef(new NodeId("ROADM-C1")).build(); Node ietfNodeC = new NodeBuilder().setNodeId(new NodeId("ROADM-C1-DEG1")) @@ -213,11 +226,14 @@ 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"))) .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)) .build(); @@ -242,6 +258,8 @@ public final class OlmTransactionUtils { .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)) .build(); diff --git a/ordmodels/common/pom.xml b/ordmodels/common/pom.xml index ef91d56d5..59baa0e30 100644 --- a/ordmodels/common/pom.xml +++ b/ordmodels/common/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 diff --git a/ordmodels/device/pom.xml b/ordmodels/device/pom.xml index 956d3bdc4..385105903 100644 --- a/ordmodels/device/pom.xml +++ b/ordmodels/device/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 @@ -26,7 +26,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.netconf netconf-artifacts - 1.9.2-SNAPSHOT + 1.10.0-SNAPSHOT import pom diff --git a/ordmodels/network/pom.xml b/ordmodels/network/pom.xml index b88ac695c..e66553ae7 100644 --- a/ordmodels/network/pom.xml +++ b/ordmodels/network/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 diff --git a/ordmodels/pom.xml b/ordmodels/pom.xml index b64d4d354..3904d2aeb 100644 --- a/ordmodels/pom.xml +++ b/ordmodels/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 diff --git a/ordmodels/service/pom.xml b/ordmodels/service/pom.xml index c4165b4eb..211fad2c2 100644 --- a/ordmodels/service/pom.xml +++ b/ordmodels/service/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 diff --git a/pce/pom.xml b/pce/pom.xml index dae33aef8..84de5b4da 100644 --- a/pce/pom.xml +++ b/pce/pom.xml @@ -14,7 +14,7 @@ org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceLinkTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceLinkTest.java index db7ce0f65..20dcacef7 100644 --- a/pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceLinkTest.java +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/networkanalyzer/PceLinkTest.java @@ -21,6 +21,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529. import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.TerminationPoint1Builder; 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.networks.network.link.OMSAttributesBuilder; 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; @@ -38,6 +39,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.Node1; 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.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.LinkKey; @@ -45,6 +47,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.top import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.SourceBuilder; 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.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointKey; import org.opendaylight.yangtools.yang.common.Uint32; @@ -129,7 +132,7 @@ public class PceLinkTest extends AbstractTest { pceLink = new PceLink(link, pceOpticalNode, pceOpticalNode); Assert.assertNotNull(MapUtils.getOmsAttributesSpan(link)); Assert.assertNotNull(pceLink.calcSpanOSNR()); - Assert.assertEquals(0, pceLink.getsrlgList().size()); + Assert.assertEquals(1, pceLink.getsrlgList().size()); Assert.assertTrue(7.857119000000001 == pceLink.calcSpanOSNR()); Assert.assertNull(pceLink.getOppositeLink()); Assert.assertNull(pceLink.getOppositeLink()); @@ -196,6 +199,7 @@ public class PceLinkTest extends AbstractTest { //For setting up attributes for openRoadm augment LinkConcatenation linkConcatenation = new LinkConcatenationBuilder() + .withKey(new LinkConcatenationKey(Uint32.valueOf(1))) .setSRLGLength(Uint32.valueOf(20)) .setFiberType(LinkConcatenation.FiberType.Dsf) .build(); @@ -265,7 +269,8 @@ public class PceLinkTest extends AbstractTest { //update tp of nodes - TerminationPointBuilder xpdrTpBldr = new TerminationPointBuilder(); + TerminationPointBuilder xpdrTpBldr = new TerminationPointBuilder() + .withKey(new TerminationPointKey(new TpId("xpdr"))); TerminationPoint1Builder tp1Bldr = new TerminationPoint1Builder(); tp1Bldr.setTpType(OpenroadmTpType.XPONDERNETWORK); diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImplTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImplTest.java index 18c97cc69..86a2f9e07 100644 --- a/pce/src/test/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImplTest.java +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImplTest.java @@ -32,8 +32,10 @@ import org.opendaylight.yang.gen.v1.gnpy.path.rev200909.generic.path.properties. import org.opendaylight.yang.gen.v1.gnpy.path.rev200909.no.path.info.NoPathBuilder; import org.opendaylight.yang.gen.v1.gnpy.path.rev200909.result.Response; import org.opendaylight.yang.gen.v1.gnpy.path.rev200909.result.ResponseBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev200909.result.ResponseKey; import org.opendaylight.yang.gen.v1.gnpy.path.rev200909.result.response.response.type.NoPathCaseBuilder; import org.opendaylight.yang.gen.v1.gnpy.path.rev200909.result.response.response.type.PathCaseBuilder; +import org.opendaylight.yangtools.yang.common.Uint32; public class PathComputationServiceImplTest extends AbstractTest { @@ -65,7 +67,8 @@ public class PathComputationServiceImplTest extends AbstractTest { @Test public void testPathComputationRequestNoPath() { - Response response = new ResponseBuilder().setResponseType(new NoPathCaseBuilder() + Response response = new ResponseBuilder() + .withKey(new ResponseKey(Uint32.valueOf(1))).setResponseType(new NoPathCaseBuilder() .setNoPath(new NoPathBuilder().setNoPath("no path").build()).build()).build(); pathComputationServiceImpl.generateGnpyResponse(response,"path"); @@ -79,7 +82,8 @@ public class PathComputationServiceImplTest extends AbstractTest { PathMetric pathMetric = new PathMetricBuilder() .setAccumulativeValue(new BigDecimal(21)) .setMetricType(PathBandwidth.class).build(); - Response response = new ResponseBuilder().setResponseType(new PathCaseBuilder() + Response response = new ResponseBuilder() + .withKey(new ResponseKey(Uint32.valueOf(1))).setResponseType(new PathCaseBuilder() .setPathProperties(new PathPropertiesBuilder().setPathMetric(Map.of(pathMetric.key(),pathMetric)) .build()).build()).build(); diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/utils/JsonUtil.java b/pce/src/test/java/org/opendaylight/transportpce/pce/utils/JsonUtil.java index f53a3ad97..b729a534b 100644 --- a/pce/src/test/java/org/opendaylight/transportpce/pce/utils/JsonUtil.java +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/utils/JsonUtil.java @@ -12,10 +12,10 @@ import java.io.IOException; import java.util.LinkedList; import java.util.List; import java.util.ServiceLoader; -import org.opendaylight.binding.runtime.api.BindingRuntimeContext; -import org.opendaylight.binding.runtime.spi.BindingRuntimeHelpers; import org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext; import org.opendaylight.mdsal.binding.dom.codec.spi.BindingDOMCodecServices; +import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext; +import org.opendaylight.mdsal.binding.runtime.spi.BindingRuntimeHelpers; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.YangModelBindingProvider; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/utils/NodeUtils.java b/pce/src/test/java/org/opendaylight/transportpce/pce/utils/NodeUtils.java index 1ffb64329..87909027b 100644 --- a/pce/src/test/java/org/opendaylight/transportpce/pce/utils/NodeUtils.java +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/utils/NodeUtils.java @@ -70,6 +70,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.top import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.SourceBuilder; 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.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointKey; import org.opendaylight.yangtools.yang.binding.Augmentation; import org.opendaylight.yangtools.yang.common.Uint16; import org.opendaylight.yangtools.yang.common.Uint32; @@ -140,7 +141,8 @@ public class NodeUtils { //update tp of nodes - TerminationPointBuilder xpdrTpBldr = new TerminationPointBuilder(); + TerminationPointBuilder xpdrTpBldr = new TerminationPointBuilder() + .withKey(new TerminationPointKey(new TpId("xpdr"))); TerminationPoint1Builder tp1Bldr = new TerminationPoint1Builder(); tp1Bldr.setTpType(OpenroadmTpType.XPONDERNETWORK); diff --git a/pom.xml b/pom.xml index 6321a72e0..207b3ca75 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL org.opendaylight.odlparent odlparent - 7.0.7 + 8.0.0 diff --git a/renderer/pom.xml b/renderer/pom.xml index 617844afb..c8b77b555 100644 --- a/renderer/pom.xml +++ b/renderer/pom.xml @@ -13,7 +13,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 diff --git a/servicehandler/pom.xml b/servicehandler/pom.xml index e1416b6ce..cd8933fc2 100644 --- a/servicehandler/pom.xml +++ b/servicehandler/pom.xml @@ -15,7 +15,7 @@ Author: Martial Coulibaly on behalf of Orange org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 diff --git a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtils.java b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtils.java index e21deef1b..53faa3fc4 100644 --- a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtils.java +++ b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtils.java @@ -51,6 +51,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempSer import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceDeleteOutputBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesKey; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.HardConstraintsBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.routing.constraints.rev171017.routing.constraints.sp.SoftConstraintsBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.RxDirection; @@ -61,10 +62,14 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.path.PathDescriptionBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePaths; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsKey; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public final class ModelMappingUtils { + private static final Logger LOG = LoggerFactory.getLogger(ModelMappingUtils.class); private ModelMappingUtils() { } @@ -336,6 +341,13 @@ public final class ModelMappingUtils { .setHardConstraints(serviceReconfigureInput.getHardConstraints()) .setSoftConstraints(serviceReconfigureInput.getSoftConstraints()) .setLifecycleState(LifecycleState.Planned).setServiceAEnd(aend).setServiceZEnd(zend); + } else { + //FIXME: Because of Silicon, we cannot have empty key. + //it's this case possible ? There is a Junit test covering null + //temporary workaround as now there is a null key check done by yangtools. + //Functional review is needed + LOG.warn("ServiceCreateInput and ServiceReconfigureInput are null"); + service.withKey(new ServicesKey("unknown")); } return service.build(); } @@ -419,6 +431,13 @@ public final class ModelMappingUtils { new PathDescriptionBuilder(output.getResponseParameters().getPathDescription()); servicePathBuilder.setPathDescription(pathDescBuilder.build()); } + } else { + //FIXME: Because of Silicon, we cannot have empty key. + //it's this case possible ? There is a Junit test covering null + //temporary workaround as now there is a null key check done by yangtools. + //Functional review is needed + LOG.warn("ServiceInput is null"); + servicePathBuilder.withKey(new ServicePathsKey("unknown")); } return servicePathBuilder.build(); diff --git a/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtilsTest.java b/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtilsTest.java index f997a227d..0337874f6 100644 --- a/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtilsTest.java +++ b/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/ModelMappingUtilsTest.java @@ -55,6 +55,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempSer import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempServiceCreateOutput; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesKey; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.AToZDirectionBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev200629.path.description.ZToADirectionBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.response.parameters.sp.ResponseParameters; @@ -62,6 +63,7 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.response.parameters.sp.response.parameters.PathDescriptionBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePaths; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsKey; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.Uint32; @@ -134,9 +136,10 @@ public class ModelMappingUtilsTest extends AbstractTest { } @Test + //TODO : is this unit test relevant ? public void mappingServicesNullServiceCreateInput() { Services services = ModelMappingUtils.mappingServices(null, null); - Assert.assertEquals(new ServicesBuilder().build(), services); + Assert.assertEquals(new ServicesBuilder().withKey(new ServicesKey("unknown")).build(), services); } @Test @@ -153,9 +156,10 @@ public class ModelMappingUtilsTest extends AbstractTest { } @Test + //TODO : is this unit test relevant ? public void mappingServicesPathNullServiceCreateInput() { ServicePaths services = ModelMappingUtils.mappingServicePaths(null, buildPathComputationOutput()); - Assert.assertEquals(new ServicePathsBuilder().build(), services); + Assert.assertEquals(new ServicePathsBuilder().withKey(new ServicePathsKey("unknown")).build(), services); } @Test @@ -180,7 +184,8 @@ public class ModelMappingUtilsTest extends AbstractTest { public void createServiceDeleteInputWithServiceRerouteInput() { ServiceRerouteInput serviceRerouteinput = new ServiceRerouteInputBuilder().setServiceName("reroute").build(); Services services = new ServicesBuilder() - .setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("123").build()).build(); + .withKey(new ServicesKey("reroute")) + .setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("123").build()).build(); org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520.ServiceDeleteInput serviceDeleteInput = ModelMappingUtils.createServiceDeleteInput(serviceRerouteinput, services); @@ -202,7 +207,8 @@ public class ModelMappingUtilsTest extends AbstractTest { @Test public void createServiceDeleteInputWithServiceRestorationInput() { Services services = new ServicesBuilder() - .setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("123").build()).build(); + .withKey(new ServicesKey("rest")) + .setSdncRequestHeader(new SdncRequestHeaderBuilder().setRequestId("123").build()).build(); ServiceRestorationInput serviceRestorationInput = new ServiceRestorationInputBuilder().setServiceName("rest").build(); org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev200520.ServiceDeleteInput diff --git a/tapi/pom.xml b/tapi/pom.xml index 5fff3a21f..87a7f96f2 100644 --- a/tapi/pom.xml +++ b/tapi/pom.xml @@ -15,7 +15,7 @@ Author: Martial Coulibaly on behalf of Orange org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 @@ -29,7 +29,7 @@ Author: Martial Coulibaly on behalf of Orange org.opendaylight.mdsal mdsal-artifacts - 6.0.7 + 7.0.1 import pom diff --git a/tapimodels/pom.xml b/tapimodels/pom.xml index 4abfba130..877eee05a 100644 --- a/tapimodels/pom.xml +++ b/tapimodels/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.mdsal binding-parent - 6.0.7 + 7.0.1 diff --git a/test-common/pom.xml b/test-common/pom.xml index bd4cd32fc..2ca4c842d 100644 --- a/test-common/pom.xml +++ b/test-common/pom.xml @@ -12,7 +12,7 @@ org.opendaylight.odlparent bundle-parent - 7.0.7 + 8.0.0 @@ -25,14 +25,14 @@ org.opendaylight.netconf netconf-artifacts - 1.9.2-SNAPSHOT + 1.10.0-SNAPSHOT import pom org.opendaylight.mdsal mdsal-artifacts - 6.0.7 + 7.0.1 import pom diff --git a/test-common/src/main/java/org/opendaylight/transportpce/test/DataStoreContextImpl.java b/test-common/src/main/java/org/opendaylight/transportpce/test/DataStoreContextImpl.java index 42719c8b3..0829a4ac3 100644 --- a/test-common/src/main/java/org/opendaylight/transportpce/test/DataStoreContextImpl.java +++ b/test-common/src/main/java/org/opendaylight/transportpce/test/DataStoreContextImpl.java @@ -14,7 +14,6 @@ import java.util.List; import java.util.Map; import java.util.ServiceLoader; import java.util.concurrent.Executors; -import org.opendaylight.binding.runtime.spi.BindingRuntimeHelpers; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.NotificationPublishService; import org.opendaylight.mdsal.binding.api.NotificationService; @@ -23,6 +22,7 @@ import org.opendaylight.mdsal.binding.dom.adapter.ConstantAdapterContext; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; import org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext; import org.opendaylight.mdsal.binding.dom.codec.spi.BindingDOMCodecServices; +import org.opendaylight.mdsal.binding.runtime.spi.BindingRuntimeHelpers; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.opendaylight.mdsal.dom.broker.DOMNotificationRouter; diff --git a/test-common/src/main/java/org/opendaylight/transportpce/test/converter/AbstractDataObjectConverter.java b/test-common/src/main/java/org/opendaylight/transportpce/test/converter/AbstractDataObjectConverter.java index 2d61d31cb..7e6dfe271 100644 --- a/test-common/src/main/java/org/opendaylight/transportpce/test/converter/AbstractDataObjectConverter.java +++ b/test-common/src/main/java/org/opendaylight/transportpce/test/converter/AbstractDataObjectConverter.java @@ -7,6 +7,8 @@ */ package org.opendaylight.transportpce.test.converter; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Optional; @@ -23,6 +25,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.SchemaPath; +import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -106,7 +109,10 @@ public abstract class AbstractDataObjectConverter implements DataObjectConverter normalizedNode.getClass().getSimpleName()); return Optional.empty(); } - T rpcDataObject = (T) codecRegistry.fromNormalizedNodeRpcData(rpcSchemaPath, (ContainerNode) normalizedNode); + List qnameList = new ArrayList<>(); + rpcSchemaPath.getPathFromRoot().forEach(qnameList::add); + T rpcDataObject = (T) codecRegistry + .fromNormalizedNodeRpcData(Absolute.of(qnameList), (ContainerNode) normalizedNode); return Optional.ofNullable(rpcDataObject); } -- 2.36.6