import akka.pattern.Patterns;
import akka.util.Timeout;
import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import java.util.Collection;
+import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.TimeUnit;
import org.opendaylight.controller.cluster.datastore.messages.CreateShard;
import org.opendaylight.controller.cluster.datastore.messages.GetShardDataTree;
import org.opendaylight.controller.cluster.datastore.shardstrategy.ModuleShardStrategy;
-import org.opendaylight.controller.cluster.datastore.utils.ActorContext;
+import org.opendaylight.controller.cluster.datastore.utils.ActorUtils;
import org.opendaylight.mdsal.eos.common.api.CandidateAlreadyRegisteredException;
import org.opendaylight.mdsal.eos.common.api.EntityOwnershipState;
import org.opendaylight.mdsal.eos.dom.api.DOMEntity;
private static final Timeout MESSAGE_TIMEOUT = new Timeout(1, TimeUnit.MINUTES);
private final ConcurrentMap<DOMEntity, DOMEntity> registeredEntities = new ConcurrentHashMap<>();
- private final ActorContext context;
+ private final ActorUtils context;
private volatile ActorRef localEntityOwnershipShard;
private volatile DataTree localEntityOwnershipShardDataTree;
- DistributedEntityOwnershipService(final ActorContext context) {
+ DistributedEntityOwnershipService(final ActorUtils context) {
this.context = Preconditions.checkNotNull(context);
}
- public static DistributedEntityOwnershipService start(final ActorContext context,
+ public static DistributedEntityOwnershipService start(final ActorUtils context,
final EntityOwnerSelectionStrategyConfig strategyConfig) {
ActorRef shardManagerActor = context.getShardManager();
DataTree dataTree = getLocalEntityOwnershipShardDataTree();
if (dataTree == null) {
- return Optional.absent();
+ return Optional.empty();
}
- java.util.Optional<NormalizedNode<?, ?>> entityNode = dataTree.takeSnapshot().readNode(
+ Optional<NormalizedNode<?, ?>> entityNode = dataTree.takeSnapshot().readNode(
entityPath(forEntity.getType(), forEntity.getIdentifier()));
if (!entityNode.isPresent()) {
- return Optional.absent();
+ return Optional.empty();
}
// Check if there are any candidates, if there are none we do not really have ownership state
final MapEntryNode entity = (MapEntryNode) entityNode.get();
- final java.util.Optional<DataContainerChild<? extends PathArgument, ?>> optionalCandidates =
+ final Optional<DataContainerChild<? extends PathArgument, ?>> optionalCandidates =
entity.getChild(CANDIDATE_NODE_ID);
final boolean hasCandidates = optionalCandidates.isPresent()
&& ((MapNode) optionalCandidates.get()).getValue().size() > 0;
if (!hasCandidates) {
- return Optional.absent();
+ return Optional.empty();
}
MemberName localMemberName = context.getCurrentMemberName();
- java.util.Optional<DataContainerChild<? extends PathArgument, ?>> ownerLeaf = entity.getChild(
- ENTITY_OWNER_NODE_ID);
+ Optional<DataContainerChild<? extends PathArgument, ?>> ownerLeaf = entity.getChild(ENTITY_OWNER_NODE_ID);
String owner = ownerLeaf.isPresent() ? ownerLeaf.get().getValue().toString() : null;
boolean hasOwner = !Strings.isNullOrEmpty(owner);
boolean isOwner = hasOwner && localMemberName.getName().equals(owner);
public void close() {
}
- private static EntityOwnershipShard.Builder newShardBuilder(final ActorContext context,
+ private static EntityOwnershipShard.Builder newShardBuilder(final ActorUtils context,
final EntityOwnerSelectionStrategyConfig strategyConfig) {
return EntityOwnershipShard.newBuilder().localMemberName(context.getCurrentMemberName())
.ownerSelectionStrategyConfig(strategyConfig);