X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fconfig%2FConfigurationImpl.java;h=ab52385893a7fb43f00db90cdada2b464a980315;hp=0007d0941b1cab104f62476bc8a856ab5a643dba;hb=178ebab612c3ddd338e759ca7e929c25c623b0b3;hpb=8232a626b43fdd2f5799da0fbcfb0f02d3c8f4fb diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/config/ConfigurationImpl.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/config/ConfigurationImpl.java index 0007d0941b..ab52385893 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/config/ConfigurationImpl.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/config/ConfigurationImpl.java @@ -5,10 +5,10 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.controller.cluster.datastore.config; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import java.util.AbstractMap.SimpleEntry; @@ -21,8 +21,6 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import org.opendaylight.controller.cluster.access.concepts.MemberName; import org.opendaylight.controller.cluster.datastore.shardstrategy.PrefixShardStrategy; import org.opendaylight.controller.cluster.datastore.shardstrategy.ShardStrategy; @@ -59,7 +57,7 @@ public class ConfigurationImpl implements Configuration { this.namespaceToModuleName = createNamespaceToModuleName(moduleConfigMap.values()); } - private static Set createAllShardNames(Iterable moduleConfigs) { + private static Set createAllShardNames(final Iterable moduleConfigs) { final ImmutableSet.Builder builder = ImmutableSet.builder(); for (ModuleConfig moduleConfig : moduleConfigs) { builder.addAll(moduleConfig.getShardNames()); @@ -68,7 +66,7 @@ public class ConfigurationImpl implements Configuration { return builder.build(); } - private static Map createNamespaceToModuleName(Iterable moduleConfigs) { + private static Map createNamespaceToModuleName(final Iterable moduleConfigs) { final ImmutableMap.Builder builder = ImmutableMap.builder(); for (ModuleConfig moduleConfig : moduleConfigs) { if (moduleConfig.getNamespace() != null) { @@ -81,7 +79,7 @@ public class ConfigurationImpl implements Configuration { @Override public Collection getMemberShardNames(final MemberName memberName) { - Preconditions.checkNotNull(memberName, "memberName should not be null"); + requireNonNull(memberName, "memberName should not be null"); List shards = new ArrayList<>(); for (ModuleConfig moduleConfig: moduleConfigMap.values()) { @@ -97,37 +95,37 @@ public class ConfigurationImpl implements Configuration { @Override public String getModuleNameFromNameSpace(final String nameSpace) { - Preconditions.checkNotNull(nameSpace, "nameSpace should not be null"); - - return namespaceToModuleName.get(nameSpace); + return namespaceToModuleName.get(requireNonNull(nameSpace, "nameSpace should not be null")); } @Override - public ShardStrategy getStrategyForModule(String moduleName) { - Preconditions.checkNotNull(moduleName, "moduleName should not be null"); - - ModuleConfig moduleConfig = moduleConfigMap.get(moduleName); + public ShardStrategy getStrategyForModule(final String moduleName) { + ModuleConfig moduleConfig = getModuleConfig(moduleName); return moduleConfig != null ? moduleConfig.getShardStrategy() : null; } @Override public String getShardNameForModule(final String moduleName) { - Preconditions.checkNotNull(moduleName, "moduleName should not be null"); + ModuleConfig moduleConfig = getModuleConfig(moduleName); + if (moduleConfig != null) { + Collection shardConfigs = moduleConfig.getShardConfigs(); + if (!shardConfigs.isEmpty()) { + return shardConfigs.iterator().next().getName(); + } + } + return null; + } - ModuleConfig moduleConfig = moduleConfigMap.get(moduleName); - Collection shardConfigs = moduleConfig != null ? moduleConfig.getShardConfigs() : - Collections.emptySet(); - return !shardConfigs.isEmpty() ? shardConfigs.iterator().next().getName() : null; + private ModuleConfig getModuleConfig(final String moduleName) { + return moduleConfigMap.get(requireNonNull(moduleName, "moduleName should not be null")); } - @Nullable @Override - public String getShardNameForPrefix(@Nonnull final DOMDataTreeIdentifier prefix) { - Preconditions.checkNotNull(prefix, "prefix should not be null"); + public String getShardNameForPrefix(final DOMDataTreeIdentifier prefix) { + requireNonNull(prefix, "prefix should not be null"); - Entry bestMatchEntry = - new SimpleEntry<>( - new DOMDataTreeIdentifier(prefix.getDatastoreType(), YangInstanceIdentifier.EMPTY), null); + Entry bestMatchEntry = new SimpleEntry<>( + new DOMDataTreeIdentifier(prefix.getDatastoreType(), YangInstanceIdentifier.empty()), null); for (Entry entry : prefixConfigMap.entrySet()) { if (entry.getKey().contains(prefix) && entry.getKey().getRootIdentifier().getPathArguments().size() @@ -161,7 +159,7 @@ public class ConfigurationImpl implements Configuration { } private static void checkNotNullShardName(final String shardName) { - Preconditions.checkNotNull(shardName, "shardName should not be null"); + requireNonNull(shardName, "shardName should not be null"); } @Override @@ -180,8 +178,8 @@ public class ConfigurationImpl implements Configuration { } @Override - public synchronized void addModuleShardConfiguration(ModuleShardConfiguration config) { - Preconditions.checkNotNull(config, "ModuleShardConfiguration should not be null"); + public synchronized void addModuleShardConfiguration(final ModuleShardConfiguration config) { + requireNonNull(config, "ModuleShardConfiguration should not be null"); ModuleConfig moduleConfig = ModuleConfig.builder(config.getModuleName()) .nameSpace(config.getNamespace().toASCIIString()) @@ -196,18 +194,15 @@ public class ConfigurationImpl implements Configuration { } @Override - public void addPrefixShardConfiguration(@Nonnull final PrefixShardConfiguration config) { - Preconditions.checkNotNull(config, "PrefixShardConfiguration cannot be null"); - addPrefixConfig(config); + public void addPrefixShardConfiguration(final PrefixShardConfiguration config) { + addPrefixConfig(requireNonNull(config, "PrefixShardConfiguration cannot be null")); allShardNames = ImmutableSet.builder().addAll(allShardNames) .add(ClusterUtils.getCleanShardName(config.getPrefix().getRootIdentifier())).build(); } @Override - public void removePrefixShardConfiguration(@Nonnull final DOMDataTreeIdentifier prefix) { - Preconditions.checkNotNull(prefix, "Prefix cannot be null"); - - removePrefixConfig(prefix); + public void removePrefixShardConfiguration(final DOMDataTreeIdentifier prefix) { + removePrefixConfig(requireNonNull(prefix, "Prefix cannot be null")); final HashSet temp = new HashSet<>(allShardNames); temp.remove(ClusterUtils.getCleanShardName(prefix.getRootIdentifier())); @@ -232,20 +227,20 @@ public class ConfigurationImpl implements Configuration { prefixConfigMap = ImmutableMap.copyOf(newPrefixConfigMap); } - private ShardStrategy createShardStrategy(String moduleName, String shardStrategyName) { + private ShardStrategy createShardStrategy(final String moduleName, final String shardStrategyName) { return ShardStrategyFactory.newShardStrategyInstance(moduleName, shardStrategyName, this); } @Override - public boolean isShardConfigured(String shardName) { + public boolean isShardConfigured(final String shardName) { checkNotNullShardName(shardName); return allShardNames.contains(shardName); } @Override - public void addMemberReplicaForShard(String shardName, MemberName newMemberName) { + public void addMemberReplicaForShard(final String shardName, final MemberName newMemberName) { checkNotNullShardName(shardName); - Preconditions.checkNotNull(newMemberName, "MemberName should not be null"); + requireNonNull(newMemberName, "MemberName should not be null"); for (ModuleConfig moduleConfig: moduleConfigMap.values()) { ShardConfig shardConfig = moduleConfig.getShardConfig(shardName); @@ -259,9 +254,9 @@ public class ConfigurationImpl implements Configuration { } @Override - public void removeMemberReplicaForShard(String shardName, MemberName newMemberName) { + public void removeMemberReplicaForShard(final String shardName, final MemberName newMemberName) { checkNotNullShardName(shardName); - Preconditions.checkNotNull(newMemberName, "MemberName should not be null"); + requireNonNull(newMemberName, "MemberName should not be null"); for (ModuleConfig moduleConfig: moduleConfigMap.values()) { ShardConfig shardConfig = moduleConfig.getShardConfig(shardName); @@ -275,12 +270,11 @@ public class ConfigurationImpl implements Configuration { } @Override - public ShardStrategy getStrategyForPrefix(@Nonnull final DOMDataTreeIdentifier prefix) { - Preconditions.checkNotNull(prefix, "Prefix cannot be null"); + public ShardStrategy getStrategyForPrefix(final DOMDataTreeIdentifier prefix) { + requireNonNull(prefix, "Prefix cannot be null"); // FIXME using prefix tables like in mdsal will be better - Entry bestMatchEntry = - new SimpleEntry<>( - new DOMDataTreeIdentifier(prefix.getDatastoreType(), YangInstanceIdentifier.EMPTY), null); + Entry bestMatchEntry = new SimpleEntry<>( + new DOMDataTreeIdentifier(prefix.getDatastoreType(), YangInstanceIdentifier.empty()), null); for (Entry entry : prefixConfigMap.entrySet()) { if (entry.getKey().contains(prefix) && entry.getKey().getRootIdentifier().getPathArguments().size()