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%2FConfigurationImpl.java;h=1b15e2bd6cdc8fb74721d373a1f122a291e38e18;hb=52618cba48189dc021cb9d440645a34c772ee007;hp=061e1ab448f97ce9ad08541be9b0b1b6d4e73c30;hpb=e316a0ef36279a72767703d190f38a39d7d49395;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 061e1ab448..1b15e2bd6c 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 @@ -10,6 +10,8 @@ package org.opendaylight.controller.cluster.datastore; import com.google.common.base.Optional; import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableList.Builder; import com.typesafe.config.Config; import com.typesafe.config.ConfigFactory; import com.typesafe.config.ConfigObject; @@ -29,9 +31,9 @@ import org.slf4j.LoggerFactory; public class ConfigurationImpl implements Configuration { - private final List moduleShards = new ArrayList<>(); + private final List moduleShards; - private final List modules = new ArrayList<>(); + private final List modules; private static final Logger LOG = LoggerFactory.getLogger(DistributedDataStore.class); @@ -74,9 +76,8 @@ public class ConfigurationImpl implements Configuration { modulesConfig = ConfigFactory.load(modulesConfigPath); } - readModuleShards(moduleShardsConfig); - - readModules(modulesConfig); + this.moduleShards = readModuleShards(moduleShardsConfig); + this.modules = readModules(modulesConfig); } @Override public List getMemberShardNames(final String memberName){ @@ -174,21 +175,25 @@ public class ConfigurationImpl implements Configuration { - private void readModules(final Config modulesConfig) { + private List readModules(final Config modulesConfig) { List modulesConfigObjectList = modulesConfig.getObjectList("modules"); + final Builder b = ImmutableList.builder(); for(ConfigObject o : modulesConfigObjectList){ ConfigObjectWrapper w = new ConfigObjectWrapper(o); - modules.add(new Module(w.stringValue("name"), w.stringValue( + b.add(new Module(w.stringValue("name"), w.stringValue( "namespace"), w.stringValue("shard-strategy"))); } + + return b.build(); } - private void readModuleShards(final Config moduleShardsConfig) { + private static List readModuleShards(final Config moduleShardsConfig) { List moduleShardsConfigObjectList = moduleShardsConfig.getObjectList("module-shards"); + final Builder b = ImmutableList.builder(); for(ConfigObject moduleShardConfigObject : moduleShardsConfigObjectList){ String moduleName = moduleShardConfigObject.get("name").unwrapped().toString(); @@ -204,12 +209,14 @@ public class ConfigurationImpl implements Configuration { shards.add(new Shard(shardName, replicas)); } - this.moduleShards.add(new ModuleShard(moduleName, shards)); + b.add(new ModuleShard(moduleName, shards)); } + + return b.build(); } - private class ModuleShard { + private static class ModuleShard { private final String moduleName; private final List shards; @@ -227,7 +234,7 @@ public class ConfigurationImpl implements Configuration { } } - private class Shard { + private static class Shard { private final String name; private final List replicas;