package com.dianping.pigeon.config.file;
import java.io.FileInputStream;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import com.dianping.pigeon.log.Logger;
import com.dianping.pigeon.config.AbstractConfigManager;
import com.dianping.pigeon.config.ConfigChangeListener;
import com.dianping.pigeon.config.LocalConfigLoader;
import com.dianping.pigeon.log.LoggerLoader;
import com.dianping.pigeon.util.FileUtils;
/**
* @author xiangwu
* @Sep 22, 2013
*
*/
public class PropertiesFileConfigManager extends AbstractConfigManager {
private static Logger logger = LoggerLoader.getLogger(PropertiesFileConfigManager.class);
private static final String ENV_FILE = "/data/webapps/appenv";
private String env = null;
private String group = null;
private String ip = null;
public void init() {
Map<String, Object> config = new HashMap<String, Object>();
try {
LocalConfigLoader.loadProperties(config, FileUtils.readFile(new FileInputStream(ENV_FILE)));
} catch (Exception e) {
}
env = (String) config.get("environment");
if (StringUtils.isBlank(env)) {
logger.warn("the config 'environment' is undefined in " + ENV_FILE);
}
group = (String) config.get("group");
ip = (String) config.get("ip");
}
@Override
public String getConfigServerAddress() {
return "";
}
@Override
public String doGetProperty(String key) throws Exception {
return null;
}
@Override
public String doGetLocalProperty(String key) throws Exception {
return null;
}
@Override
public String doGetEnv() throws Exception {
return env;
}
@Override
public String doGetLocalIp() throws Exception {
return ip;
}
@Override
public String doGetGroup() throws Exception {
return group;
}
@Override
public void doSetStringValue(String key, String value) throws Exception {
}
@Override
public void doDeleteKey(String key) throws Exception {
}
@Override
public void doRegisterConfigChangeListener(ConfigChangeListener configChangeListener) throws Exception {
}
public String toString() {
return "PropertiesFileConfigManager";
}
}