org.jasig.portlet.newsreader.spring
Class PortletApplicationContextLocator

java.lang.Object
  extended by org.jasig.portlet.newsreader.spring.PortletApplicationContextLocator
All Implemented Interfaces:
EventListener, javax.servlet.ServletContextListener

public class PortletApplicationContextLocator
extends Object
implements javax.servlet.ServletContextListener

Provides standard access to the portal's ApplicationContext. If running in a web application a WebApplicationContext is available. #getApplicationContext() should be used by most uPortal code that needs access to the portal's ApplicationContext. It ensures that a single ApplicationContext is used portal-wide both when the portal is running as a web-application and when tools are run from the command line. For legacy portal code that is not yet Spring managed and does not have access to the ServletContext this class provides similar functionality to WebApplicationContextUtils via the getWebApplicationContext() and getRequiredWebApplicationContext(). These methods are deprecated as any code that requires a WebApplicationContext should either be refactored as a Spring managed bean or have access to the ServletContext

Version:
$Revision: 24439 $
Author:
Eric Dalquist

Constructor Summary
PortletApplicationContextLocator()
           
 
Method Summary
 void contextDestroyed(javax.servlet.ServletContextEvent sce)
           
 void contextInitialized(javax.servlet.ServletContextEvent sce)
           
static org.springframework.context.ApplicationContext getApplicationContext(String importExportContextFile)
          If running in a web application the existing WebApplicationContext will be returned.
static org.springframework.web.context.WebApplicationContext getRequiredWebApplicationContext()
          Deprecated. This method is a work-around for areas in uPortal that do not have the ability to use the WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext) directly.
static org.springframework.web.context.WebApplicationContext getWebApplicationContext()
          Deprecated. This method is a work-around for areas in uPortal that do not have the ability to use the WebApplicationContextUtils.getWebApplicationContext(ServletContext) directly.
static boolean isRunningInWebApplication()
          Deprecated. Only needed for using getRequiredWebApplicationContext() or getWebApplicationContext().
static void shutdown()
          If the ApplicationContext returned by #getApplicationContext() is 'portal managed' the shutdown hook for the context is called, closing and cleaning up all spring managed resources.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PortletApplicationContextLocator

public PortletApplicationContextLocator()
Method Detail

contextInitialized

public void contextInitialized(javax.servlet.ServletContextEvent sce)
Specified by:
contextInitialized in interface javax.servlet.ServletContextListener

contextDestroyed

public void contextDestroyed(javax.servlet.ServletContextEvent sce)
Specified by:
contextDestroyed in interface javax.servlet.ServletContextListener

isRunningInWebApplication

@Deprecated
public static boolean isRunningInWebApplication()
Deprecated. Only needed for using getRequiredWebApplicationContext() or getWebApplicationContext().

Returns:
true if a WebApplicationContext is available, false if only an ApplicationContext is available

getRequiredWebApplicationContext

@Deprecated
public static org.springframework.web.context.WebApplicationContext getRequiredWebApplicationContext()
Deprecated. This method is a work-around for areas in uPortal that do not have the ability to use the WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext) directly.

Returns:
The WebApplicationContext for the portal
Throws:
IllegalStateException - if no ServletContext is available to retrieve a WebApplicationContext for or if the root WebApplicationContext could not be found

getWebApplicationContext

@Deprecated
public static org.springframework.web.context.WebApplicationContext getWebApplicationContext()
Deprecated. This method is a work-around for areas in uPortal that do not have the ability to use the WebApplicationContextUtils.getWebApplicationContext(ServletContext) directly.

Returns:
The WebApplicationContext for the portal, null if no ServletContext is available

getApplicationContext

public static org.springframework.context.ApplicationContext getApplicationContext(String importExportContextFile)
If running in a web application the existing WebApplicationContext will be returned. if not a singleton ApplicationContext is created if needed and returned. Unless a WebApplicationContext is specifically needed this method should be used as it will work both when running in and out of a web application

Returns:
The ApplicationContext for the portal.

shutdown

public static void shutdown()
If the ApplicationContext returned by #getApplicationContext() is 'portal managed' the shutdown hook for the context is called, closing and cleaning up all spring managed resources. If the ApplicationContext returned by #getApplicationContext() is actually a WebApplicationContext this method does nothing but log an error message.



Copyright © 2009-2011 Jasig. All Rights Reserved.