package net.rrm.ehour.ui.listener;
import net.rrm.ehour.appconfig.EhourHomeUtil;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
* @author thies (Thies Edeling - thies@te-con.nl)
* Created on: 1/23/11 - 2:17 AM
*/
public class EnvInitListener implements ServletContextListener {
private static final Logger LOG = Logger.getLogger(EnvInitListener.class);
@Override
public void contextInitialized(ServletContextEvent sce) {
String home = getEhourHomePath(sce);
if (StringUtils.isBlank(home)) {
throw new IllegalArgumentException("EHOUR_HOME environment variable or context parameter not defined - exiting");
}
EhourHomeUtil.setEhourHome(home);
configureLog4j();
LOG.info("EHOUR_HOME set to " + home);
}
private String getEhourHomePath(ServletContextEvent sce) {
String home = EhourHomeUtil.getEhourHome();
if (StringUtils.isBlank(home)) {
home = sce.getServletContext().getInitParameter(EhourHomeUtil.EHOUR_HOME);
}
return home;
}
private void configureLog4j() {
PropertyConfigurator.configure(EhourHomeUtil.getFileInConfDir("log4j.properties").getAbsolutePath());
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
}
}