Convert ProxyDOMDataBroker tx creation to async
[netconf.git] / netconf / netconf-topology-singleton / src / main / java / org / opendaylight / netconf / topology / singleton / impl / tx / ProxyReadTransaction.java
index 9ef11bc63d0b2f4361180e8dd719b889f174c2f1..ed972c1d5d3689cdbeed2203102a9448424be0d9 100644 (file)
@@ -9,56 +9,25 @@
 package org.opendaylight.netconf.topology.singleton.impl.tx;
 
 import akka.actor.ActorRef;
-import akka.actor.ActorSystem;
 import akka.util.Timeout;
-import com.google.common.base.Optional;
-import com.google.common.util.concurrent.CheckedFuture;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
 import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction;
 import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import scala.concurrent.ExecutionContext;
+import scala.concurrent.Future;
 
 /**
  * ProxyReadTransaction uses provided {@link ActorRef} to delegate method calls to master
  * {@link org.opendaylight.netconf.topology.singleton.impl.actors.ReadTransactionActor}.
  */
-public class ProxyReadTransaction implements DOMDataReadOnlyTransaction {
+public class ProxyReadTransaction extends ProxyReadWriteTransaction implements DOMDataReadOnlyTransaction {
 
-    private final ProxyReadAdapter delegate;
-
-    /**
-     * @param masterTxActor {@link org.opendaylight.netconf.topology.singleton.impl.actors.ReadTransactionActor} ref
-     * @param id            device id
-     * @param actorSystem   system
-     * @param askTimeout
-     */
-    public ProxyReadTransaction(final ActorRef masterTxActor, final RemoteDeviceId id, final ActorSystem actorSystem,
-                                final Timeout askTimeout) {
-        delegate = new ProxyReadAdapter(masterTxActor, id, actorSystem, askTimeout);
+    public ProxyReadTransaction(final RemoteDeviceId id, final Future<Object> masterTxActorFuture,
+            final ExecutionContext executionContext, final Timeout askTimeout) {
+        super(id, masterTxActorFuture, executionContext, askTimeout);
     }
 
     @Override
     public void close() {
-        delegate.close();
-    }
-
-    @Override
-    public CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> read(final LogicalDatastoreType store,
-                                                                                   final YangInstanceIdentifier path) {
-        return delegate.read(store, path);
-    }
-
-    @Override
-    public CheckedFuture<Boolean, ReadFailedException> exists(final LogicalDatastoreType store,
-                                                              final YangInstanceIdentifier path) {
-        return delegate.exists(store, path);
-    }
-
-
-    @Override
-    public Object getIdentifier() {
-        return this;
+        // noop
     }
 }