Merge "Added requuired-capabilities to the impl/.../config/default-config.xml and...
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / identifiers / ShardIdentifier.java
index d65af61ba3f8a957b6f67bdc355035fa93297431..03bae2d99dedec37619e63c8b2924c1c7acddc20 100644 (file)
@@ -9,18 +9,18 @@
 package org.opendaylight.controller.cluster.datastore.identifiers;
 
 import com.google.common.base.Preconditions;
-
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 public class ShardIdentifier {
+    // This pattern needs to remain in sync with toString(), which produces
+    // strings with corresponding to "%s-shard-%s-%s"
+    private static final Pattern PATTERN = Pattern.compile("(\\S+)-shard-(\\S+)-(\\S+)");
+
     private final String shardName;
     private final String memberName;
     private final String type;
-
-    //format and pattern should be in sync
-    private final String format = "%s-shard-%s-%s";
-    private static final Pattern pattern = Pattern.compile("(\\S+)-shard-(\\S+)-(\\S+)");
+    private final String fullName;
 
     public ShardIdentifier(String shardName, String memberName, String type) {
 
@@ -31,6 +31,9 @@ public class ShardIdentifier {
         this.shardName = shardName;
         this.memberName = memberName;
         this.type = type;
+
+        fullName = new StringBuilder(memberName).append("-shard-").append(shardName).append("-")
+                .append(type).toString();
     }
 
     @Override
@@ -65,14 +68,10 @@ public class ShardIdentifier {
         return result;
     }
 
-    @Override public String toString() {
+    @Override
+    public String toString() {
         //ensure the output of toString matches the pattern above
-        return new StringBuilder(memberName)
-                    .append("-shard-")
-                    .append(shardName)
-                    .append("-")
-                    .append(type)
-                    .toString();
+        return fullName;
     }
 
     public static Builder builder(){
@@ -116,7 +115,7 @@ public class ShardIdentifier {
         }
 
         public Builder fromShardIdString(String shardId){
-            Matcher matcher = pattern.matcher(shardId);
+            Matcher matcher = PATTERN.matcher(shardId);
 
             if (matcher.matches()) {
                 memberName = matcher.group(1);