Expose completion future from WriteOperations
[mdsal.git] / dom / mdsal-dom-spi / src / main / java / org / opendaylight / mdsal / dom / spi / ForwardingDOMDataWriteTransaction.java
index ee5d9eadb9b35c7bb9a26fc3e163672b333846f3..f32ac7fc39730f5cc94d90032ea89757c563300d 100644 (file)
@@ -7,23 +7,23 @@
  */
 package org.opendaylight.mdsal.dom.spi;
 
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
-
 import com.google.common.collect.ForwardingObject;
-import com.google.common.util.concurrent.CheckedFuture;
-import javax.annotation.Nonnull;
-import org.opendaylight.mdsal.dom.api.DOMDataWriteTransaction;
+import com.google.common.util.concurrent.FluentFuture;
+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.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
 /**
- * Utility {@link DOMDataWriteTransaction} implementation which forwards all interface
+ * Utility {@link DOMDataTreeWriteTransaction} implementation which forwards all interface
  * method invocation to a delegate instance.
  */
-public abstract class ForwardingDOMDataWriteTransaction extends ForwardingObject implements DOMDataWriteTransaction {
+public abstract class ForwardingDOMDataWriteTransaction extends ForwardingObject
+        implements DOMDataTreeWriteTransaction {
     @Override
-    protected abstract @Nonnull DOMDataWriteTransaction delegate();
+    protected abstract @NonNull DOMDataTreeWriteTransaction delegate();
 
     @Override
     public Object getIdentifier() {
@@ -31,12 +31,12 @@ public abstract class ForwardingDOMDataWriteTransaction extends ForwardingObject
     }
 
     @Override
-    public void put(final LogicalDatastoreType store, final YangInstanceIdentifier path, final NormalizedNode<?, ?> data) {
+    public void put(final LogicalDatastoreType store, final YangInstanceIdentifier path, final NormalizedNode data) {
         delegate().put(store, path, data);
     }
 
     @Override
-    public void merge(final LogicalDatastoreType store, final YangInstanceIdentifier path, final NormalizedNode<?, ?> data) {
+    public void merge(final LogicalDatastoreType store, final YangInstanceIdentifier path, final NormalizedNode data) {
         delegate().merge(store, path, data);
     }
 
@@ -51,8 +51,12 @@ public abstract class ForwardingDOMDataWriteTransaction extends ForwardingObject
     }
 
     @Override
-    public CheckedFuture<Void, TransactionCommitFailedException> submit() {
-        return delegate().submit();
+    public FluentFuture<?> completionFuture() {
+        return delegate().completionFuture();
     }
 
+    @Override
+    public FluentFuture<? extends CommitInfo> commit() {
+        return delegate().commit();
+    }
 }