X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Futils%2FMockConfiguration.java;h=0d036d36992c776748d7af786ef89ac0119e55ab;hb=refs%2Fchanges%2F70%2F29370%2F7;hp=0bc561f1bd053f49674f34ac396afd50e6ba70ae;hpb=ba29dacfce1ac56bbd26574520b67bca545d6c5d;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockConfiguration.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockConfiguration.java index 0bc561f1bd..0d036d3699 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockConfiguration.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockConfiguration.java @@ -8,15 +8,18 @@ package org.opendaylight.controller.cluster.datastore.utils; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; -import org.opendaylight.controller.cluster.datastore.Configuration; +import org.opendaylight.controller.cluster.datastore.config.Configuration; +import org.opendaylight.controller.cluster.datastore.config.ModuleShardConfiguration; import org.opendaylight.controller.cluster.datastore.shardstrategy.ShardStrategy; public class MockConfiguration implements Configuration{ @@ -32,26 +35,28 @@ public class MockConfiguration implements Configuration{ } @Override - public List getMemberShardNames(final String memberName) { - return new ArrayList<>(shardMembers.keySet()); - } - @Override - public Optional getModuleNameFromNameSpace( - final String nameSpace) { - return Optional.absent(); + public Collection getMemberShardNames(final String memberName) { + ArrayList shardNames = new ArrayList(); + for(Map.Entry> shard : shardMembers.entrySet()) { + if (shard.getValue().contains(memberName)) { + shardNames.add(shard.getKey()); + } + } + return shardNames; } @Override - public Map getModuleNameToShardStrategyMap() { - return Collections.emptyMap(); + public String getModuleNameFromNameSpace(final String nameSpace) { + return null; } - @Override public List getShardNamesFromModuleName( - final String moduleName) { - return Collections.emptyList(); + @Override + public String getShardNameForModule(final String moduleName) { + return null; } - @Override public List getMembersFromShardName(final String shardName) { + @Override + public Collection getMembersFromShardName(final String shardName) { if("default".equals(shardName)) { return Arrays.asList("member-1", "member-2"); } else if("astronauts".equals(shardName)){ @@ -65,4 +70,54 @@ public class MockConfiguration implements Configuration{ @Override public Set getAllShardNames() { return Collections.emptySet(); } + + @Override + public Collection getUniqueMemberNamesForAllShards() { + Set allNames = new HashSet<>(); + for(List l: shardMembers.values()) { + allNames.addAll(l); + } + + return allNames; + } + + @Override + public ShardStrategy getStrategyForModule(String moduleName) { + return null; + } + + @Override + public void addModuleShardConfiguration(ModuleShardConfiguration config) { + } + + @Override + public boolean isShardConfigured(String shardName) { + return (shardMembers.containsKey(shardName)); + } + + @Override + public void addMemberReplicaForShard (String shardName, String newMemberName) { + Map> newShardMembers = new HashMap<>(shardMembers); + for(Map.Entry> shard : newShardMembers.entrySet()) { + if (shard.getKey().equals(shardName)) { + List replicas = new ArrayList<>(shard.getValue()); + replicas.add(newMemberName); + shard.setValue(replicas); + shardMembers = ImmutableMap.>builder().putAll(newShardMembers).build(); + } + } + } + + @Override + public void removeMemberReplicaForShard (String shardName, String newMemberName) { + Map> newShardMembers = new HashMap<>(shardMembers); + for(Map.Entry> shard : newShardMembers.entrySet()) { + if (shard.getKey().equals(shardName)) { + List replicas = new ArrayList<>(shard.getValue()); + replicas.remove(newMemberName); + shard.setValue(replicas); + shardMembers = ImmutableMap.>builder().putAll(newShardMembers).build(); + } + } + } }