From 6881699b14f6274b20d898df2a20abd106c4a6cd Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sat, 3 Oct 2026 16:41:34 +0200 Subject: [PATCH 1/8] Migrate OpenVSwitchUpdateCommand Use DataObjectIdentifier instead of InstanceIdentifier. Change-Id: If2d43f7c443209147ec220a9aa49900ccc49165f Signed-off-by: Robert Varga --- .../md/OpenVSwitchUpdateCommand.java | 39 ++++++++----------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OpenVSwitchUpdateCommand.java b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OpenVSwitchUpdateCommand.java index 906876ce2..e218c814b 100644 --- a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OpenVSwitchUpdateCommand.java +++ b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OpenVSwitchUpdateCommand.java @@ -51,8 +51,6 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey; import org.opendaylight.yangtools.binding.DataObjectIdentifier; import org.opendaylight.yangtools.binding.util.BindingMap; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -121,17 +119,16 @@ public class OpenVSwitchUpdateCommand extends AbstractTransactionCommand { @VisibleForTesting void removeOldConfigs(ReadWriteTransaction transaction, Map oldOtherConfigs, OpenVSwitch ovs) { - InstanceIdentifier nodeAugmentataionIid = InstanceIdentifier - .create(NetworkTopology.class) + var nodeAugmentataionIid = DataObjectIdentifier + .builder(NetworkTopology.class) .child(Topology.class, new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)) .child(Node.class, new NodeKey(getNodeId(ovs))) - .augmentation(OvsdbNodeAugmentation.class); - Set otherConfigKeys = oldOtherConfigs.keySet(); - for (String otherConfigKey : otherConfigKeys) { - KeyedInstanceIdentifier externalIid = - nodeAugmentataionIid - .child(OpenvswitchOtherConfigs.class, new OpenvswitchOtherConfigsKey(otherConfigKey)); - transaction.delete(LogicalDatastoreType.OPERATIONAL, externalIid.toIdentifier()); + .augmentation(OvsdbNodeAugmentation.class) + .build(); + for (String otherConfigKey : oldOtherConfigs.keySet()) { + transaction.delete(LogicalDatastoreType.OPERATIONAL, nodeAugmentataionIid.toBuilder() + .child(OpenvswitchOtherConfigs.class, new OpenvswitchOtherConfigsKey(otherConfigKey)) + .build()); } } @@ -170,17 +167,15 @@ public class OpenVSwitchUpdateCommand extends AbstractTransactionCommand { @VisibleForTesting void removeExternalIds(ReadWriteTransaction transaction, Map oldExternalIds, OpenVSwitch ovs) { - InstanceIdentifier nodeAugmentataionIid = InstanceIdentifier - .create(NetworkTopology.class) - .child(Topology.class, new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)) - .child(Node.class, new NodeKey(getNodeId(ovs))) - .augmentation(OvsdbNodeAugmentation.class); - Set externalIdKeys = oldExternalIds.keySet(); - for (String externalIdKey : externalIdKeys) { - KeyedInstanceIdentifier externalIid = - nodeAugmentataionIid - .child(OpenvswitchExternalIds.class, new OpenvswitchExternalIdsKey(externalIdKey)); - transaction.delete(LogicalDatastoreType.OPERATIONAL, externalIid.toIdentifier()); + var nodeAugmentataionIid = DataObjectIdentifier.builder(NetworkTopology.class) + .child(Topology.class, new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)) + .child(Node.class, new NodeKey(getNodeId(ovs))) + .augmentation(OvsdbNodeAugmentation.class) + .build(); + for (String externalIdKey : oldExternalIds.keySet()) { + transaction.delete(LogicalDatastoreType.OPERATIONAL, nodeAugmentataionIid.toBuilder() + .child(OpenvswitchExternalIds.class, new OpenvswitchExternalIdsKey(externalIdKey)) + .build()); } } -- 2.34.1 From c0ca36c8d588530b20388ea7c50616668f988651 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sat, 3 Oct 2026 16:47:04 +0200 Subject: [PATCH 2/8] Migrate SouthboundProvider Use DataObjectIdentifier and improve DTO instantiation a bit. Change-Id: If4cb142924cb667a4f044a3edc8df56bfa656e70 Signed-off-by: Robert Varga --- .../ovsdb/southbound/SouthboundProvider.java | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundProvider.java b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundProvider.java index 1f0bdd822..3b5f95134 100644 --- a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundProvider.java +++ b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundProvider.java @@ -26,7 +26,6 @@ import org.opendaylight.infrautils.diagstatus.ServiceState; import org.opendaylight.infrautils.ready.SystemReadyMonitor; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.DataTreeChangeListener; -import org.opendaylight.mdsal.binding.api.DataTreeIdentifier; import org.opendaylight.mdsal.binding.api.DataTreeModification; import org.opendaylight.mdsal.binding.api.ReadWriteTransaction; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; @@ -44,9 +43,9 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyBuilder; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey; +import org.opendaylight.yangtools.binding.DataObjectIdentifier; import org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer; import org.opendaylight.yangtools.concepts.Registration; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Deactivate; @@ -169,13 +168,11 @@ public class SouthboundProvider implements DataTreeChangeListener, Aut LOG.warn("OVSDB Southbound Provider instance entity {} was already registered for ownership", instanceEntity, e); } - InstanceIdentifier path = InstanceIdentifier - .create(NetworkTopology.class) - .child(Topology.class, new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)); - DataTreeIdentifier treeId = DataTreeIdentifier.of(LogicalDatastoreType.OPERATIONAL, path); - - LOG.trace("Registering listener for path {}", treeId); - operTopologyRegistration = dataBroker.registerTreeChangeListener(treeId, this); + var path = DataObjectIdentifier.builder(NetworkTopology.class) + .child(Topology.class, new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)) + .build(); + LOG.trace("Registering listener for path {}", path); + operTopologyRegistration = dataBroker.registerTreeChangeListener(LogicalDatastoreType.OPERATIONAL, path, this); LOG.info("SouthboundProvider Session Initiated"); } @@ -204,15 +201,14 @@ public class SouthboundProvider implements DataTreeChangeListener, Aut } private void initializeOvsdbTopology(final @NonNull LogicalDatastoreType type) { - InstanceIdentifier path = InstanceIdentifier - .create(NetworkTopology.class) - .child(Topology.class, new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)); + var path = DataObjectIdentifier.builder(NetworkTopology.class) + .child(Topology.class, new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)) + .build(); ReadWriteTransaction transaction = dataBroker.newReadWriteTransaction(); FluentFuture ovsdbTp = transaction.exists(type, path); try { if (!ovsdbTp.get().booleanValue()) { - transaction.mergeParentStructurePut(type, path.toIdentifier(), - new TopologyBuilder().setTopologyId(SouthboundConstants.OVSDB_TOPOLOGY_ID).build()); + transaction.mergeParentStructurePut(type, path, new TopologyBuilder().withKey(path.key()).build()); transaction.commit(); } else { transaction.cancel(); -- 2.34.1 From 68f366b0032af249f0b9053fa706354a7c16207e Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sat, 3 Oct 2026 16:54:12 +0200 Subject: [PATCH 3/8] Migrate users of InstanceIdentifier We have a few more stragglers in southbound-impl, migrate them. Change-Id: I5cbd6323870879373532bf40a7ddd61ad6542723 Signed-off-by: Robert Varga --- .../md/OvsdbControllerRemovedCommand.java | 24 +++++++------- .../md/OvsdbControllerUpdateCommand.java | 3 +- .../md/OvsdbQosUpdateCommand.java | 7 ++-- .../md/OvsdbQueueUpdateCommand.java | 7 ++-- .../InstanceIdentifierCodecTest.java | 4 +-- .../southbound/SouthboundMapperTest.java | 3 +- .../southbound/SouthboundProviderTest.java | 33 +++++++++---------- .../transact/OvsdbNodeUpdateCommandTest.java | 3 +- .../transact/ProtocolRemovedCommandTest.java | 3 +- .../TerminationPointCreateCommandTest.java | 3 +- .../TerminationPointUpdateCommandTest.java | 3 +- .../md/OvsdbBridgeUpdateCommandTest.java | 5 ++- .../md/OvsdbPortRemoveCommandTest.java | 3 +- .../md/OvsdbPortUpdateCommandTest.java | 11 ++++--- 14 files changed, 51 insertions(+), 61 deletions(-) diff --git a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbControllerRemovedCommand.java b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbControllerRemovedCommand.java index 32759cc40..721b62caa 100644 --- a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbControllerRemovedCommand.java +++ b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbControllerRemovedCommand.java @@ -29,7 +29,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ControllerEntry; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ControllerEntryKey; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.binding.DataObjectIdentifier; public class OvsdbControllerRemovedCommand extends AbstractTransactionCommand { private final InstanceIdentifierCodec instanceIdentifierCodec; @@ -51,23 +51,23 @@ public class OvsdbControllerRemovedCommand extends AbstractTransactionCommand { public void execute(ReadWriteTransaction transaction) { for (Bridge bridge : updatedBridgeRows.values()) { final var bridgeIid = SouthboundMapper.createInstanceIdentifier(instanceIdentifierCodec, - getOvsdbConnectionInstance(), bridge).toLegacy(); + getOvsdbConnectionInstance(), bridge); deleteControllers(transaction, controllerEntriesToRemove(bridgeIid, bridge)); } } private static void deleteControllers(ReadWriteTransaction transaction, - List> controllerEntryIids) { + List> controllerEntryIids) { for (var controllerEntryIid: controllerEntryIids) { - transaction.delete(LogicalDatastoreType.OPERATIONAL, controllerEntryIid.toIdentifier()); + transaction.delete(LogicalDatastoreType.OPERATIONAL, controllerEntryIid); } } - private List> controllerEntriesToRemove( - InstanceIdentifier bridgeIid, Bridge bridge) { + private List> controllerEntriesToRemove( + DataObjectIdentifier bridgeIid, Bridge bridge) { requireNonNull(bridgeIid); requireNonNull(bridge); - List> result = new ArrayList<>(); + List> result = new ArrayList<>(); Bridge oldBridgeNode = oldBridgeRows.get(bridge.getUuid()); if (oldBridgeNode != null && oldBridgeNode.getControllerColumn() != null) { @@ -76,11 +76,11 @@ public class OvsdbControllerRemovedCommand extends AbstractTransactionCommand { || !bridge.getControllerColumn().getData().contains(controllerUuid)) { Controller controller = removedControllerRows.get(controllerUuid); if (controller != null && controller.getTargetColumn() != null) { - InstanceIdentifier iid = bridgeIid - .augmentation(OvsdbBridgeAugmentation.class) - .child(ControllerEntry.class, - new ControllerEntryKey(new Uri(controller.getTargetColumn().getData()))); - result.add(iid); + result.add(bridgeIid.toBuilder() + .augmentation(OvsdbBridgeAugmentation.class) + .child(ControllerEntry.class, + new ControllerEntryKey(new Uri(controller.getTargetColumn().getData()))) + .build()); } } } diff --git a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbControllerUpdateCommand.java b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbControllerUpdateCommand.java index e2ec8c654..9602baa00 100644 --- a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbControllerUpdateCommand.java +++ b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbControllerUpdateCommand.java @@ -38,7 +38,6 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey; import org.opendaylight.yangtools.binding.DataObjectIdentifier; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -165,7 +164,7 @@ public class OvsdbControllerUpdateCommand extends AbstractTransactionCommand { } /** - * Create the {@link InstanceIdentifier} for the {@link ControllerEntry}. + * Create the {@link DataObjectIdentifier} for the {@link ControllerEntry}. * * @param controllerEntry the {@link ControllerEntry} * @param bridgeName the name of the bridge diff --git a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQosUpdateCommand.java b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQosUpdateCommand.java index 5badcf5f9..dfbb5f0cf 100644 --- a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQosUpdateCommand.java +++ b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQosUpdateCommand.java @@ -48,7 +48,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; import org.opendaylight.yangtools.binding.DataObjectIdentifier; import org.opendaylight.yangtools.binding.util.BindingMap; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.Uint32; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -123,9 +122,9 @@ public class OvsdbQosUpdateCommand extends AbstractTransactionCommand { if (qos.getExternalIdsColumn() != null && qos.getExternalIdsColumn().getData() != null) { if (qos.getExternalIdsColumn().getData().containsKey(SouthboundConstants.IID_EXTERNAL_ID_KEY)) { - InstanceIdentifier qosIid = - (InstanceIdentifier) instanceIdentifierCodec.bindingDeserializerOrNull( - qos.getExternalIdsColumn().getData().get(SouthboundConstants.IID_EXTERNAL_ID_KEY)); + var qosIid = (DataObjectIdentifier) instanceIdentifierCodec.bindingDeserializerOrNull( + qos.getExternalIdsColumn().getData().get(SouthboundConstants.IID_EXTERNAL_ID_KEY)) + .toIdentifier(); if (qosIid != null) { QosEntriesKey qosEntriesKey = qosIid.firstKeyOf(QosEntries.class); if (qosEntriesKey != null) { diff --git a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQueueUpdateCommand.java b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQueueUpdateCommand.java index cbe28ba55..a6d49a67f 100644 --- a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQueueUpdateCommand.java +++ b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbQueueUpdateCommand.java @@ -39,7 +39,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; import org.opendaylight.yangtools.binding.DataObjectIdentifier; import org.opendaylight.yangtools.binding.util.BindingMap; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.Uint8; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -112,9 +111,9 @@ public class OvsdbQueueUpdateCommand extends AbstractTransactionCommand { if (queue.getExternalIdsColumn() != null && queue.getExternalIdsColumn().getData() != null) { if (queue.getExternalIdsColumn().getData().containsKey(SouthboundConstants.IID_EXTERNAL_ID_KEY)) { - InstanceIdentifier queueIid = - (InstanceIdentifier) instanceIdentifierCodec.bindingDeserializerOrNull( - queue.getExternalIdsColumn().getData().get(SouthboundConstants.IID_EXTERNAL_ID_KEY)); + var queueIid = (DataObjectIdentifier) instanceIdentifierCodec.bindingDeserializerOrNull( + queue.getExternalIdsColumn().getData().get(SouthboundConstants.IID_EXTERNAL_ID_KEY)) + .toIdentifier(); if (queueIid != null) { QueuesKey queuesKey = queueIid.firstKeyOf(Queues.class); if (queuesKey != null) { diff --git a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/InstanceIdentifierCodecTest.java b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/InstanceIdentifierCodecTest.java index 5902838d9..6c7939b2f 100644 --- a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/InstanceIdentifierCodecTest.java +++ b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/InstanceIdentifierCodecTest.java @@ -25,8 +25,8 @@ import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.MockitoJUnitRunner; import org.opendaylight.mdsal.dom.api.DOMSchemaService; +import org.opendaylight.yangtools.binding.DataObjectIdentifier; import org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.XMLNamespace; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -104,7 +104,7 @@ public class InstanceIdentifierCodecTest { @Test @Ignore("Mocking of sealed interfaces. This needs proper test data.") public void testSerialize() { - InstanceIdentifier iid = mock(InstanceIdentifier.class); + DataObjectIdentifier iid = mock(DataObjectIdentifier.class); YangInstanceIdentifier yiid = mock(YangInstanceIdentifier.class); when(bindingNormalizedNodeSerializer.toYangInstanceIdentifier(iid)).thenReturn(yiid); assertEquals("Error, did not return correct string", "", instanceIdCodec.serialize(iid)); diff --git a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/SouthboundMapperTest.java b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/SouthboundMapperTest.java index b9cac931a..438ffd10e 100644 --- a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/SouthboundMapperTest.java +++ b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/SouthboundMapperTest.java @@ -64,7 +64,6 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yangtools.binding.DataObjectIdentifier; import org.opendaylight.yangtools.binding.DataObjectReference; import org.opendaylight.yangtools.binding.util.BindingMap; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.Uint32; public class SouthboundMapperTest { @@ -437,7 +436,7 @@ public class SouthboundMapperTest { // if true externalIdMap.put(SouthboundConstants.IID_EXTERNAL_ID_KEY, "test"); InstanceIdentifierCodec iidc = mock(InstanceIdentifierCodec.class); - InstanceIdentifier iid = InstanceIdentifier.create(NetworkTopology.class); + DataObjectIdentifier iid = DataObjectIdentifier.builder(NetworkTopology.class).build(); when(iidc.bindingDeserializerOrNull("test")).thenReturn(iid); assertEquals("Incorrect Instance Identifier received", iid, SouthboundMapper.getInstanceIdentifier(iidc, ovs)); // if false diff --git a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/SouthboundProviderTest.java b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/SouthboundProviderTest.java index d290e1b6d..d3a9369f7 100644 --- a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/SouthboundProviderTest.java +++ b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/SouthboundProviderTest.java @@ -42,10 +42,9 @@ import org.opendaylight.ovsdb.lib.operations.DefaultOperations; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey; +import org.opendaylight.yangtools.binding.DataObjectIdentifier; import org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer; import org.opendaylight.yangtools.concepts.Registration; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier; public class SouthboundProviderTest extends AbstractConcurrentDataBrokerTest { private EntityOwnershipService entityOwnershipService; @@ -122,9 +121,9 @@ public class SouthboundProviderTest extends AbstractConcurrentDataBrokerTest { when(entityOwnershipService.getOwnershipState(any(Entity.class))).thenReturn( Optional.of(EntityOwnershipState.from(false, true))); Entity entity = new Entity("ovsdb-southbound-provider", "ovsdb-southbound-provider"); - KeyedInstanceIdentifier topologyIid = InstanceIdentifier - .create(NetworkTopology.class) - .child(Topology.class, new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)); + var topologyIid = DataObjectIdentifier.builder(NetworkTopology.class) + .child(Topology.class, new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)) + .build(); try (SouthboundProvider southboundProvider = new SouthboundProvider( getDataBroker(), @@ -136,10 +135,10 @@ public class SouthboundProviderTest extends AbstractConcurrentDataBrokerTest { diagStatusService, new DefaultOperations())) { // At this point the OVSDB topology must not be present in either tree - assertFalse(getDataBroker().newReadOnlyTransaction().read(LogicalDatastoreType.CONFIGURATION, - topologyIid.toIdentifier()).get().isPresent()); - assertFalse(getDataBroker().newReadOnlyTransaction().read(LogicalDatastoreType.OPERATIONAL, - topologyIid.toIdentifier()).get().isPresent()); + assertFalse(getDataBroker().newReadOnlyTransaction().read(LogicalDatastoreType.CONFIGURATION, topologyIid) + .get().isPresent()); + assertFalse(getDataBroker().newReadOnlyTransaction().read(LogicalDatastoreType.OPERATIONAL, topologyIid) + .get().isPresent()); // Become owner southboundProvider.handleOwnershipChange(EntityOwnershipStateChange.from(false, true, true)); @@ -152,19 +151,19 @@ public class SouthboundProviderTest extends AbstractConcurrentDataBrokerTest { assertTrue(southboundProvider.isRegistered()); // Now the OVSDB topology must be present in both trees - assertTrue(getDataBroker().newReadOnlyTransaction().read(LogicalDatastoreType.CONFIGURATION, - topologyIid.toIdentifier()).get().isPresent()); - assertTrue(getDataBroker().newReadOnlyTransaction().read(LogicalDatastoreType.OPERATIONAL, - topologyIid.toIdentifier()).get().isPresent()); + assertTrue(getDataBroker().newReadOnlyTransaction().read(LogicalDatastoreType.CONFIGURATION, topologyIid) + .get().isPresent()); + assertTrue(getDataBroker().newReadOnlyTransaction().read(LogicalDatastoreType.OPERATIONAL, topologyIid) + .get().isPresent()); // Verify idempotency southboundProvider.handleOwnershipChange(EntityOwnershipStateChange.from(false, true, true)); // The OVSDB topology must be present in both trees - assertTrue(getDataBroker().newReadOnlyTransaction().read(LogicalDatastoreType.CONFIGURATION, - topologyIid.toIdentifier()).get().isPresent()); - assertTrue(getDataBroker().newReadOnlyTransaction().read(LogicalDatastoreType.OPERATIONAL, - topologyIid.toIdentifier()).get().isPresent()); + assertTrue(getDataBroker().newReadOnlyTransaction().read(LogicalDatastoreType.CONFIGURATION, topologyIid) + .get().isPresent()); + assertTrue(getDataBroker().newReadOnlyTransaction().read(LogicalDatastoreType.OPERATIONAL, topologyIid) + .get().isPresent()); } } } diff --git a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/OvsdbNodeUpdateCommandTest.java b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/OvsdbNodeUpdateCommandTest.java index 084a5ad0a..49f2dcfa6 100644 --- a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/OvsdbNodeUpdateCommandTest.java +++ b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/OvsdbNodeUpdateCommandTest.java @@ -48,7 +48,6 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey; import org.opendaylight.yangtools.binding.DataObjectIdentifier; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.powermock.api.mockito.PowerMockito; import org.powermock.api.support.membermodification.MemberMatcher; import org.powermock.core.classloader.annotations.PrepareForTest; @@ -104,7 +103,7 @@ public class OvsdbNodeUpdateCommandTest { when(ovsdbNode.getOpenvswitchExternalIds()).thenReturn(Map.of(externalId.key(), externalId)); PowerMockito.suppress(MemberMatcher.method(OvsdbNodeUpdateCommand.class, "stampInstanceIdentifier", TransactionBuilder.class, DataObjectIdentifier.class, InstanceIdentifierCodec.class)); - PowerMockito.suppress(MemberMatcher.methodsDeclaredIn(InstanceIdentifier.class)); + PowerMockito.suppress(MemberMatcher.methodsDeclaredIn(DataObjectIdentifier.class)); doNothing().when(ovs).setExternalIds(any(ImmutableMap.class)); Mutate mutate = mock(Mutate.class); diff --git a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/ProtocolRemovedCommandTest.java b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/ProtocolRemovedCommandTest.java index 112f58c8c..ecec15867 100644 --- a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/ProtocolRemovedCommandTest.java +++ b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/ProtocolRemovedCommandTest.java @@ -37,7 +37,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeProtocolOpenflow10; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ProtocolEntry; import org.opendaylight.yangtools.binding.DataObjectIdentifier; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.powermock.api.mockito.PowerMockito; import org.powermock.api.support.membermodification.MemberMatcher; import org.powermock.api.support.membermodification.MemberModifier; @@ -55,7 +54,7 @@ public class ProtocolRemovedCommandTest { @Test @Ignore("This needs to be rewritten") public void testExecute() throws Exception { - PowerMockito.suppress(MemberMatcher.methodsDeclaredIn(InstanceIdentifier.class)); + PowerMockito.suppress(MemberMatcher.methodsDeclaredIn(DataObjectIdentifier.class)); ProtocolEntry protocol = mock(ProtocolEntry.class); when(protocol.getProtocol()).thenAnswer( diff --git a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/TerminationPointCreateCommandTest.java b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/TerminationPointCreateCommandTest.java index d980a7964..1d00f115c 100644 --- a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/TerminationPointCreateCommandTest.java +++ b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/TerminationPointCreateCommandTest.java @@ -55,7 +55,6 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointKey; import org.opendaylight.yangtools.binding.DataObject; import org.opendaylight.yangtools.binding.DataObjectIdentifier; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.powermock.api.mockito.PowerMockito; import org.powermock.api.support.membermodification.MemberMatcher; import org.powermock.api.support.membermodification.MemberModifier; @@ -98,7 +97,7 @@ public class TerminationPointCreateCommandTest { when(op.insert(any(Interface.class))).thenReturn(insert); when(insert.withId(anyString())).thenReturn(insert); MemberModifier.suppress(MemberMatcher.method(TerminationPointCreateCommand.class, - "stampInstanceIdentifier", TransactionBuilder.class, InstanceIdentifier.class, String.class)); + "stampInstanceIdentifier", TransactionBuilder.class, DataObjectIdentifier.class, String.class)); when(ovsInterface.getName()).thenReturn(INTERFACE_NAME); Port port = mock(Port.class); diff --git a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/TerminationPointUpdateCommandTest.java b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/TerminationPointUpdateCommandTest.java index e8c741509..0091c6a09 100644 --- a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/TerminationPointUpdateCommandTest.java +++ b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/ovsdb/transact/TerminationPointUpdateCommandTest.java @@ -49,7 +49,6 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointKey; import org.opendaylight.yangtools.binding.DataObjectIdentifier; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.powermock.api.mockito.PowerMockito; import org.powermock.api.support.membermodification.MemberMatcher; import org.powermock.api.support.membermodification.MemberModifier; @@ -144,7 +143,7 @@ public class TerminationPointUpdateCommandTest { when(where.build()).thenReturn(mock(Operation.class)); when(transaction.add(any(Operation.class))).thenReturn(transaction); PowerMockito.suppress(MemberMatcher.methodsDeclaredIn(TerminationPointCreateCommand.class)); - PowerMockito.suppress(MemberMatcher.methodsDeclaredIn(InstanceIdentifier.class)); + PowerMockito.suppress(MemberMatcher.methodsDeclaredIn(DataObjectIdentifier.class)); // Test updatePort() Port port = mock(Port.class); diff --git a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java index e2722e071..61bbaf517 100644 --- a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java +++ b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java @@ -75,7 +75,6 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey; import org.opendaylight.yangtools.binding.BindingInstanceIdentifier; import org.opendaylight.yangtools.binding.DataObjectIdentifier; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.powermock.api.mockito.PowerMockito; import org.powermock.api.support.membermodification.MemberMatcher; import org.powermock.api.support.membermodification.MemberModifier; @@ -218,7 +217,7 @@ public class OvsdbBridgeUpdateCommandTest { when(oldBridge.getExternalIdsColumn()).thenReturn(column); when(column.getData()).thenReturn(map); when(bridge.getExternalIdsColumn()).thenReturn(column); - List> resultBridgeExternalIds = Whitebox + List> resultBridgeExternalIds = Whitebox .invokeMethod(ovsdbBridgeUpdateCommand, "externalIdsToRemove", bridgeIid, bridge); assertEquals(ArrayList.class, resultBridgeExternalIds.getClass()); verify(oldBridge, times(2)).getExternalIdsColumn(); @@ -231,7 +230,7 @@ public class OvsdbBridgeUpdateCommandTest { when(oldBridge.getProtocolsColumn()).thenReturn(column1); when(column.getData()).thenReturn(map); when(bridge.getProtocolsColumn()).thenReturn(column1); - List> resultProtocolEntry = Whitebox.invokeMethod(ovsdbBridgeUpdateCommand, + List> resultProtocolEntry = Whitebox.invokeMethod(ovsdbBridgeUpdateCommand, "protocolEntriesToRemove", bridgeIid, bridge); assertEquals(ArrayList.class, resultProtocolEntry.getClass()); verify(oldBridge, times(2)).getProtocolsColumn(); diff --git a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortRemoveCommandTest.java b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortRemoveCommandTest.java index 3013826b3..02a9687dd 100644 --- a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortRemoveCommandTest.java +++ b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortRemoveCommandTest.java @@ -45,7 +45,6 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey; import org.opendaylight.yangtools.binding.DataObjectIdentifier; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.powermock.api.mockito.PowerMockito; import org.powermock.api.support.membermodification.MemberModifier; import org.powermock.core.classloader.annotations.PrepareForTest; @@ -124,7 +123,7 @@ public class OvsdbPortRemoveCommandTest { SouthboundMapper.createInstanceIdentifier(eq(null), any(OvsdbConnectionInstance.class), any(Bridge.class)); - MemberModifier.suppress(MemberModifier.methodsDeclaredIn(InstanceIdentifier.class)); + MemberModifier.suppress(MemberModifier.methodsDeclaredIn(DataObjectIdentifier.class)); ReadWriteTransaction transaction = mock(ReadWriteTransaction.class); doNothing().when(transaction).delete(any(LogicalDatastoreType.class), any(DataObjectIdentifier.class)); diff --git a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortUpdateCommandTest.java b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortUpdateCommandTest.java index 699f6b971..d596b2f97 100644 --- a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortUpdateCommandTest.java +++ b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortUpdateCommandTest.java @@ -73,7 +73,6 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointBuilder; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointKey; import org.opendaylight.yangtools.binding.DataObjectIdentifier; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.Uint16; import org.opendaylight.yangtools.yang.common.Uint32; import org.powermock.api.mockito.PowerMockito; @@ -653,17 +652,19 @@ public class OvsdbPortUpdateCommandTest { when(column.getData()).thenReturn(map); PowerMockito.mockStatic(SouthboundUtil.class); - InstanceIdentifier terminationPointIId = InstanceIdentifier.create(NetworkTopology.class) + var terminationPointIId = DataObjectIdentifier.builder(NetworkTopology.class) .child(Topology.class, new TopologyKey(new TopologyId("testTopo"))) .child(Node.class, new NodeKey(new NodeId("testNode"))) - .child(TerminationPoint.class, new TerminationPointKey(new TpId("testTp"))); + .child(TerminationPoint.class, new TerminationPointKey(new TpId("testTp"))) + .build(); // PowerMockito // .when((InstanceIdentifier) SouthboundUtil.deserializeInstanceIdentifier( // any(InstanceIdentifierCodec.class), anyString())) // .thenReturn(terminationPointIId); - InstanceIdentifier bridgeIid = InstanceIdentifier.create(NetworkTopology.class) + var bridgeIid = DataObjectIdentifier.builder(NetworkTopology.class) .child(Topology.class, new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)) - .child(Node.class, new NodeKey(new NodeId("testNode"))); + .child(Node.class, new NodeKey(new NodeId("testNode"))) + .build(); assertEquals(terminationPointIId, Whitebox.invokeMethod(ovsdbPortUpdateCommand, "getInstanceIdentifier", bridgeIid, port)); } -- 2.34.1 From 83755eeb112fc90bb478244589c51b5d11f1930b Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sun, 4 Oct 2026 20:02:17 +0200 Subject: [PATCH 4/8] Simplify testBuildConnectionNode() Do not mock builders, just compare the result. Change-Id: Ib17d1ac21d936f596d9c9433076e73930d1ebe2d Signed-off-by: Robert Varga --- .../md/OvsdbBridgeUpdateCommandTest.java | 38 +++++++------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java index 61bbaf517..9f152bc23 100644 --- a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java +++ b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java @@ -7,8 +7,9 @@ */ package org.opendaylight.ovsdb.southbound.transactions.md; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertSame; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; @@ -63,7 +64,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ControllerEntry; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ProtocolEntry; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ProtocolEntryBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagedNodeEntry; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagedNodeEntryBuilder; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId; @@ -75,6 +75,7 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey; import org.opendaylight.yangtools.binding.BindingInstanceIdentifier; import org.opendaylight.yangtools.binding.DataObjectIdentifier; +import org.opendaylight.yangtools.binding.util.BindingMap; import org.powermock.api.mockito.PowerMockito; import org.powermock.api.support.membermodification.MemberMatcher; import org.powermock.api.support.membermodification.MemberModifier; @@ -238,12 +239,9 @@ public class OvsdbBridgeUpdateCommandTest { @Test public void testBuildConnectionNode() throws Exception { - NodeBuilder connectionNode = mock(NodeBuilder.class); - PowerMockito.whenNew(NodeBuilder.class).withNoArguments().thenReturn(connectionNode); OvsdbConnectionInstance ovsdbConnectionInstance = mock(OvsdbConnectionInstance.class); when(ovsdbBridgeUpdateCommand.getOvsdbConnectionInstance()).thenReturn(ovsdbConnectionInstance); when(ovsdbConnectionInstance.getNodeId()).thenReturn(mock(NodeId.class)); - when(connectionNode.setNodeId(any(NodeId.class))).thenReturn(connectionNode); PowerMockito.mockStatic(SouthboundMapper.class); final var bridgeIid = DataObjectIdentifier.builder(NetworkTopology.class) @@ -254,25 +252,17 @@ public class OvsdbBridgeUpdateCommandTest { any(OvsdbConnectionInstance.class), any(Bridge.class))) .thenReturn(bridgeIid); - ManagedNodeEntry managedBridge = new ManagedNodeEntryBuilder() - .setBridgeRef(new OvsdbBridgeRef(DataObjectIdentifier.builder(NetworkTopology.class) - .child(Topology.class, new TopologyKey(new TopologyId("testTopo"))) - .child(Node.class, new NodeKey(new NodeId("testNode"))) - .build())) - .build(); - - ManagedNodeEntryBuilder managedNodeEntryBuilder = mock(ManagedNodeEntryBuilder.class); - PowerMockito.whenNew(ManagedNodeEntryBuilder.class).withNoArguments().thenReturn(managedNodeEntryBuilder); - PowerMockito.whenNew(OvsdbBridgeRef.class).withAnyArguments().thenReturn(mock(OvsdbBridgeRef.class)); - when(managedNodeEntryBuilder.setBridgeRef(any(OvsdbBridgeRef.class))).thenReturn(managedNodeEntryBuilder); - when(managedNodeEntryBuilder.build()).thenReturn(managedBridge); - - when(connectionNode.addAugmentation(any(OvsdbNodeAugmentation.class))).thenReturn(connectionNode); - - Node node = mock(Node.class); - when(connectionNode.build()).thenReturn(node); Bridge bridge = mock(Bridge.class); - assertEquals(node, ovsdbBridgeUpdateCommand.buildConnectionNode(bridge)); + final var node = ovsdbBridgeUpdateCommand.buildConnectionNode(bridge); + assertNotNull(node); + final var augmentation = node.augmentation(OvsdbNodeAugmentation.class); + assertNotNull(augmentation); + assertEquals(BindingMap.of(new ManagedNodeEntryBuilder() + .setBridgeRef(new OvsdbBridgeRef(DataObjectIdentifier.builder(NetworkTopology.class) + .child(Topology.class, new TopologyKey(new TopologyId("testTopo"))) + .child(Node.class, new NodeKey(new NodeId("testNode"))) + .build())) + .build()), augmentation.getManagedNodeEntry()); } @Test -- 2.34.1 From f05b9ec6c1fc6e1eeb079aa19c6e124ca91ea4e5 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sun, 4 Oct 2026 23:19:48 +0200 Subject: [PATCH 5/8] Simplify testBuildBridgeNode() Reduce builder mocking and clean up assertions. Change-Id: I6602c51243742f488ac7110335fb2f8dfc67206c Signed-off-by: Robert Varga --- .../md/OvsdbBridgeUpdateCommand.java | 3 ++- .../md/OvsdbBridgeUpdateCommandTest.java | 26 ++++++------------- 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommand.java b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommand.java index 2fc021845..674c56ce4 100644 --- a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommand.java +++ b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommand.java @@ -403,7 +403,8 @@ public class OvsdbBridgeUpdateCommand extends AbstractTransactionCommand { return SouthboundMapper.createInstanceIdentifier(instanceIdentifierCodec, getOvsdbConnectionInstance(), bridge); } - private NodeId getNodeId(Bridge bridge) { + @VisibleForTesting + NodeId getNodeId(Bridge bridge) { return getInstanceIdentifier(bridge).getFirstKeyOf(Node.class).getNodeId(); } diff --git a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java index 9f152bc23..c7f73754a 100644 --- a/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java +++ b/southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java @@ -71,7 +71,6 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; -import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey; import org.opendaylight.yangtools.binding.BindingInstanceIdentifier; import org.opendaylight.yangtools.binding.DataObjectIdentifier; @@ -267,22 +266,10 @@ public class OvsdbBridgeUpdateCommandTest { @Test public void testBuildBridgeNode() throws Exception { - NodeBuilder bridgeNodeBuilder = mock(NodeBuilder.class); - PowerMockito.whenNew(NodeBuilder.class).withNoArguments().thenReturn(bridgeNodeBuilder); - //suppress call to getNodeId() - MemberModifier.suppress(MemberMatcher.method(OvsdbBridgeUpdateCommand.class, "getNodeId", Bridge.class)); - when(bridgeNodeBuilder.setNodeId(any(NodeId.class))).thenReturn(bridgeNodeBuilder); - OvsdbBridgeAugmentationBuilder ovsdbBridgeAugmentationBuilder = mock(OvsdbBridgeAugmentationBuilder.class); - PowerMockito.whenNew(OvsdbBridgeAugmentationBuilder.class).withNoArguments() - .thenReturn(ovsdbBridgeAugmentationBuilder); Bridge bridge = mock(Bridge.class); when(bridge.getName()).thenReturn("bridge name"); - PowerMockito.whenNew(OvsdbBridgeName.class).withAnyArguments().thenReturn(mock(OvsdbBridgeName.class)); - when(ovsdbBridgeAugmentationBuilder.setBridgeName(any(OvsdbBridgeName.class))) - .thenReturn(ovsdbBridgeAugmentationBuilder); when(bridge.getUuid()).thenReturn(mock(UUID.class)); PowerMockito.whenNew(Uuid.class).withAnyArguments().thenReturn(mock(Uuid.class)); - when(ovsdbBridgeAugmentationBuilder.setBridgeUuid(any(Uuid.class))).thenReturn(ovsdbBridgeAugmentationBuilder); //suppress calls to the set methods MemberModifier.suppress(MemberMatcher.method(OvsdbBridgeUpdateCommand.class, "setDataPath", @@ -302,11 +289,14 @@ public class OvsdbBridgeUpdateCommandTest { MemberModifier.suppress(MemberMatcher.method(OvsdbBridgeUpdateCommand.class, "setManagedBy", OvsdbBridgeAugmentationBuilder.class)); - when(ovsdbBridgeAugmentationBuilder.build()).thenReturn(mock(OvsdbBridgeAugmentation.class)); - when(bridgeNodeBuilder.addAugmentation(any(OvsdbBridgeAugmentation.class))).thenReturn(bridgeNodeBuilder); - Node node = mock(Node.class); - when(bridgeNodeBuilder.build()).thenReturn(node); - assertEquals(node, ovsdbBridgeUpdateCommand.buildBridgeNode(bridge)); + MemberModifier.suppress(MemberMatcher.method(OvsdbBridgeUpdateCommand.class, "getNodeId", Bridge.class)); + when(ovsdbBridgeUpdateCommand.getNodeId(bridge)).thenReturn(new NodeId("bridge name")); + + final var node = ovsdbBridgeUpdateCommand.buildBridgeNode(bridge); + assertNotNull(node); + final var augmentation = node.augmentation(OvsdbBridgeAugmentation.class); + assertNotNull(augmentation); + assertEquals(new OvsdbBridgeName("bridge name"), augmentation.getBridgeName()); } @Test -- 2.34.1 From 906ea6c545e61f00b65d009f86890e36e628b820 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sun, 4 Oct 2026 23:21:53 +0200 Subject: [PATCH 6/8] Remove use of Joiner Use a plain String.join() instead. Change-Id: I0d5856acbccf4a0b5180614a6f3b77957c39ea0c Signed-off-by: Robert Varga --- .../org/opendaylight/ovsdb/southbound/SouthboundMapper.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundMapper.java b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundMapper.java index f94703528..5ea28f23d 100644 --- a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundMapper.java +++ b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundMapper.java @@ -11,7 +11,6 @@ import static java.util.Objects.requireNonNull; import static org.opendaylight.ovsdb.southbound.SouthboundUtil.schemaMismatchLog; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Joiner; import com.google.common.base.Preconditions; import com.google.common.base.Splitter; import com.google.common.collect.ImmutableBiMap; @@ -250,8 +249,7 @@ public final class SouthboundMapper { DatapathId datapath; if (dpid.matches("^[0-9a-fA-F]{16}")) { Splitter splitter = Splitter.fixedLength(2); - Joiner joiner = Joiner.on(":"); - datapath = new DatapathId(joiner.join(splitter.split(dpid))); + datapath = new DatapathId(String.join(":", splitter.split(dpid))); } else { datapath = new DatapathId(dpid); } -- 2.34.1 From 1913a873ea2690eaa6286fd3bf188972e43cf851 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sun, 4 Oct 2026 23:27:49 +0200 Subject: [PATCH 7/8] Speed up createDatapathId() Pre-compile the pattern and share the splitter, improving overall performance. Change-Id: I52f03e91d3d79f145e0a7123dc6e4d8b76616c6a Signed-off-by: Robert Varga --- southbound/southbound-impl/pom.xml | 1 + .../ovsdb/southbound/SouthboundMapper.java | 13 +++++-------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/southbound/southbound-impl/pom.xml b/southbound/southbound-impl/pom.xml index f4429dcd2..de6917044 100644 --- a/southbound/southbound-impl/pom.xml +++ b/southbound/southbound-impl/pom.xml @@ -192,6 +192,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED + --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.util.stream=ALL-UNNAMED diff --git a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundMapper.java b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundMapper.java index 5ea28f23d..3741bd583 100644 --- a/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundMapper.java +++ b/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/SouthboundMapper.java @@ -25,6 +25,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.regex.Pattern; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.ovsdb.lib.OvsdbClient; import org.opendaylight.ovsdb.lib.error.SchemaVersionMismatchException; @@ -105,6 +106,8 @@ import org.slf4j.LoggerFactory; public final class SouthboundMapper { private static final Logger LOG = LoggerFactory.getLogger(SouthboundMapper.class); private static final String N_CONNECTIONS_STR = "n_connections"; + private static final Pattern DPID_PATTERN = Pattern.compile("^[0-9a-fA-F]{16}"); + private static final Splitter DPID_SPLITTER = Splitter.fixedLength(2); @VisibleForTesting public static final ImmutableBiMap DATAPATH_TYPE_MAP = ImmutableBiMap.of( @@ -246,14 +249,8 @@ public final class SouthboundMapper { public static DatapathId createDatapathId(final String dpid) { requireNonNull(dpid); - DatapathId datapath; - if (dpid.matches("^[0-9a-fA-F]{16}")) { - Splitter splitter = Splitter.fixedLength(2); - datapath = new DatapathId(String.join(":", splitter.split(dpid))); - } else { - datapath = new DatapathId(dpid); - } - return datapath; + return new DatapathId(DPID_PATTERN.matcher(dpid).matches() ? String.join(":", DPID_SPLITTER.split(dpid)) + : dpid); } public static String createDatapathType(final OvsdbBridgeAugmentation mdsalbridge) { -- 2.34.1 From 8b5c2c3c6b00838a7b8a48be7fba8e98c58b5522 Mon Sep 17 00:00:00 2001 From: jenkins-releng Date: Sun, 4 Oct 2026 21:35:13 +0000 Subject: [PATCH 8/8] Release Validate --- commons/binding-parent/pom.xml | 2 +- commons/bundle-parent/pom.xml | 4 ++-- commons/it/pom.xml | 2 +- commons/pom.xml | 2 +- hwvtepsouthbound/hwvtepsouthbound-api/pom.xml | 4 ++-- hwvtepsouthbound/hwvtepsouthbound-artifacts/pom.xml | 2 +- hwvtepsouthbound/hwvtepsouthbound-features/features/pom.xml | 2 +- .../odl-ovsdb-hwvtepsouthbound-api/pom.xml | 2 +- .../odl-ovsdb-hwvtepsouthbound-rest/pom.xml | 2 +- .../odl-ovsdb-hwvtepsouthbound-test/pom.xml | 2 +- .../odl-ovsdb-hwvtepsouthbound-ui/pom.xml | 2 +- .../odl-ovsdb-hwvtepsouthbound/pom.xml | 2 +- hwvtepsouthbound/hwvtepsouthbound-features/pom.xml | 2 +- hwvtepsouthbound/hwvtepsouthbound-impl/pom.xml | 2 +- hwvtepsouthbound/hwvtepsouthbound-it/pom.xml | 2 +- hwvtepsouthbound/hwvtepsouthbound-karaf/pom.xml | 2 +- hwvtepsouthbound/pom.xml | 2 +- library/artifacts/pom.xml | 2 +- library/features/features/pom.xml | 2 +- library/features/odl-ovsdb-library/pom.xml | 2 +- library/features/pom.xml | 2 +- library/impl/pom.xml | 4 ++-- library/it/pom.xml | 6 +++--- library/karaf/pom.xml | 2 +- library/pom.xml | 2 +- pom.xml | 2 +- schemas/hardwarevtep/pom.xml | 4 ++-- schemas/openvswitch/pom.xml | 4 ++-- schemas/pom.xml | 2 +- southbound/pom.xml | 2 +- southbound/southbound-api/pom.xml | 4 ++-- southbound/southbound-artifacts/pom.xml | 2 +- southbound/southbound-features/features/pom.xml | 2 +- .../southbound-features/odl-ovsdb-southbound-api/pom.xml | 2 +- .../odl-ovsdb-southbound-impl-rest/pom.xml | 2 +- .../odl-ovsdb-southbound-impl-ui/pom.xml | 2 +- .../southbound-features/odl-ovsdb-southbound-impl/pom.xml | 2 +- .../southbound-features/odl-ovsdb-southbound-test/pom.xml | 2 +- southbound/southbound-features/pom.xml | 2 +- southbound/southbound-impl/pom.xml | 2 +- southbound/southbound-it/pom.xml | 2 +- southbound/southbound-karaf/pom.xml | 2 +- utils/config/pom.xml | 4 ++-- utils/hwvtepsouthbound-utils/pom.xml | 4 ++-- utils/mdsal-utils/pom.xml | 4 ++-- utils/odl-ovsdb-utils/pom.xml | 2 +- utils/ovsdb-it-utils/pom.xml | 2 +- utils/pom.xml | 2 +- utils/servicehelper/pom.xml | 4 ++-- utils/southbound-utils/pom.xml | 4 ++-- utils/yang-utils/pom.xml | 2 +- 51 files changed, 64 insertions(+), 64 deletions(-) diff --git a/commons/binding-parent/pom.xml b/commons/binding-parent/pom.xml index b89a0569a..edb10b5a1 100644 --- a/commons/binding-parent/pom.xml +++ b/commons/binding-parent/pom.xml @@ -17,7 +17,7 @@ org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 pom diff --git a/commons/bundle-parent/pom.xml b/commons/bundle-parent/pom.xml index 6eb626f25..55d00f482 100644 --- a/commons/bundle-parent/pom.xml +++ b/commons/bundle-parent/pom.xml @@ -17,7 +17,7 @@ org.opendaylight.ovsdb bundle-parent - 1.23.0-SNAPSHOT + 1.23.0 pom @@ -25,7 +25,7 @@ org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 pom import diff --git a/commons/it/pom.xml b/commons/it/pom.xml index 549b871e8..09ce09ed0 100644 --- a/commons/it/pom.xml +++ b/commons/it/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb it - 1.23.0-SNAPSHOT + 1.23.0 pom diff --git a/commons/pom.xml b/commons/pom.xml index 99beddc11..780c6aaa9 100644 --- a/commons/pom.xml +++ b/commons/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb parents - 1.23.0-SNAPSHOT + 1.23.0 ODL :: ovsdb :: ${project.artifactId} diff --git a/hwvtepsouthbound/hwvtepsouthbound-api/pom.xml b/hwvtepsouthbound/hwvtepsouthbound-api/pom.xml index f4a24bad2..6e601b75e 100644 --- a/hwvtepsouthbound/hwvtepsouthbound-api/pom.xml +++ b/hwvtepsouthbound/hwvtepsouthbound-api/pom.xml @@ -10,14 +10,14 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/binding-parent 4.0.0 org.opendaylight.ovsdb hwvtepsouthbound-api - 1.23.0-SNAPSHOT + 1.23.0 bundle diff --git a/hwvtepsouthbound/hwvtepsouthbound-artifacts/pom.xml b/hwvtepsouthbound/hwvtepsouthbound-artifacts/pom.xml index 50979bed3..b87402e6d 100644 --- a/hwvtepsouthbound/hwvtepsouthbound-artifacts/pom.xml +++ b/hwvtepsouthbound/hwvtepsouthbound-artifacts/pom.xml @@ -19,7 +19,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb hwvtepsouthbound-artifacts - 1.23.0-SNAPSHOT + 1.23.0 pom diff --git a/hwvtepsouthbound/hwvtepsouthbound-features/features/pom.xml b/hwvtepsouthbound/hwvtepsouthbound-features/features/pom.xml index 052cd79e9..0502f00c7 100644 --- a/hwvtepsouthbound/hwvtepsouthbound-features/features/pom.xml +++ b/hwvtepsouthbound/hwvtepsouthbound-features/features/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb hwvtepsouthbound-features - 1.23.0-SNAPSHOT + 1.23.0 feature diff --git a/hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound-api/pom.xml b/hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound-api/pom.xml index bcf4dc199..4b261ab5b 100644 --- a/hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound-api/pom.xml +++ b/hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound-api/pom.xml @@ -11,7 +11,7 @@ org.opendaylight.ovsdb odl-ovsdb-hwvtepsouthbound-api - 1.23.0-SNAPSHOT + 1.23.0 feature diff --git a/hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound-rest/pom.xml b/hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound-rest/pom.xml index 16f5a6b94..0af28df00 100644 --- a/hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound-rest/pom.xml +++ b/hwvtepsouthbound/hwvtepsouthbound-features/odl-ovsdb-hwvtepsouthbound-rest/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb odl-ovsdb-hwvtepsouthbound-rest - 1.23.0-SNAPSHOT + 1.23.0 feature diff --git a/hwvtepsouthbound/hwvtepsouthbound-impl/pom.xml b/hwvtepsouthbound/hwvtepsouthbound-impl/pom.xml index 88de06a51..9274d3d0a 100644 --- a/hwvtepsouthbound/hwvtepsouthbound-impl/pom.xml +++ b/hwvtepsouthbound/hwvtepsouthbound-impl/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/binding-parent diff --git a/hwvtepsouthbound/hwvtepsouthbound-it/pom.xml b/hwvtepsouthbound/hwvtepsouthbound-it/pom.xml index 0e2cf0a8e..7cc4fff55 100644 --- a/hwvtepsouthbound/hwvtepsouthbound-it/pom.xml +++ b/hwvtepsouthbound/hwvtepsouthbound-it/pom.xml @@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb it - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/it diff --git a/hwvtepsouthbound/hwvtepsouthbound-karaf/pom.xml b/hwvtepsouthbound/hwvtepsouthbound-karaf/pom.xml index f6ff6880b..7006b53a5 100644 --- a/hwvtepsouthbound/hwvtepsouthbound-karaf/pom.xml +++ b/hwvtepsouthbound/hwvtepsouthbound-karaf/pom.xml @@ -15,7 +15,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL 4.0.0 org.opendaylight.ovsdb hwvtepsouthbound-karaf - 1.23.0-SNAPSHOT + 1.23.0 pom diff --git a/hwvtepsouthbound/pom.xml b/hwvtepsouthbound/pom.xml index 3ff01ae8a..a766b96c1 100644 --- a/hwvtepsouthbound/pom.xml +++ b/hwvtepsouthbound/pom.xml @@ -17,7 +17,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL org.opendaylight.ovsdb hwvtepsouthbound-aggregator - 1.23.0-SNAPSHOT + 1.23.0 ODL :: ovsdb :: ${project.artifactId} diff --git a/library/artifacts/pom.xml b/library/artifacts/pom.xml index e9058de27..61e892f6d 100644 --- a/library/artifacts/pom.xml +++ b/library/artifacts/pom.xml @@ -19,7 +19,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb library-artifacts - 1.23.0-SNAPSHOT + 1.23.0 pom diff --git a/library/features/features/pom.xml b/library/features/features/pom.xml index c661acec6..a8fb923f3 100644 --- a/library/features/features/pom.xml +++ b/library/features/features/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb library-features - 1.23.0-SNAPSHOT + 1.23.0 feature diff --git a/library/features/odl-ovsdb-library/pom.xml b/library/features/odl-ovsdb-library/pom.xml index cc991b60f..c71f23c7d 100644 --- a/library/features/odl-ovsdb-library/pom.xml +++ b/library/features/odl-ovsdb-library/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb odl-ovsdb-library - 1.23.0-SNAPSHOT + 1.23.0 feature ODL :: ovsdb :: ${project.artifactId} diff --git a/library/impl/pom.xml b/library/impl/pom.xml index f57ce85d8..733069454 100644 --- a/library/impl/pom.xml +++ b/library/impl/pom.xml @@ -12,14 +12,14 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb bundle-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/bundle-parent 4.0.0 org.opendaylight.ovsdb library - 1.23.0-SNAPSHOT + 1.23.0 bundle diff --git a/library/it/pom.xml b/library/it/pom.xml index 83073c284..71eea8f73 100644 --- a/library/it/pom.xml +++ b/library/it/pom.xml @@ -11,14 +11,14 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb it - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/it 4.0.0 org.opendaylight.ovsdb library-it - 1.23.0-SNAPSHOT + 1.23.0 jar @@ -27,7 +27,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb library-karaf - 1.23.0-SNAPSHOT + 1.23.0 zip diff --git a/library/karaf/pom.xml b/library/karaf/pom.xml index c6435fe34..d89f79545 100644 --- a/library/karaf/pom.xml +++ b/library/karaf/pom.xml @@ -15,7 +15,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL 4.0.0 org.opendaylight.ovsdb library-karaf - 1.23.0-SNAPSHOT + 1.23.0 pom diff --git a/library/pom.xml b/library/pom.xml index 7a9c5196d..124c834f8 100644 --- a/library/pom.xml +++ b/library/pom.xml @@ -17,7 +17,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb library-aggregator - 1.23.0-SNAPSHOT + 1.23.0 ODL :: ovsdb :: ${project.artifactId} diff --git a/pom.xml b/pom.xml index 0e3efeb53..abca7b4d6 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb - 1.23.0-SNAPSHOT + 1.23.0 ${project.artifactId} pom diff --git a/schemas/hardwarevtep/pom.xml b/schemas/hardwarevtep/pom.xml index b1ad4c9ab..a17932db2 100644 --- a/schemas/hardwarevtep/pom.xml +++ b/schemas/hardwarevtep/pom.xml @@ -12,13 +12,13 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/binding-parent org.opendaylight.ovsdb schema.hardwarevtep - 1.23.0-SNAPSHOT + 1.23.0 bundle diff --git a/schemas/openvswitch/pom.xml b/schemas/openvswitch/pom.xml index ba9c814f8..078351377 100644 --- a/schemas/openvswitch/pom.xml +++ b/schemas/openvswitch/pom.xml @@ -12,13 +12,13 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/binding-parent org.opendaylight.ovsdb schema.openvswitch - 1.23.0-SNAPSHOT + 1.23.0 bundle diff --git a/schemas/pom.xml b/schemas/pom.xml index f9c22d28d..1fd477908 100644 --- a/schemas/pom.xml +++ b/schemas/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb schemas - 1.23.0-SNAPSHOT + 1.23.0 ODL :: ovsdb :: ${project.artifactId} diff --git a/southbound/pom.xml b/southbound/pom.xml index 4432008bf..b10ea1a91 100644 --- a/southbound/pom.xml +++ b/southbound/pom.xml @@ -16,7 +16,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL org.opendaylight.ovsdb southbound-aggregator - 1.23.0-SNAPSHOT + 1.23.0 ODL :: ovsdb :: ${project.artifactId} diff --git a/southbound/southbound-api/pom.xml b/southbound/southbound-api/pom.xml index f085761f0..ee633bd6c 100644 --- a/southbound/southbound-api/pom.xml +++ b/southbound/southbound-api/pom.xml @@ -10,14 +10,14 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/binding-parent 4.0.0 org.opendaylight.ovsdb southbound-api - 1.23.0-SNAPSHOT + 1.23.0 bundle diff --git a/southbound/southbound-artifacts/pom.xml b/southbound/southbound-artifacts/pom.xml index ec2c9ea13..163728be0 100644 --- a/southbound/southbound-artifacts/pom.xml +++ b/southbound/southbound-artifacts/pom.xml @@ -19,7 +19,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb southbound-artifacts - 1.23.0-SNAPSHOT + 1.23.0 pom diff --git a/southbound/southbound-features/features/pom.xml b/southbound/southbound-features/features/pom.xml index 7528a9f63..006e626d9 100644 --- a/southbound/southbound-features/features/pom.xml +++ b/southbound/southbound-features/features/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb southbound-features - 1.23.0-SNAPSHOT + 1.23.0 feature diff --git a/southbound/southbound-features/odl-ovsdb-southbound-api/pom.xml b/southbound/southbound-features/odl-ovsdb-southbound-api/pom.xml index 161cdc8a2..3cde65763 100644 --- a/southbound/southbound-features/odl-ovsdb-southbound-api/pom.xml +++ b/southbound/southbound-features/odl-ovsdb-southbound-api/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb odl-ovsdb-southbound-api - 1.23.0-SNAPSHOT + 1.23.0 feature diff --git a/southbound/southbound-features/odl-ovsdb-southbound-impl-rest/pom.xml b/southbound/southbound-features/odl-ovsdb-southbound-impl-rest/pom.xml index 9e8242112..dec0d5a84 100644 --- a/southbound/southbound-features/odl-ovsdb-southbound-impl-rest/pom.xml +++ b/southbound/southbound-features/odl-ovsdb-southbound-impl-rest/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb odl-ovsdb-southbound-impl-rest - 1.23.0-SNAPSHOT + 1.23.0 feature ODL :: ovsdb :: ${project.artifactId} diff --git a/southbound/southbound-impl/pom.xml b/southbound/southbound-impl/pom.xml index de6917044..6487298a8 100644 --- a/southbound/southbound-impl/pom.xml +++ b/southbound/southbound-impl/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/binding-parent diff --git a/southbound/southbound-it/pom.xml b/southbound/southbound-it/pom.xml index 9b25ebbe3..72518feda 100644 --- a/southbound/southbound-it/pom.xml +++ b/southbound/southbound-it/pom.xml @@ -12,7 +12,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb it - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/it 4.0.0 diff --git a/southbound/southbound-karaf/pom.xml b/southbound/southbound-karaf/pom.xml index dd43a76fb..88128a04e 100644 --- a/southbound/southbound-karaf/pom.xml +++ b/southbound/southbound-karaf/pom.xml @@ -15,7 +15,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL 4.0.0 org.opendaylight.ovsdb southbound-karaf - 1.23.0-SNAPSHOT + 1.23.0 pom diff --git a/utils/config/pom.xml b/utils/config/pom.xml index dfba187b9..e2c01613f 100644 --- a/utils/config/pom.xml +++ b/utils/config/pom.xml @@ -12,13 +12,13 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/binding-parent org.opendaylight.ovsdb utils.config - 1.23.0-SNAPSHOT + 1.23.0 ODL :: ovsdb :: ${project.artifactId} diff --git a/utils/hwvtepsouthbound-utils/pom.xml b/utils/hwvtepsouthbound-utils/pom.xml index a8473eeba..313bede1f 100644 --- a/utils/hwvtepsouthbound-utils/pom.xml +++ b/utils/hwvtepsouthbound-utils/pom.xml @@ -11,13 +11,13 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/binding-parent org.opendaylight.ovsdb utils.hwvtepsouthbound-utils - 1.23.0-SNAPSHOT + 1.23.0 bundle diff --git a/utils/mdsal-utils/pom.xml b/utils/mdsal-utils/pom.xml index 6b93fde63..54c61bdcf 100644 --- a/utils/mdsal-utils/pom.xml +++ b/utils/mdsal-utils/pom.xml @@ -11,13 +11,13 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/binding-parent org.opendaylight.ovsdb utils.mdsal-utils - 1.23.0-SNAPSHOT + 1.23.0 bundle diff --git a/utils/odl-ovsdb-utils/pom.xml b/utils/odl-ovsdb-utils/pom.xml index 5e0cee529..37c12bb40 100644 --- a/utils/odl-ovsdb-utils/pom.xml +++ b/utils/odl-ovsdb-utils/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb odl-ovsdb-utils - 1.23.0-SNAPSHOT + 1.23.0 feature diff --git a/utils/ovsdb-it-utils/pom.xml b/utils/ovsdb-it-utils/pom.xml index a9c8d44f0..1fbde8b7e 100644 --- a/utils/ovsdb-it-utils/pom.xml +++ b/utils/ovsdb-it-utils/pom.xml @@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/binding-parent diff --git a/utils/pom.xml b/utils/pom.xml index be45cfdd2..e9da2a70b 100644 --- a/utils/pom.xml +++ b/utils/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb utils - 1.23.0-SNAPSHOT + 1.23.0 pom diff --git a/utils/servicehelper/pom.xml b/utils/servicehelper/pom.xml index 9e345753f..a8e6b037b 100644 --- a/utils/servicehelper/pom.xml +++ b/utils/servicehelper/pom.xml @@ -12,13 +12,13 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/binding-parent org.opendaylight.ovsdb utils.servicehelper - 1.23.0-SNAPSHOT + 1.23.0 bundle diff --git a/utils/southbound-utils/pom.xml b/utils/southbound-utils/pom.xml index fa7faf041..76a5aa794 100644 --- a/utils/southbound-utils/pom.xml +++ b/utils/southbound-utils/pom.xml @@ -11,13 +11,13 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/binding-parent org.opendaylight.ovsdb utils.southbound-utils - 1.23.0-SNAPSHOT + 1.23.0 bundle diff --git a/utils/yang-utils/pom.xml b/utils/yang-utils/pom.xml index dad18f7da..a67111874 100644 --- a/utils/yang-utils/pom.xml +++ b/utils/yang-utils/pom.xml @@ -11,7 +11,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.ovsdb ovsdb-binding-parent - 1.23.0-SNAPSHOT + 1.23.0 ../../commons/binding-parent -- 2.34.1