Move AbstractDOMDataBroker to mdsal-dom-spi 86/109786/2
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 15 Jan 2024 19:23:25 +0000 (20:23 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 15 Jan 2024 19:42:40 +0000 (20:42 +0100)
This patch publishes AbstractDOMDataBroker so it can be reused by other
implementations.

JIRA: MDSAL-851
Change-Id: I70a472ad27678f7c2e50be8ecc3ffbcf89249b86
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
19 files changed:
dom/mdsal-dom-broker/pom.xml
dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/CommitCoordinationTask.java
dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/SerializedDOMDataBroker.java
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMBrokerTest.java
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMDataTreeListenerTest.java
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMTransactionChainTest.java
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/TransactionCommitFailedExceptionMapperTest.java [deleted file]
dom/mdsal-dom-spi/pom.xml
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/AbstractDOMDataBroker.java [moved from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/AbstractDOMDataBroker.java with 97% similarity]
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/AbstractDOMForwardedTransaction.java [moved from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/AbstractDOMForwardedTransaction.java with 99% similarity]
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/AbstractDOMForwardedTransactionFactory.java [moved from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/AbstractDOMForwardedTransactionFactory.java with 99% similarity]
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/DOMDataBrokerTransactionChainImpl.java [moved from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMDataBrokerTransactionChainImpl.java with 89% similarity]
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/DOMForwardedReadOnlyTransaction.java [moved from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMForwardedReadOnlyTransaction.java with 98% similarity]
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/DOMForwardedReadWriteTransaction.java [moved from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMForwardedReadWriteTransaction.java with 98% similarity]
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/DOMForwardedWriteTransaction.java [moved from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransaction.java with 98% similarity]
dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/TransactionCommitFailedExceptionMapper.java [moved from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/TransactionCommitFailedExceptionMapper.java with 97% similarity]
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/AbstractDOMForwardedTransactionTest.java [moved from dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/AbstractDOMForwardedTransactionTest.java with 98% similarity]
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/DOMForwardedWriteTransactionTest.java [moved from dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransactionTest.java with 98% similarity]
dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/TransactionCommitFailedExceptionMapperTest.java [new file with mode: 0644]

index 3946ddd45d1fbcfc3572ea2e71b20e7c3772e0da..b29d1b831a550c4c2c38f01c71980b70d15d8f66 100644 (file)
             <groupId>org.eclipse.jdt</groupId>
             <artifactId>org.eclipse.jdt.annotation</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.gaul</groupId>
-            <artifactId>modernizer-maven-annotations</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.opendaylight.mdsal</groupId>
             <artifactId>mdsal-common-api</artifactId>
index dd5280462c79c5f4876628725fc5cf23649ca3d6..330f037c183e53c966970cefa2e8ba36a1f8a257 100644 (file)
@@ -16,6 +16,7 @@ import java.util.concurrent.ExecutionException;
 import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
+import org.opendaylight.mdsal.dom.spi.TransactionCommitFailedExceptionMapper;
 import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort;
 import org.opendaylight.yangtools.util.DurationStatisticsTracker;
 import org.slf4j.Logger;
index 854ccfaaebd4179a1a2e35cf13ea6e3d66675e63..c41d2c0b1480b4d6a6a456c74c11f12e6f0cd100 100644 (file)
@@ -20,6 +20,7 @@ import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
 import org.opendaylight.mdsal.dom.broker.CommitCoordinationTask.WithTracker;
+import org.opendaylight.mdsal.dom.spi.AbstractDOMDataBroker;
 import org.opendaylight.mdsal.dom.spi.store.DOMStore;
 import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort;
 import org.opendaylight.yangtools.util.DurationStatisticsTracker;
index aca1901557aebfb7ce2f61ddaf6a1454eb086c3b..243b03d8c66561961e23146bc403daddd1e3ffb2 100644 (file)
@@ -36,6 +36,7 @@ import org.opendaylight.mdsal.common.api.TransactionCommitDeadlockException;
 import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
+import org.opendaylight.mdsal.dom.spi.AbstractDOMDataBroker;
 import org.opendaylight.mdsal.dom.spi.store.DOMStore;
 import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore;
 import org.opendaylight.yangtools.util.concurrent.DeadlockDetectingListeningExecutorService;
index c53c134955f95de5bb3fd2ff63974009216cf23b..4b91c8ee622d825a6b2c82fb590e03982844688c 100644 (file)
@@ -31,6 +31,7 @@ import org.opendaylight.mdsal.common.api.TransactionCommitDeadlockException;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
+import org.opendaylight.mdsal.dom.spi.AbstractDOMDataBroker;
 import org.opendaylight.mdsal.dom.spi.store.DOMStore;
 import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore;
 import org.opendaylight.yangtools.util.concurrent.DeadlockDetectingListeningExecutorService;
index 1e4ccad6e11d5f1ba5c04280e97b501dd4e813a9..c3f3d6a4c2c5ba52cca8f9766ecf22ba6f585ac2 100644 (file)
@@ -30,6 +30,7 @@ import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
 import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
+import org.opendaylight.mdsal.dom.spi.AbstractDOMDataBroker;
 import org.opendaylight.mdsal.dom.spi.store.DOMStore;
 import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
diff --git a/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/TransactionCommitFailedExceptionMapperTest.java b/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/TransactionCommitFailedExceptionMapperTest.java
deleted file mode 100644 (file)
index e593ab4..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.mdsal.dom.broker;
-
-import org.junit.Test;
-import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
-
-public class TransactionCommitFailedExceptionMapperTest {
-
-    @Test(expected = TransactionCommitFailedException.class)
-    public void create() throws Exception {
-        throw TransactionCommitFailedExceptionMapper.create("test").newWithCause("test_cause", new Throwable());
-    }
-}
\ No newline at end of file
index cbb12506a1fd1d3deeda101fcd015a2464d2e3f7..a207c894e66837401eff329b69cfcefe7ebd12ff 100644 (file)
             <groupId>org.eclipse.jdt</groupId>
             <artifactId>org.eclipse.jdt.annotation</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.gaul</groupId>
+            <artifactId>modernizer-maven-annotations</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>concepts</artifactId>
similarity index 97%
rename from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/AbstractDOMDataBroker.java
rename to dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/AbstractDOMDataBroker.java
index a47f56457034a55009306ba264c9ba589cc85134..00003aad6be0395a7301454ac26f2f0fa47f1c6f 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.mdsal.dom.broker;
+package org.opendaylight.mdsal.dom.spi;
 
 import java.util.EnumMap;
 import java.util.List;
@@ -15,7 +15,6 @@ import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService;
 import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
-import org.opendaylight.mdsal.dom.spi.PingPongMergingDOMDataBroker;
 import org.opendaylight.mdsal.dom.spi.store.DOMStore;
 import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionChain;
 import org.opendaylight.mdsal.dom.spi.store.DOMStoreTreeChangePublisher;
similarity index 99%
rename from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/AbstractDOMForwardedTransaction.java
rename to dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/AbstractDOMForwardedTransaction.java
index 90497aff1887c0ac61e1ad5fdd0a3bd41399a2b4..c47c0902075cdec857e934ec02470dd72f84b296 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.mdsal.dom.broker;
+package org.opendaylight.mdsal.dom.spi;
 
 import static java.util.Objects.requireNonNull;
 
similarity index 99%
rename from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/AbstractDOMForwardedTransactionFactory.java
rename to dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/AbstractDOMForwardedTransactionFactory.java
index ec1602443016738e46b969356dcbb9929e7640fd..d7350db098a17db20f2395efc864d7b06f5473da 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.mdsal.dom.broker;
+package org.opendaylight.mdsal.dom.spi;
 
 import static com.google.common.base.Preconditions.checkState;
 import static java.util.Objects.requireNonNull;
similarity index 89%
rename from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMDataBrokerTransactionChainImpl.java
rename to dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/DOMDataBrokerTransactionChainImpl.java
index 7e696886a9849ecef7de7fff57b471756b92cec6..f8d1cee569e9627a25be833ba038e2336817c785 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.mdsal.dom.broker;
+package org.opendaylight.mdsal.dom.spi;
 
 import static java.util.Objects.requireNonNull;
 
@@ -59,22 +59,6 @@ final class DOMDataBrokerTransactionChainImpl extends AbstractDOMForwardedTransa
     private volatile State state = State.RUNNING;
     private volatile int counter = 0;
 
-    /**
-     *Constructor with args.
-     *
-     * @param chainId
-     *            ID of transaction chain
-     * @param chains
-     *            Backing {@link DOMStoreTransactionChain}s.
-     * @param coordinator
-     *            Commit Coordinator which should be used to coordinate commits
-     *            of transaction
-     *            produced by this chain.
-     * @param listener
-     *            Listener, which listens on transaction chain events.
-     * @throws NullPointerException
-     *             If any of arguments is null.
-     */
     DOMDataBrokerTransactionChainImpl(final long chainId,
             final Map<LogicalDatastoreType, DOMStoreTransactionChain> chains, final AbstractDOMDataBroker broker) {
         super(chains);
similarity index 98%
rename from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMForwardedReadOnlyTransaction.java
rename to dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/DOMForwardedReadOnlyTransaction.java
index 5d5ebd135914851a1d820835754f3287129f5b6f..bb641b212c05acb871d980be4b06ea5566904a23 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.mdsal.dom.broker;
+package org.opendaylight.mdsal.dom.spi;
 
 import com.google.common.util.concurrent.FluentFuture;
 import java.util.Optional;
similarity index 98%
rename from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMForwardedReadWriteTransaction.java
rename to dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/DOMForwardedReadWriteTransaction.java
index 3e0eca3d05af2350637482d2936dded3bac874e7..39cb288cbdbe51732e6d477a74cde31dae820993 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.mdsal.dom.broker;
+package org.opendaylight.mdsal.dom.spi;
 
 import com.google.common.util.concurrent.FluentFuture;
 import java.util.Optional;
similarity index 98%
rename from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransaction.java
rename to dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/DOMForwardedWriteTransaction.java
index 70b1e4043fb0e142eda63629144a6da4675838ca..3656f61df932faa19c42d7c0b0ee42585887efa1 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.mdsal.dom.broker;
+package org.opendaylight.mdsal.dom.spi;
 
 import static com.google.common.base.Preconditions.checkState;
 import static java.util.Objects.requireNonNull;
@@ -19,7 +19,6 @@ import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
-import org.opendaylight.mdsal.dom.spi.UncancellableListenableFuture;
 import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction;
 import org.opendaylight.yangtools.util.concurrent.FluentFutures;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
similarity index 97%
rename from dom/mdsal-dom-broker/src/main/java/org/opendaylight/mdsal/dom/broker/TransactionCommitFailedExceptionMapper.java
rename to dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/TransactionCommitFailedExceptionMapper.java
index d807e6be34aa14f54a756a7e47eec8e8da8c19ad..397fe4b47d0e81876baebb325c56b0de7ed7b88b 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.mdsal.dom.broker;
+package org.opendaylight.mdsal.dom.spi;
 
 import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.yangtools.util.concurrent.ExceptionMapper;
similarity index 98%
rename from dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/AbstractDOMForwardedTransactionTest.java
rename to dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/AbstractDOMForwardedTransactionTest.java
index 76cdb027250fb223a9a23ed54139f0f36593b52e..78cb1d59c50a8551772215fe31c7f1a081c16789 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.mdsal.dom.broker;
+package org.opendaylight.mdsal.dom.spi;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.MatcherAssert.assertThat;
similarity index 98%
rename from dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMForwardedWriteTransactionTest.java
rename to dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/DOMForwardedWriteTransactionTest.java
index f508ce765d77adb56414495cc24630ec754fedf7..61b0dbaf12345dac214212bc69217fed7240999a 100644 (file)
@@ -4,7 +4,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.mdsal.dom.broker;
+package org.opendaylight.mdsal.dom.spi;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/TransactionCommitFailedExceptionMapperTest.java b/dom/mdsal-dom-spi/src/test/java/org/opendaylight/mdsal/dom/spi/TransactionCommitFailedExceptionMapperTest.java
new file mode 100644 (file)
index 0000000..c8bd373
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.mdsal.dom.spi;
+
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
+import static org.junit.jupiter.api.Assertions.assertSame;
+
+import org.junit.jupiter.api.Test;
+import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
+
+class TransactionCommitFailedExceptionMapperTest {
+    private final TransactionCommitFailedExceptionMapper mapper = TransactionCommitFailedExceptionMapper.create("test");
+
+    @Test
+    void create() {
+        final var cause = new Throwable();
+        final var ex = assertInstanceOf(TransactionCommitFailedException.class,
+            mapper.newWithCause("test_cause", cause));
+        assertSame(cause, ex.getCause());
+    }
+}
\ No newline at end of file