Integrate MRI projects for Neon
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / shardmanager / ShardPeerAddressResolver.java
index d7bd3fa1f60904eaec37abab5a306b7737210a41..468d650d4da2225412e12be588e0a8003e5f7b51 100644 (file)
@@ -12,6 +12,7 @@ import com.google.common.base.Preconditions;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import org.opendaylight.controller.cluster.access.concepts.MemberName;
@@ -33,7 +34,7 @@ class ShardPeerAddressResolver implements PeerAddressResolver {
     private final String shardManagerType;
     private final MemberName localMemberName;
 
-    public ShardPeerAddressResolver(String shardManagerType, MemberName localMemberName) {
+    ShardPeerAddressResolver(String shardManagerType, MemberName localMemberName) {
         this.shardManagerIdentifier = ShardManagerIdentifier.builder().type(shardManagerType).build().toString();
         this.shardManagerType = shardManagerType;
         this.localMemberName = Preconditions.checkNotNull(localMemberName);
@@ -47,14 +48,18 @@ class ShardPeerAddressResolver implements PeerAddressResolver {
         memberNameToAddress.remove(memberName);
     }
 
+    Set<MemberName> getPeerMembers() {
+        return this.memberNameToAddress.keySet();
+    }
+
     Address getPeerAddress(MemberName memberName) {
         return memberNameToAddress.get(memberName);
     }
 
     Collection<String> getShardManagerPeerActorAddresses() {
         Collection<String> peerAddresses = new ArrayList<>();
-        for(Map.Entry<MemberName, Address> entry: memberNameToAddress.entrySet()) {
-            if(!localMemberName.equals(entry.getKey())) {
+        for (Map.Entry<MemberName, Address> entry: memberNameToAddress.entrySet()) {
+            if (!localMemberName.equals(entry.getKey())) {
                 peerAddresses.add(getShardManagerActorPathBuilder(entry.getValue()).toString());
             }
         }
@@ -62,13 +67,13 @@ class ShardPeerAddressResolver implements PeerAddressResolver {
         return peerAddresses;
     }
 
-    ShardIdentifier getShardIdentifier(MemberName memberName, String shardName){
-        return ShardIdentifier.builder().memberName(memberName).shardName(shardName).type(shardManagerType).build();
+    ShardIdentifier getShardIdentifier(MemberName memberName, String shardName) {
+        return ShardIdentifier.create(shardName, memberName, shardManagerType);
     }
 
     String getShardActorAddress(String shardName, MemberName memberName) {
         Address memberAddress = memberNameToAddress.get(memberName);
-        if(memberAddress != null) {
+        if (memberAddress != null) {
             return getShardManagerActorPathBuilder(memberAddress).append("/").append(
                     getShardIdentifier(memberName, shardName)).toString();
         }
@@ -82,11 +87,11 @@ class ShardPeerAddressResolver implements PeerAddressResolver {
 
     @Override
     public String resolve(String peerId) {
-        if(peerId == null) {
+        if (peerId == null) {
             return null;
         }
 
-        ShardIdentifier shardId = ShardIdentifier.builder().fromShardIdString(peerId).build();
+        ShardIdentifier shardId = ShardIdentifier.fromShardIdString(peerId);
         return getShardActorAddress(shardId.getShardName(), shardId.getMemberName());
     }
 }