X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FConfigurationImpl.java;fp=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FConfigurationImpl.java;h=df5a576f6e865b3d623d8e798560bb121201cf89;hb=b5310f51df01f07cac372a97f66e0ef0fefa7264;hp=674c7d52984ad87ed41fb9ab9610475733e44363;hpb=ee1a4976ce56697338e160e237c2e468d37f7ce2;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ConfigurationImpl.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ConfigurationImpl.java index 674c7d5298..df5a576f6e 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ConfigurationImpl.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ConfigurationImpl.java @@ -14,6 +14,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList.Builder; import com.google.common.collect.ImmutableListMultimap; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.ListMultimap; import com.typesafe.config.Config; import com.typesafe.config.ConfigFactory; @@ -22,7 +23,6 @@ import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; -import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -52,6 +52,7 @@ public class ConfigurationImpl implements Configuration { private final ListMultimap moduleNameToShardName; private final Map moduleNameToStrategy; private final Map namespaceToModuleName; + private final Set allShardNames; public ConfigurationImpl(final String moduleShardsConfigPath, @@ -85,11 +86,22 @@ public class ConfigurationImpl implements Configuration { this.moduleShards = readModuleShards(moduleShardsConfig); this.modules = readModules(modulesConfig); + this.allShardNames = createAllShardNames(moduleShards); this.moduleNameToShardName = createModuleNameToShardName(moduleShards); this.moduleNameToStrategy = createModuleNameToStrategy(modules); this.namespaceToModuleName = createNamespaceToModuleName(modules); } + private static Set createAllShardNames(Iterable moduleShards) { + final com.google.common.collect.ImmutableSet.Builder b = ImmutableSet.builder(); + for(ModuleShard ms : moduleShards){ + for(Shard s : ms.getShards()) { + b.add(s.getName()); + } + } + return b.build(); + } + private static Map createModuleNameToStrategy(Iterable modules) { final com.google.common.collect.ImmutableMap.Builder b = ImmutableMap.builder(); for (Module m : modules) { @@ -181,18 +193,11 @@ public class ConfigurationImpl implements Configuration { return Collections.emptyList(); } - @Override public Set getAllShardNames() { - Set shardNames = new LinkedHashSet<>(); - for(ModuleShard ms : moduleShards){ - for(Shard s : ms.getShards()) { - shardNames.add(s.getName()); - } - } - return shardNames; + @Override + public Set getAllShardNames() { + return allShardNames; } - - private List readModules(final Config modulesConfig) { List modulesConfigObjectList = modulesConfig.getObjectList("modules"); @@ -233,7 +238,6 @@ public class ConfigurationImpl implements Configuration { return b.build(); } - private static class ModuleShard { private final String moduleName; private final List shards;