Refine search
public void contextInitialized(ServletContextEvent arg0) { arg0.getServletContext().setAttribute(ATTR_NAME, this); synchronized (servletContextListeners) { int s = servletContextListeners.size(); for (int i = 0; i < s; ++i) { ((ServletContextListener) servletContextListeners.get(i)).contextInitialized(arg0); } } }
public void contextDestroyed(ServletContextEvent arg0) { synchronized (servletContextListeners) { int s = servletContextListeners.size(); for (int i = s - 1; i >= 0; --i) { ((ServletContextListener) servletContextListeners.get(i)).contextDestroyed(arg0); } } }
@Test public void testContextLoaderListenerWithDefaultContext() { MockServletContext sc = new MockServletContext(""); sc.addInitParameter(ContextLoader.CONFIG_LOCATION_PARAM, "/org/springframework/web/context/WEB-INF/applicationContext.xml " + "/org/springframework/web/context/WEB-INF/context-addition.xml"); ServletContextListener listener = new ContextLoaderListener(); ServletContextEvent event = new ServletContextEvent(sc); listener.contextInitialized(event); String contextAttr = WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE; WebApplicationContext context = (WebApplicationContext) sc.getAttribute(contextAttr); assertTrue("Correct WebApplicationContext exposed in ServletContext", context instanceof XmlWebApplicationContext); assertTrue(WebApplicationContextUtils.getRequiredWebApplicationContext(sc) instanceof XmlWebApplicationContext); LifecycleBean lb = (LifecycleBean) context.getBean("lifecycle"); assertTrue("Has father", context.containsBean("father")); assertTrue("Has rod", context.containsBean("rod")); assertTrue("Has kerry", context.containsBean("kerry")); assertTrue("Not destroyed", !lb.isDestroyed()); assertFalse(context.containsBean("beans1.bean1")); assertFalse(context.containsBean("beans1.bean2")); listener.contextDestroyed(event); assertTrue("Destroyed", lb.isDestroyed()); assertNull(sc.getAttribute(contextAttr)); assertNull(WebApplicationContextUtils.getWebApplicationContext(sc)); }
@Test public void testContextDestroyed() { ServletContext context = mock(ServletContext.class); ServletContextEvent destroyed = mock(ServletContextEvent.class); when(destroyed.getServletContext()).thenReturn(context); ServletContextListener listener = new IIOProviderContextListener(); listener.contextInitialized(mock(ServletContextEvent.class)); listener.contextDestroyed(destroyed); }
@Override public <T extends EventListener> void addListener(T t) { if (t instanceof ServletContextListener) { ((ServletContextListener) t).contextInitialized(new ServletContextEvent(this)); } }
@Override protected void fireUndeployEvent() { if (_servletContextListeners != null) { ServletContextEvent servletContextEvent = new ServletContextEvent( servletContext); for (ServletContextListener servletContextListener : _servletContextListeners) { try { servletContextListener.contextDestroyed( servletContextEvent); } catch (Throwable t) { String className = ClassUtil.getClassName( servletContextListener.getClass()); _log.error( StringBundler.concat( className, " is unable to process a context ", "destroyed event for ", servletContext.getServletContextName()), t); } } } super.fireUndeployEvent(); }
@Test public void testContextInitialized() { ServletContextListener listener = new IIOProviderContextListener(); listener.contextInitialized(mock(ServletContextEvent.class)); }
@Test public void testDestroyConcurrentModRegression() { ServletContext context = mock(ServletContext.class); ServletContextEvent destroyed = mock(ServletContextEvent.class); when(destroyed.getServletContext()).thenReturn(context); ServletContextListener listener = new IIOProviderContextListener(); listener.contextInitialized(mock(ServletContextEvent.class)); ImageReaderSpi provider1 = new MockImageReaderSpiOne(); ImageReaderSpi provider2 = new MockImageReaderSpiToo(); // NOTE: Fake registering for simplicity, but it still exposes the original problem with de-registering IIORegistry registry = IIORegistry.getDefaultInstance(); registry.registerServiceProvider(provider1); registry.registerServiceProvider(provider2); assertTrue(registry.contains(provider1)); assertTrue(registry.contains(provider2)); listener.contextDestroyed(destroyed); assertFalse(registry.contains(provider1)); assertFalse(registry.contains(provider2)); }
/** * Addresses the issues raised in <a * href="http://opensource.atlassian.com/projects/spring/browse/SPR-4008" * target="_blank">SPR-4008</a>: <em>Supply an opportunity to customize * context before calling refresh in ContextLoaders</em>. */ @Test public void testContextLoaderListenerWithCustomizedContextLoader() { final StringBuffer buffer = new StringBuffer(); final String expectedContents = "customizeContext() was called"; final MockServletContext sc = new MockServletContext(""); sc.addInitParameter(ContextLoader.CONFIG_LOCATION_PARAM, "/org/springframework/web/context/WEB-INF/applicationContext.xml"); ServletContextListener listener = new ContextLoaderListener() { @Override protected void customizeContext(ServletContext sc, ConfigurableWebApplicationContext wac) { assertNotNull("The ServletContext should not be null.", sc); assertEquals("Verifying that we received the expected ServletContext.", sc, sc); assertFalse("The ApplicationContext should not yet have been refreshed.", wac.isActive()); buffer.append(expectedContents); } }; listener.contextInitialized(new ServletContextEvent(sc)); assertEquals("customizeContext() should have been called.", expectedContents, buffer.toString()); }
/**Removes and destroys all registered {@link ServletContextListener}. */ public MockServletContext removeListeners() { ServletContextEvent e = new ServletContextEvent(this); for (ServletContextListener l : listeners) { l.contextDestroyed(e); } listeners.clear(); return this; }
@Override public void contextInitialized(ServletContextEvent sce) { for (ServletContextListener listener : listeners) { listener.contextInitialized(sce); } }
public void contextInitialized(ServletContextEvent arg0) { arg0.getServletContext().setAttribute(ATTR_NAME, this); synchronized(servletContextListeners) { int s = servletContextListeners.size(); for(int i = 0; i < s; ++i) { ((ServletContextListener)servletContextListeners.get(i)).contextInitialized(arg0); } } }
@Test public void testContextDestroyed() { ServletContext context = mock(ServletContext.class); ServletContextEvent destroyed = mock(ServletContextEvent.class); when(destroyed.getServletContext()).thenReturn(context); ServletContextListener listener = new IIOProviderContextListener(); listener.contextInitialized(mock(ServletContextEvent.class)); listener.contextDestroyed(destroyed); }
@Test public void testContextLoaderWithDefaultLocation() throws Exception { MockServletContext sc = new MockServletContext(""); ServletContextListener listener = new ContextLoaderListener(); ServletContextEvent event = new ServletContextEvent(sc); try { listener.contextInitialized(event); fail("Should have thrown BeanDefinitionStoreException"); } catch (BeanDefinitionStoreException ex) { // expected assertTrue(ex.getCause() instanceof IOException); assertTrue(ex.getCause().getMessage().contains("/WEB-INF/applicationContext.xml")); } }
/** * Removes and destroys all registered {@link ServletContextListener}. * @return */ public MockServletContext removeListeners() { ServletContextEvent e = new ServletContextEvent(this); for (ServletContextListener l : listeners) { l.contextDestroyed(e); } listeners.clear(); return this; }
private void stopListeners() { for (ServletContextListener listener : listeners) { listener.contextDestroyed(event); } }
@Override public void run() { ((ServletContextListener) instance).contextInitialized(sce); } });
public void contextInitialized(ServletContextEvent arg0) { arg0.getServletContext().setAttribute(ATTR_NAME, this); synchronized (servletContextListeners) { int s = servletContextListeners.size(); for (int i = 0; i < s; ++i) { ((ServletContextListener) servletContextListeners.get(i)).contextInitialized(arg0); } } }
@Test public void testDestroyConcurrentModRegression() { ServletContext context = mock(ServletContext.class); ServletContextEvent destroyed = mock(ServletContextEvent.class); when(destroyed.getServletContext()).thenReturn(context); ServletContextListener listener = new IIOProviderContextListener(); listener.contextInitialized(mock(ServletContextEvent.class)); ImageReaderSpi provider1 = new MockImageReaderSpiOne(); ImageReaderSpi provider2 = new MockImageReaderSpiToo(); // NOTE: Fake registering for simplicity, but it still exposes the original problem with de-registering IIORegistry registry = IIORegistry.getDefaultInstance(); registry.registerServiceProvider(provider1); registry.registerServiceProvider(provider2); assertTrue(registry.contains(provider1)); assertTrue(registry.contains(provider2)); listener.contextDestroyed(destroyed); assertFalse(registry.contains(provider1)); assertFalse(registry.contains(provider2)); }
@Test public void testContextLoaderWithCustomContext() throws Exception { MockServletContext sc = new MockServletContext(""); sc.addInitParameter(ContextLoader.CONTEXT_CLASS_PARAM, "org.springframework.web.servlet.SimpleWebApplicationContext"); ServletContextListener listener = new ContextLoaderListener(); ServletContextEvent event = new ServletContextEvent(sc); listener.contextInitialized(event); String contextAttr = WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE; WebApplicationContext wc = (WebApplicationContext) sc.getAttribute(contextAttr); assertTrue("Correct WebApplicationContext exposed in ServletContext", wc instanceof SimpleWebApplicationContext); }