package es.upm.fi.dia.oeg.map4rdf.server.bootstrap; import javax.servlet.ServletContextEvent; import org.apache.log4j.Logger; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.servlet.GuiceServletContextListener; import es.upm.fi.dia.oeg.map4rdf.server.conf.GetServletContext; import es.upm.fi.dia.oeg.map4rdf.server.conf.multiple.MultipleConfigurations; import es.upm.fi.dia.oeg.map4rdf.server.inject.BrowserActionHandlerModule; import es.upm.fi.dia.oeg.map4rdf.server.inject.BrowserConfigModule; import es.upm.fi.dia.oeg.map4rdf.server.inject.BrowserModule; import es.upm.fi.dia.oeg.map4rdf.server.inject.BrowserServletModule; /** * @author Alexander De Leon */ public class Bootstrapper extends GuiceServletContextListener { private static final Logger LOG = Logger.getLogger(Bootstrapper.class.getName()); private MultipleConfigurations multipleConfigs; private GetServletContext getServletContext; @Override public void contextInitialized(ServletContextEvent servletContextEvent) { try{ this.getServletContext= new GetServletContext(servletContextEvent.getServletContext()); multipleConfigs = new MultipleConfigurations(getServletContext); // add config to servlet context so it can be accessed in JSPs servletContextEvent.getServletContext().setAttribute(MultipleConfigurations.class.getName(), multipleConfigs); super.contextInitialized(servletContextEvent); }catch(Exception e){ LOG.fatal("Can't obtain configuration.",e); } } @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { servletContextEvent.getServletContext().removeAttribute(MultipleConfigurations.class.getName()); } @Override protected Injector getInjector() { return Guice.createInjector(new BrowserModule(), new BrowserConfigModule(multipleConfigs), new BrowserServletModule(), new BrowserActionHandlerModule()); } }