From e942b0629dd6d61ae945c95815ba7313ab389d59 Mon Sep 17 00:00:00 2001 From: Tom Pantelis Date: Fri, 27 Apr 2018 11:23:00 -0400 Subject: [PATCH] Add AsyncWriteTransaction.commit() Equivalent to the recent md-sal API addition. The CommitInfo class is re-used from md-sal. I also modified all implementations in the controller to implement commit even though it's defaulted. As soon as implementations in other projects do the same then we can default submit(). Change-Id: I0801d5aa4c197177af838e7fbb71b7766a90e043 Signed-off-by: Tom Pantelis --- .../trace/dom/impl/AbstractTracingWriteTransaction.java | 8 ++++++++ .../sal/trace/dom/impl/TracingReadWriteTransaction.java | 8 ++++++++ .../md/sal/trace/dom/impl/TracingWriteTransaction.java | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java b/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java index 9cc67ba29f..f7dd4d78fb 100644 --- a/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java +++ b/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java @@ -9,6 +9,7 @@ package org.opendaylight.controller.md.sal.trace.dom.impl; import com.google.common.collect.ImmutableSet; import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.util.concurrent.FluentFuture; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -16,6 +17,7 @@ import java.util.Set; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; +import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -100,6 +102,12 @@ abstract class AbstractTracingWriteTransaction implements DOMDataWriteTransactio return delegate.submit(); } + @Override + public FluentFuture commit() { + logOps(); + return delegate.commit(); + } + @Override public Object getIdentifier() { return delegate.getIdentifier(); diff --git a/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingReadWriteTransaction.java b/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingReadWriteTransaction.java index 31287b0902..6fbe58b4c5 100644 --- a/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingReadWriteTransaction.java +++ b/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingReadWriteTransaction.java @@ -9,6 +9,7 @@ package org.opendaylight.controller.md.sal.trace.dom.impl; import com.google.common.base.Optional; import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.util.concurrent.FluentFuture; import java.util.Objects; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException; @@ -17,6 +18,7 @@ import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction; import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTracked; import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistry; import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedTrait; +import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -51,6 +53,12 @@ class TracingReadWriteTransaction return super.submit(); } + @Override + public FluentFuture commit() { + closeTracker.removeFromTrackedRegistry(); + return super.commit(); + } + @Override public boolean cancel() { closeTracker.removeFromTrackedRegistry(); diff --git a/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingWriteTransaction.java b/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingWriteTransaction.java index 18c61176e8..4d33a46014 100644 --- a/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingWriteTransaction.java +++ b/dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingWriteTransaction.java @@ -8,11 +8,13 @@ package org.opendaylight.controller.md.sal.trace.dom.impl; import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.util.concurrent.FluentFuture; import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTracked; import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedRegistry; import org.opendaylight.controller.md.sal.trace.closetracker.impl.CloseTrackedTrait; +import org.opendaylight.mdsal.common.api.CommitInfo; class TracingWriteTransaction extends AbstractTracingWriteTransaction implements CloseTracked { @@ -31,6 +33,12 @@ class TracingWriteTransaction extends AbstractTracingWriteTransaction return super.submit(); } + @Override + public FluentFuture commit() { + closeTracker.removeFromTrackedRegistry(); + return super.commit(); + } + @Override public boolean cancel() { closeTracker.removeFromTrackedRegistry(); -- 2.36.6