Author: gseitz Date: Tue May 25 22:41:07 2010 New Revision: 948229 URL: http://svn.apache.org/viewvc?rev=948229&view=rev Log: WICKET-2365: support 'autowire-candidate' attribute
Modified: wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java Modified: wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java?rev=948229&r1=948228&r2=948229&view=diff ============================================================================== --- wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java (original) +++ wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java Tue May 25 22:41:07 2010 @@ -116,12 +116,14 @@ public class SpringBeanLocator implement .beanNamesForTypeIncludingAncestors(ctx, clazz))); Iterator<String> it = names.iterator(); - // filter out beans that are not condidates for autowiring + // filter out beans that are not candidates for autowiring while (it.hasNext()) { final String possibility = it.next(); + BeanDefinition beanDef = ((AbstractApplicationContext)ctx).getBeanFactory() + .getBeanDefinition(possibility); if (BeanFactoryUtils.isFactoryDereference(possibility) || - possibility.startsWith("scopedTarget.")) + possibility.startsWith("scopedTarget.") || !beanDef.isAutowireCandidate()) { it.remove(); } Modified: wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java?rev=948229&r1=948228&r2=948229&view=diff ============================================================================== --- wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java (original) +++ wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java Tue May 25 22:41:07 2010 @@ -30,7 +30,9 @@ import org.apache.wicket.spring.SpringBe import org.apache.wicket.util.lang.Generics; import org.apache.wicket.util.string.Strings; import org.springframework.beans.factory.BeanFactoryUtils; +import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.ApplicationContext; +import org.springframework.context.support.AbstractApplicationContext; /** * {...@link IFieldValueFactory} that uses {...@link LazyInitProxyFactory} to create proxies for Spring @@ -184,8 +186,10 @@ public class AnnotProxyFieldValueFactory while (it.hasNext()) { final String possibility = it.next(); + BeanDefinition beanDef = ((AbstractApplicationContext)ctx).getBeanFactory() + .getBeanDefinition(possibility); if (BeanFactoryUtils.isFactoryDereference(possibility) || - possibility.startsWith("scopedTarget.")) + possibility.startsWith("scopedTarget.") || !beanDef.isAutowireCandidate()) { it.remove(); }