org.jasig.portal.spring
Class PortalApplicationContextLocator

java.lang.Object
  extended by org.jasig.portal.spring.PortalApplicationContextLocator
All Implemented Interfaces:
EventListener, ServletContextListener

public class PortalApplicationContextLocator
extends Object
implements 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$
Author:
Eric Dalquist

Constructor Summary
PortalApplicationContextLocator()
           
 
Method Summary
 void contextDestroyed(ServletContextEvent sce)
           
 void contextInitialized(ServletContextEvent sce)
           
static ApplicationContext getApplicationContext()
          If running in a web application the existing WebApplicationContext will be returned.
static 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 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

PortalApplicationContextLocator

public PortalApplicationContextLocator()
Method Detail

contextInitialized

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

contextDestroyed

public void contextDestroyed(ServletContextEvent sce)
Specified by:
contextDestroyed in interface 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 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 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 ApplicationContext getApplicationContext()
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 © 2010 Jasig. All Rights Reserved.