Merge "BUG-2288: deprecate old binding Notification API elements"
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / utils / MockConfiguration.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.controller.cluster.datastore.utils;
10
11 import com.google.common.base.Optional;
12 import com.google.common.collect.ImmutableMap;
13 import java.util.ArrayList;
14 import java.util.Arrays;
15 import java.util.Collections;
16 import java.util.List;
17 import java.util.Map;
18 import java.util.Set;
19 import org.opendaylight.controller.cluster.datastore.Configuration;
20 import org.opendaylight.controller.cluster.datastore.shardstrategy.ShardStrategy;
21
22 public class MockConfiguration implements Configuration{
23     private Map<String, List<String>> shardMembers = ImmutableMap.<String, List<String>>builder().
24             put("default", Arrays.asList("member-1", "member-2")).
25             /*put("astronauts", Arrays.asList("member-2", "member-3")).*/build();
26
27     public MockConfiguration() {
28     }
29
30     public MockConfiguration(Map<String, List<String>> shardMembers) {
31         this.shardMembers = shardMembers;
32     }
33
34     @Override
35     public List<String> getMemberShardNames(final String memberName) {
36         return new ArrayList<>(shardMembers.keySet());
37     }
38     @Override
39     public Optional<String> getModuleNameFromNameSpace(
40         final String nameSpace) {
41         return Optional.absent();
42     }
43
44     @Override
45     public Map<String, ShardStrategy> getModuleNameToShardStrategyMap() {
46         return Collections.emptyMap();
47     }
48
49     @Override public List<String> getShardNamesFromModuleName(
50         final String moduleName) {
51         return Collections.emptyList();
52     }
53
54     @Override public List<String> getMembersFromShardName(final String shardName) {
55         if("default".equals(shardName)) {
56             return Arrays.asList("member-1", "member-2");
57         } else if("astronauts".equals(shardName)){
58             return Arrays.asList("member-2", "member-3");
59         }
60
61         List<String> members = shardMembers.get(shardName);
62         return members != null ? members : Collections.<String>emptyList();
63     }
64
65     @Override public Set<String> getAllShardNames() {
66         return Collections.emptySet();
67     }
68 }