X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fspring%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fgeneral%2Fspring%2FSpringBeanFactory.java;h=4ffb43ed1410d3bec9fcb10e9387150fcca5d403;hb=5bbd2c6e9dcf47e312122a3205c78b676a724e07;hp=56efedc3f9281e560c93bbb9e1f91c2e390f1f66;hpb=0d8d8f24656e585ee75558cfd6a4c661f8f14985;p=utils diff --git a/support/spring/src/main/java/org/wamblee/general/spring/SpringBeanFactory.java b/support/spring/src/main/java/org/wamblee/general/spring/SpringBeanFactory.java index 56efedc3..4ffb43ed 100644 --- a/support/spring/src/main/java/org/wamblee/general/spring/SpringBeanFactory.java +++ b/support/spring/src/main/java/org/wamblee/general/spring/SpringBeanFactory.java @@ -1,5 +1,5 @@ /* - * Copyright 2005 the original author or authors. + * Copyright 2005-2010 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. @@ -12,7 +12,7 @@ * 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.wamblee.general.spring; import org.springframework.beans.BeansException; @@ -21,7 +21,6 @@ import org.springframework.beans.factory.access.BeanFactoryReference; import org.springframework.context.access.ContextSingletonBeanFactoryLocator; import org.wamblee.general.BeanFactory; import org.wamblee.general.BeanFactoryException; -import org.wamblee.general.BeanKernel; /** * Bean factory which uses Spring. This bean factory cannot be configured @@ -30,7 +29,6 @@ import org.wamblee.general.BeanKernel; * it must tbe subclassed to provide a default constructor. */ public class SpringBeanFactory implements BeanFactory { - private BeanFactoryReference factoryReference; /** @@ -44,12 +42,12 @@ public class SpringBeanFactory implements BeanFactory { public SpringBeanFactory(String aSelector, String aFactoryName) { try { BeanFactoryLocator locator = ContextSingletonBeanFactoryLocator - .getInstance(aSelector); + .getInstance(aSelector); factoryReference = locator.useBeanFactory(aFactoryName); } catch (BeansException e) { throw new BeanFactoryException( - "Could not load bean factory: selector = '" + aSelector - + "', factory = '" + aFactoryName + "'", e); + "Could not load bean factory: selector = '" + aSelector + + "', factory = '" + aFactoryName + "'", e); } } @@ -75,24 +73,25 @@ public class SpringBeanFactory implements BeanFactory { * (non-Javadoc) * * @see org.wamblee.general.BeanFactory#find(java.lang.String, - * java.lang.Class) + * java.lang.Class) */ public T find(String aId, Class aClass) { try { Object obj = factoryReference.getFactory().getBean(aId, aClass); assert obj != null; + return aClass.cast(obj); } catch (BeansException e) { throw new BeanFactoryException(e.getMessage(), e); } } - + /** - * Gets the spring bean factory. - * @return Spring bean factory. + * Gets the spring bean factory. + * + * @return Spring bean factory. */ - public org.springframework.beans.factory.BeanFactory getSpringBeanFactory() { - return factoryReference.getFactory(); + public org.springframework.beans.factory.BeanFactory getSpringBeanFactory() { + return factoryReference.getFactory(); } - }