Bump versions to 4.0.0-SNAPSHOT
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / sharding / CDSShardAccessImpl.java
index 4580bb9888d6da6a75d475e20a62aedbb4bbc7b5..0e84d046d21b162f7e94dc2da9d942c06ba4ee3a 100644 (file)
@@ -18,13 +18,13 @@ import akka.dispatch.Futures;
 import akka.dispatch.Mapper;
 import akka.dispatch.OnComplete;
 import akka.util.Timeout;
-import com.google.common.base.Optional;
 import java.util.Collection;
+import java.util.Optional;
 import java.util.concurrent.CompletionStage;
 import java.util.concurrent.ConcurrentHashMap;
 import org.opendaylight.controller.cluster.datastore.exceptions.LocalShardNotFoundException;
 import org.opendaylight.controller.cluster.datastore.messages.MakeLeaderLocal;
-import org.opendaylight.controller.cluster.datastore.utils.ActorContext;
+import org.opendaylight.controller.cluster.datastore.utils.ActorUtils;
 import org.opendaylight.controller.cluster.datastore.utils.ClusterUtils;
 import org.opendaylight.controller.cluster.dom.api.CDSShardAccess;
 import org.opendaylight.controller.cluster.dom.api.LeaderLocation;
@@ -51,12 +51,13 @@ import scala.concurrent.Future;
  * creates instances of this class has to call {@link #close()} once it is no
  * longer valid.
  */
+@Deprecated(forRemoval = true)
 final class CDSShardAccessImpl implements CDSShardAccess, LeaderLocationListener, AutoCloseable {
     private static final Logger LOG = LoggerFactory.getLogger(CDSShardAccessImpl.class);
 
     private final Collection<LeaderLocationListener> listeners = ConcurrentHashMap.newKeySet();
     private final DOMDataTreeIdentifier prefix;
-    private final ActorContext actorContext;
+    private final ActorUtils actorUtils;
     private final Timeout makeLeaderLocalTimeout;
 
     private ActorRef roleChangeListenerActor;
@@ -64,20 +65,20 @@ final class CDSShardAccessImpl implements CDSShardAccess, LeaderLocationListener
     private volatile LeaderLocation currentLeader = LeaderLocation.UNKNOWN;
     private volatile boolean closed = false;
 
-    CDSShardAccessImpl(final DOMDataTreeIdentifier prefix, final ActorContext actorContext) {
+    CDSShardAccessImpl(final DOMDataTreeIdentifier prefix, final ActorUtils actorUtils) {
         this.prefix = requireNonNull(prefix);
-        this.actorContext = requireNonNull(actorContext);
+        this.actorUtils = requireNonNull(actorUtils);
         this.makeLeaderLocalTimeout =
-                new Timeout(actorContext.getDatastoreContext().getShardLeaderElectionTimeout().duration().$times(2));
+                new Timeout(actorUtils.getDatastoreContext().getShardLeaderElectionTimeout().duration().$times(2));
 
         // register RoleChangeListenerActor
         // TODO Maybe we should do this in async
         final Optional<ActorRef> localShardReply =
-                actorContext.findLocalShard(ClusterUtils.getCleanShardName(prefix.getRootIdentifier()));
+                actorUtils.findLocalShard(ClusterUtils.getCleanShardName(prefix.getRootIdentifier()));
         checkState(localShardReply.isPresent(),
                 "Local shard for {} not present. Cannot register RoleChangeListenerActor", prefix);
         roleChangeListenerActor =
-                actorContext.getActorSystem().actorOf(RoleChangeListenerActor.props(localShardReply.get(), this));
+                actorUtils.getActorSystem().actorOf(RoleChangeListenerActor.props(localShardReply.get(), this));
     }
 
     private void checkNotClosed() {
@@ -106,7 +107,7 @@ final class CDSShardAccessImpl implements CDSShardAccess, LeaderLocationListener
 
         // TODO can we cache local shard actorRef?
         final Future<ActorRef> localShardReply =
-                actorContext.findLocalShardAsync(ClusterUtils.getCleanShardName(prefix.getRootIdentifier()));
+                actorUtils.findLocalShardAsync(ClusterUtils.getCleanShardName(prefix.getRootIdentifier()));
 
         // we have to tell local shard to make leader local
         final scala.concurrent.Promise<Object> makeLeaderLocalAsk = Futures.promise();
@@ -124,11 +125,11 @@ final class CDSShardAccessImpl implements CDSShardAccess, LeaderLocationListener
                     makeLeaderLocalAsk.failure(failure);
                 } else {
                     makeLeaderLocalAsk
-                            .completeWith(actorContext
+                            .completeWith(actorUtils
                                     .executeOperationAsync(actorRef, MakeLeaderLocal.INSTANCE, makeLeaderLocalTimeout));
                 }
             }
-        }, actorContext.getClientDispatcher());
+        }, actorUtils.getClientDispatcher());
 
         // we have to transform make leader local request result
         Future<Void> makeLeaderLocalFuture = makeLeaderLocalAsk.future()
@@ -147,7 +148,7 @@ final class CDSShardAccessImpl implements CDSShardAccess, LeaderLocationListener
                         // wrap exception in LeadershipTransferFailedEx
                         return new LeadershipTransferFailedException("Leadership transfer failed", parameter);
                     }
-                }, actorContext.getClientDispatcher());
+                }, actorUtils.getClientDispatcher());
 
         return FutureConverters.toJava(makeLeaderLocalFuture);
     }
@@ -164,7 +165,7 @@ final class CDSShardAccessImpl implements CDSShardAccess, LeaderLocationListener
 
         listeners.add(listener);
 
-        return new LeaderLocationListenerRegistration<L>() {
+        return new LeaderLocationListenerRegistration<>() {
             @Override
             public L getInstance() {
                 return listener;