dnet-core/dnet-core-components/src/main/java/eu/dnetlib/conf/PropertyFetcher.java

88 lines
2.3 KiB
Java

package eu.dnetlib.conf;
import java.util.Map.Entry;
import java.util.Properties;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyResourceConfigurer;
/**
* PropertyFletcher
*
* @author marko
*
*/
public class PropertyFetcher extends PropertyResourceConfigurer implements InitializingBean {
private static final Log log = LogFactory.getLog(PropertyFetcher.class); // NOPMD by marko on 11/24/08 5:02 PM
boolean unchangedHostname = false;
boolean unchangedPort = true;
private Properties props;
@Override
public void afterPropertiesSet() throws Exception {
this.props = mergeProperties();
// Convert the merged properties, if necessary.
convertProperties(props);
log.debug("FOUND A container.hostname property " + props.getProperty("container.hostname"));
if ("localhost".equals(props.getProperty("container.hostname"))) {
unchangedHostname = true;
}
if (props.getProperty("container.port") != null) {
log.debug("FOUND A container.port property " + props.getProperty("container.port"));
unchangedPort = false;
}
if (log.isDebugEnabled()) {
log.debug("HOST unchanged? " + unchangedHostname);
log.debug("PORT unchanged? " + unchangedPort);
for (Entry<?, ?> e : props.entrySet()) {
log.debug("system property: " + e.getKey() + " --> " + e.getValue());
}
}
}
@Override
protected void processProperties(final ConfigurableListableBeanFactory arg0, final Properties props) throws BeansException {
}
public boolean isUnchangedHostname() {
return unchangedHostname;
}
public void setUnchangedHostname(final boolean unchangedHostname) {
this.unchangedHostname = unchangedHostname;
}
public boolean isUnchangedPort() {
return unchangedPort;
}
public void setUnchangedPort(final boolean unchangedPort) {
this.unchangedPort = unchangedPort;
}
public String getProperty(final String key) {
return props.getProperty(key);
}
public Properties getProps() {
return props;
}
public void setProps(final Properties props) {
this.props = props;
}
}