Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
BUG-4626: Introduce NormalizedNodeData{Input,Output}
[controller.git]
/
opendaylight
/
md-sal
/
sal-distributed-datastore
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
datastore
/
identifiers
/
ShardIdentifier.java
diff --git
a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/identifiers/ShardIdentifier.java
b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/identifiers/ShardIdentifier.java
index c6928815938058dbddc7bdb8b920c60fa2e0f7da..03bae2d99dedec37619e63c8b2924c1c7acddc20 100644
(file)
--- a/
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/identifiers/ShardIdentifier.java
+++ b/
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/identifiers/ShardIdentifier.java
@@
-9,12
+9,18
@@
package org.opendaylight.controller.cluster.datastore.identifiers;
import com.google.common.base.Preconditions;
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 {
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;
private final String shardName;
private final String memberName;
private final String type;
-
+ private final String fullName;
public ShardIdentifier(String shardName, String memberName, String type) {
public ShardIdentifier(String shardName, String memberName, String type) {
@@
-25,6
+31,9
@@
public class ShardIdentifier {
this.shardName = shardName;
this.memberName = memberName;
this.type = type;
this.shardName = shardName;
this.memberName = memberName;
this.type = type;
+
+ fullName = new StringBuilder(memberName).append("-shard-").append(shardName).append("-")
+ .append(type).toString();
}
@Override
}
@Override
@@
-59,16
+68,28
@@
public class ShardIdentifier {
return result;
}
return result;
}
- @Override
public String toString() {
- StringBuilder builder = new StringBuilder();
- builder.append(memberName).append("-shard-").append(shardName).append("-").append(type);
- return
builder.toString()
;
+ @Override
+ public String toString() {
+ //ensure the output of toString matches the pattern above
+ return
fullName
;
}
public static Builder builder(){
return new Builder();
}
}
public static Builder builder(){
return new Builder();
}
+ public String getShardName() {
+ return shardName;
+ }
+
+ public String getMemberName() {
+ return memberName;
+ }
+
+ public String getType() {
+ return type;
+ }
+
public static class Builder {
private String shardName;
private String memberName;
public static class Builder {
private String shardName;
private String memberName;
@@
-93,5
+114,15
@@
public class ShardIdentifier {
return this;
}
return this;
}
+ public Builder fromShardIdString(String shardId){
+ Matcher matcher = PATTERN.matcher(shardId);
+
+ if (matcher.matches()) {
+ memberName = matcher.group(1);
+ shardName = matcher.group(2);
+ type = matcher.group(3);
+ }
+ return this;
+ }
}
}
}
}