package com.baidu.disconf.client.usertools.impl;
import java.util.HashMap;
import java.util.Map;
import com.baidu.disconf.client.common.model.DisconfCenterFile;
import com.baidu.disconf.client.common.model.DisconfCenterItem;
import com.baidu.disconf.client.store.DisconfStoreProcessor;
import com.baidu.disconf.client.store.DisconfStoreProcessorFactory;
import com.baidu.disconf.client.usertools.IDisconfDataGetter;
/**
* Created by knightliao on 16/5/28.
*/
public class DisconfDataGetterDefaultImpl implements IDisconfDataGetter {
@Override
public Map<String, Object> getByFile(String fileName) {
DisconfStoreProcessor disconfStoreProcessor =
DisconfStoreProcessorFactory.getDisconfStoreFileProcessor();
DisconfCenterFile disconfCenterFile = (DisconfCenterFile) disconfStoreProcessor.getConfData(fileName);
if (disconfCenterFile == null) {
return new HashMap<String, Object>();
}
return disconfCenterFile.getKV();
}
@Override
public Object getByFileItem(String fileName, String fileItem) {
Map<String, Object> map = getByFile(fileName);
if (map.containsKey(fileItem)) {
return map.get(fileItem);
}
return null;
}
@Override
public Object getByItem(String itemName) {
DisconfStoreProcessor disconfStoreProcessor =
DisconfStoreProcessorFactory.getDisconfStoreItemProcessor();
DisconfCenterItem disconfCenterItem = (DisconfCenterItem) disconfStoreProcessor.getConfData(itemName);
if (disconfCenterItem == null) {
return null;
}
return disconfCenterItem.getValue();
}
}