Reduce commit(callback) wrapping 89/116489/1 master
authorRobert Varga <[email protected]>
Wed, 7 May 2025 21:21:32 +0000 (23:21 +0200)
committerRobert Varga <[email protected]>
Wed, 7 May 2025 21:21:32 +0000 (23:21 +0200)
If the provided callback is already a OnCommitFutureCallback, just use
that instead of adding forwarding.

Change-Id: Ibf6cfd73320edcebbfbc441cf0ff99c6873b5472
Signed-off-by: Robert Varga <[email protected]>
dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeWriteTransaction.java

index d95410435296ca5e3e6bf2d2df73b7a192362066..a782195881fa1634f08b189f3a6c3af40bca2bf8 100644 (file)
@@ -17,6 +17,7 @@ import org.opendaylight.mdsal.common.api.CommitInfo;
 import org.opendaylight.mdsal.common.api.DataValidationFailedException;
 import org.opendaylight.mdsal.common.api.ForwardingOnCommitFutureCallback;
 import org.opendaylight.mdsal.common.api.OnCommitCallback;
+import org.opendaylight.mdsal.common.api.OnCommitFutureCallback;
 import org.opendaylight.mdsal.common.api.OptimisticLockFailedException;
 import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 
@@ -437,9 +438,10 @@ public interface DOMDataTreeWriteTransaction extends DOMDataTreeTransaction, DOM
      * @throws NullPointerException if any argument is {@code null}
      */
     default void commit(final @NonNull OnCommitCallback callback, final @NonNull Executor executor) {
-        final var compat = new ForwardingOnCommitFutureCallback(callback);
+        final var futureCallback = callback instanceof OnCommitFutureCallback onCommit ? onCommit
+            : new ForwardingOnCommitFutureCallback(callback);
         requireNonNull(executor);
-        commit().addCallback(compat, executor);
+        commit().addCallback(futureCallback, executor);
     }
 
     /**