package com.baidu.disconf.core.test.zookeeper.mock;
import java.util.List;
import java.util.Map;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.data.Stat;
import com.baidu.disconf.core.common.zookeeper.inner.ResilientActiveKeyValueStore;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
/**
* Store的Mock
*
* @author liaoqiqi
* @version 2014-7-30
*/
public class ResilientActiveKeyValueStoreMock extends ResilientActiveKeyValueStore {
// 数据结构
Map<String, String> map = Maps.newHashMap();
/**
* @param
*/
public ResilientActiveKeyValueStoreMock() {
super(true);
}
@Override
public void write(String path, String value) throws InterruptedException, KeeperException {
map.put(path, value);
return;
}
@Override
public String createEphemeralNode(String path, String value, CreateMode createMode)
throws InterruptedException, KeeperException {
map.put(path, value);
return path;
}
@Override
public boolean exists(String path) throws InterruptedException, KeeperException {
return map.containsKey(path);
}
@Override
public List<String> getRootChildren() {
return Lists.newArrayList("a", "b", "c");
}
@Override
public void deleteNode(String path) {
map.remove(path);
return;
}
@Override
public String read(String path, Watcher watcher, Stat stat) throws InterruptedException, KeeperException {
return map.get(path);
}
}