X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fshardstrategy%2FModuleShardStrategy.java;h=772710bf2affb13743e8c1e0b9b4f16f62de9475;hb=b65e66f7b1bafb0d0c5fbe1c569835eb890f672a;hp=fe6f740d279ef5a2ea6a8fad7922e57ab7e1b135;hpb=a6a97a57081df63432dde5a6b1613eb779b74d79;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardstrategy/ModuleShardStrategy.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardstrategy/ModuleShardStrategy.java index fe6f740d27..772710bf2a 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardstrategy/ModuleShardStrategy.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardstrategy/ModuleShardStrategy.java @@ -8,8 +8,8 @@ package org.opendaylight.controller.cluster.datastore.shardstrategy; -import org.opendaylight.controller.cluster.datastore.Configuration; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; +import org.opendaylight.controller.cluster.datastore.config.Configuration; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; public class ModuleShardStrategy implements ShardStrategy { @@ -18,13 +18,21 @@ public class ModuleShardStrategy implements ShardStrategy { private final String moduleName; private final Configuration configuration; - public ModuleShardStrategy(String moduleName, Configuration configuration){ + public ModuleShardStrategy(String moduleName, Configuration configuration) { this.moduleName = moduleName; - this.configuration = configuration; } - @Override public String findShard(InstanceIdentifier path) { - return configuration.getShardNamesFromModuleName(moduleName).get(0); + @Override + public String findShard(YangInstanceIdentifier path) { + String shardName = configuration.getShardNameForModule(moduleName); + return shardName != null ? shardName : DefaultShardStrategy.DEFAULT_SHARD; + } + + @Override + public YangInstanceIdentifier getPrefixForPath(YangInstanceIdentifier path) { + return YangInstanceIdentifier.empty(); } + + }