package com.github.hburgmeier.jerseyoauth2.testsuite.rs2.guice; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import com.github.hburgmeier.jerseyoauth2.authsrv.impl.guice.AuthorizationServerModule; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.servlet.GuiceServletContextListener; public class ContextListener extends GuiceServletContextListener { @Override protected Injector getInjector() { Injector injector = Guice.createInjector( new AuthorizationServerModule(), new AppModule()); return injector; } @Override public void contextInitialized(ServletContextEvent servletContextEvent) { // No call to super as it also calls getInjector() ServletContext sc = servletContextEvent.getServletContext(); sc.setAttribute(Injector.class.getName(), getInjector()); } @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { ServletContext sc = servletContextEvent.getServletContext(); sc.removeAttribute(Injector.class.getName()); super.contextDestroyed(servletContextEvent); } }