You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by gs...@apache.org on 2010/05/26 00:41:08 UTC

svn commit: r948229 - in /wicket/trunk/wicket-spring/src/main/java/org/apache/wicket/spring: SpringBeanLocator.java injection/annot/AnnotProxyFieldValueFactory.java

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();
 			}