Example usage for org.springframework.web.context ConfigurableWebApplicationContext setServletContext

List of usage examples for org.springframework.web.context ConfigurableWebApplicationContext setServletContext

Introduction

In this page you can find the example usage for org.springframework.web.context ConfigurableWebApplicationContext setServletContext.

Prototype

void setServletContext(@Nullable ServletContext servletContext);

Source Link

Document

Set the ServletContext for this web application context.

Usage

From source file:org.wise.portal.spring.impl.CustomContextLoaderListener.java

/**
 * The behaviour of this method is the same as the superclass except for
 * setting of the config locations.//from   w w  w . ja  v a 2s  .c om
 * 
 * @throws ClassNotFoundException
 * 
 * @see org.springframework.web.context.ContextLoader#createWebApplicationContext(javax.servlet.ServletContext,
 *      org.springframework.context.ApplicationContext)
 */
@Override
protected WebApplicationContext createWebApplicationContext(ServletContext servletContext)
        throws BeansException {

    Class<?> contextClass = determineContextClass(servletContext);
    if (!ConfigurableWebApplicationContext.class.isAssignableFrom(contextClass)) {
        throw new ApplicationContextException("Custom context class [" + contextClass.getName()
                + "] is not of type ConfigurableWebApplicationContext");
    }

    ConfigurableWebApplicationContext webApplicationContext = (ConfigurableWebApplicationContext) BeanUtils
            .instantiateClass(contextClass);
    webApplicationContext.setServletContext(servletContext);

    String configClass = servletContext.getInitParameter(CONFIG_CLASS_PARAM);
    if (configClass != null) {
        try {
            SpringConfiguration springConfig = (SpringConfiguration) BeanUtils
                    .instantiateClass(Class.forName(configClass));
            webApplicationContext.setConfigLocations(springConfig.getRootApplicationContextConfigLocations());
        } catch (ClassNotFoundException e) {
            if (LOGGER.isErrorEnabled()) {
                LOGGER.error(CONFIG_CLASS_PARAM + " <" + configClass + "> not found.", e);
            }
            throw new InvalidParameterException("ClassNotFoundException: " + configClass);
        }
    } else {
        throw new InvalidParameterException("No value defined for the required: " + CONFIG_CLASS_PARAM);
    }

    webApplicationContext.refresh();
    return webApplicationContext;
}

From source file:ubic.gemma.web.util.WebContextLoader.java

@Override
public ApplicationContext loadContext(String... locations) {
    if (WebContextLoader.logger.isDebugEnabled()) {
        WebContextLoader.logger.debug("Loading WebApplicationContext for locations ["
                + StringUtils.arrayToCommaDelimitedString(locations) + "].");
    }/*from  w  ww.  j av  a2s.co m*/
    ConfigurableWebApplicationContext context = new XmlWebApplicationContext();
    context.setConfigLocations(locations);
    context.setServletContext(new MockServletContext(""));
    context.refresh();

    AnnotationConfigUtils.registerAnnotationConfigProcessors((BeanDefinitionRegistry) context.getBeanFactory());

    context.registerShutdownHook();
    return context;
}