Expose completion future from WriteOperations
[mdsal.git] / binding / mdsal-binding-spi / src / main / java / org / opendaylight / mdsal / binding / spi / ForwardingWriteTransaction.java
index 6e29fa152faba927a4e8caec8e0757213c0c1ada..93378266aaced28c16f074ebe85a07e4c73c6ae7 100644 (file)
@@ -7,7 +7,8 @@
  */
 package org.opendaylight.mdsal.binding.spi;
 
-import com.google.common.collect.ForwardingObject;
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.util.concurrent.FluentFuture;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
 import org.opendaylight.mdsal.common.api.CommitInfo;
@@ -19,12 +20,11 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
  * Utility {@link WriteTransaction} implementation which forwards all interface method
  * invocation to a delegate instance.
  */
-public class ForwardingWriteTransaction extends ForwardingObject implements WriteTransaction {
-
+public class ForwardingWriteTransaction extends ForwardingTransaction implements WriteTransaction {
     private final WriteTransaction delegate;
 
-    protected ForwardingWriteTransaction(WriteTransaction delegate) {
-        this.delegate = delegate;
+    public ForwardingWriteTransaction(final WriteTransaction delegate) {
+        this.delegate = requireNonNull(delegate);
     }
 
     @Override
@@ -33,29 +33,34 @@ public class ForwardingWriteTransaction extends ForwardingObject implements Writ
     }
 
     @Override
-    public <T extends DataObject> void put(LogicalDatastoreType store, InstanceIdentifier<T> path, T data) {
+    public <T extends DataObject> void put(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
+            final T data) {
         delegate.put(store, path, data);
     }
 
+    @Deprecated
     @Override
-    public <T extends DataObject> void put(LogicalDatastoreType store, InstanceIdentifier<T> path, T data,
-            boolean createMissingParents) {
-        delegate.put(store, path, data, createMissingParents);
+    public <T extends DataObject> void mergeParentStructurePut(final LogicalDatastoreType store,
+            final InstanceIdentifier<T> path, final T data) {
+        delegate.mergeParentStructurePut(store, path, data);
     }
 
+    @Deprecated
     @Override
-    public <T extends DataObject> void merge(LogicalDatastoreType store, InstanceIdentifier<T> path, T data) {
+    public <T extends DataObject> void merge(final LogicalDatastoreType store, final InstanceIdentifier<T> path,
+            final T data) {
         delegate.merge(store, path, data);
     }
 
+    @Deprecated
     @Override
-    public <T extends DataObject> void merge(LogicalDatastoreType store, InstanceIdentifier<T> path, T data,
-            boolean createMissingParents) {
-        delegate.merge(store, path, data, createMissingParents);
+    public <T extends DataObject> void mergeParentStructureMerge(final LogicalDatastoreType store,
+            final InstanceIdentifier<T> path, final T data) {
+        delegate.mergeParentStructureMerge(store, path, data);
     }
 
     @Override
-    public void delete(LogicalDatastoreType store, InstanceIdentifier<?> path) {
+    public void delete(final LogicalDatastoreType store, final InstanceIdentifier<?> path) {
         delegate.delete(store, path);
     }
 
@@ -70,7 +75,7 @@ public class ForwardingWriteTransaction extends ForwardingObject implements Writ
     }
 
     @Override
-    public Object getIdentifier() {
-        return delegate.getIdentifier();
+    public FluentFuture<?> completionFuture() {
+        return delegate.completionFuture();
     }
 }