/*
* Copyright 2005-2006 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
package org.strecks.spring;
import javax.servlet.ServletContext;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.strecks.exceptions.ApplicationConfigurationException;
/**
* Spring-related utility methods
* @author Phil Zoio
*/
public class SpringUtils
{
/**
* Returns named Spring bean from <code>ServletContext</code>. Throws
* <code>ApplicationConfigurationException</code> if Spring context is not present or named bean is not present in context
*/
public static Object getSpringBean(ServletContext servletContext, String beanName)
{
WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(servletContext);
if (context == null)
{
throw new ApplicationConfigurationException(
"No spring root context found using "
+ "WebApplicationContextUtils.getWebApplicationContext(servletContext). This is probably an application configuration error");
}
Object bean = context.getBean(beanName);
if (bean == null)
{
throw new ApplicationConfigurationException("No spring bean " + beanName
+ " found. This is probably an application configuration error");
}
return bean;
}
}