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


Reply via email to