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