Expose completion future from WriteOperations
[mdsal.git] / binding / mdsal-binding-util / src / main / java / org / opendaylight / mdsal / binding / util / TypedWriteTransactionImpl.java
index 409cb02800ab85318812112246b4249c1c9a248d..b872606308dc9bc0fc6c6f1b6aafd6565f068c92 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.mdsal.binding.util;
 
+import com.google.common.util.concurrent.FluentFuture;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
@@ -19,8 +20,8 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
  */
 class TypedWriteTransactionImpl<D extends Datastore, X extends WriteTransaction> extends TypedTransaction<D, X>
         implements TypedWriteTransaction<D> {
-    TypedWriteTransactionImpl(final Class<D> datastoreType, final X realTx) {
-        super(datastoreType, realTx);
+    TypedWriteTransactionImpl(final D datastore, final X realTx) {
+        super(datastore, realTx);
     }
 
     @Override
@@ -29,14 +30,6 @@ class TypedWriteTransactionImpl<D extends Datastore, X extends WriteTransaction>
         postOperation();
     }
 
-    @Override
-    @Deprecated
-    public final <T extends DataObject> void put(final InstanceIdentifier<T> path, final T data,
-            final boolean createMissingParents) {
-        delegate().put(getDatastoreType(), path, data, createMissingParents);
-        postOperation();
-    }
-
     @Override
     public final <T extends DataObject> void mergeParentStructurePut(final InstanceIdentifier<T> path,
             final T data) {
@@ -50,14 +43,6 @@ class TypedWriteTransactionImpl<D extends Datastore, X extends WriteTransaction>
         postOperation();
     }
 
-    @Override
-    @Deprecated
-    public final <T extends DataObject> void merge(final InstanceIdentifier<T> path, final T data,
-            final boolean createMissingParents) {
-        delegate().merge(getDatastoreType(), path, data, createMissingParents);
-        postOperation();
-    }
-
     @Override
     public final <T extends DataObject> void mergeParentStructureMerge(final InstanceIdentifier<T> path,
             final T data) {
@@ -71,6 +56,11 @@ class TypedWriteTransactionImpl<D extends Datastore, X extends WriteTransaction>
         postOperation();
     }
 
+    @Override
+    public final FluentFuture<?> completionFuture() {
+        return delegate().completionFuture();
+    }
+
     void postOperation() {
         // Defaults to no-op
     }