package com.workshare.msnos.core.security;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.log4j.Logger;
public class SystemPropertiesKeysStore implements KeysStore {
private static Logger logger = Logger.getLogger(SystemPropertiesKeysStore.class);
public static final String SYSP_KEYS = "com.ws.msnos.keys";
public final Map<String,String> keyvals = new ConcurrentHashMap<String,String>();
public SystemPropertiesKeysStore() {
String property = System.getProperty(SYSP_KEYS);
if (property != null) {
String[] allvals = property.split(",");
for (String keyval : allvals) {
parseKeyVal(keyval);
}
}
}
private void parseKeyVal(String keyval) {
try {
String[] tokens = keyval.split("=");
String key = tokens[0];
String val = tokens[1];
keyvals.put(key, val);
}
catch (Exception ex) {
logger.warn("Unexpect error parsing keys from system property: '"+System.getProperty(SYSP_KEYS)+"'", ex);
}
}
@Override
public String get(String id) {
return keyvals.get(id);
}
@Override
public boolean isEmpty() {
return keyvals.isEmpty();
}
}