Add AsyncWriteTransaction.commit()
authorTom Pantelis <tompantelis@gmail.com>
Fri, 27 Apr 2018 15:23:00 +0000 (11:23 -0400)
committerTom Pantelis <tompantelis@gmail.com>
Sat, 28 Apr 2018 00:43:36 +0000 (20:43 -0400)
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 <tompantelis@gmail.com>
dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/AbstractTracingWriteTransaction.java
dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingReadWriteTransaction.java
dom-impl/src/main/java/org/opendaylight/controller/md/sal/trace/dom/impl/TracingWriteTransaction.java

index 9cc67ba29f92bb853aef4d7a96f53571157d6ca4..f7dd4d78fbdcae5ca308b356ff6084bc0e09aedf 100644 (file)
@@ -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<? extends CommitInfo> commit() {
+        logOps();
+        return delegate.commit();
+    }
+
     @Override
     public Object getIdentifier() {
         return delegate.getIdentifier();
index 31287b090270a58897d937eb7cd9cdafb6179db9..6fbe58b4c5be6102d4d0c356ce15a59beb631845 100644 (file)
@@ -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<? extends CommitInfo> commit() {
+        closeTracker.removeFromTrackedRegistry();
+        return super.commit();
+    }
+
     @Override
     public boolean cancel() {
         closeTracker.removeFromTrackedRegistry();
index 18c61176e8e95f9849075a6d3443f509ebb67214..4d33a4601469da0a2ecf9b1806dac8a6a033d415 100644 (file)
@@ -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<TracingWriteTransaction> {
@@ -31,6 +33,12 @@ class TracingWriteTransaction extends AbstractTracingWriteTransaction
         return super.submit();
     }
 
+    @Override
+    public FluentFuture<? extends CommitInfo> commit() {
+        closeTracker.removeFromTrackedRegistry();
+        return super.commit();
+    }
+
     @Override
     public boolean cancel() {
         closeTracker.removeFromTrackedRegistry();