You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2007/06/18 05:02:33 UTC

svn commit: r548178 - in /incubator/wicket/trunk/jdk-1.5/wicket-spring-annot/src: main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java

Author: ivaynberg
Date: Sun Jun 17 20:02:31 2007
New Revision: 548178

URL: http://svn.apache.org/viewvc?view=rev&rev=548178
Log:
WICKET-613: removed failfast check as it caused an extra constructor invocation on prototype beans

Modified:
    incubator/wicket/trunk/jdk-1.5/wicket-spring-annot/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
    incubator/wicket/trunk/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java

Modified: incubator/wicket/trunk/jdk-1.5/wicket-spring-annot/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-spring-annot/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java?view=diff&rev=548178&r1=548177&r2=548178
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-spring-annot/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java (original)
+++ incubator/wicket/trunk/jdk-1.5/wicket-spring-annot/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java Sun Jun 17 20:02:31 2007
@@ -24,7 +24,6 @@
 import org.apache.wicket.spring.ISpringContextLocator;
 import org.apache.wicket.spring.SpringBeanLocator;
 
-
 /**
  * {@link IFieldValueFactory} that uses {@link LazyInitProxyFactory} to create
  * proxies for Spring dependencies based on the {@link SpringBean} annotation
@@ -63,9 +62,6 @@
 
 	private final ConcurrentHashMap<SpringBeanLocator, Object> cache = new ConcurrentHashMap<SpringBeanLocator, Object>();
 
-	/** fail fast tag, see {@link #setFailFast(boolean)} */
-	private boolean failFast = true;
-
 	/**
 	 * @param contextLocator
 	 *            spring context locator
@@ -94,11 +90,6 @@
 				return cache.get(locator);
 			}
 
-			// fail early - see if the locator can locate the spring bean
-			if (failFast) {
-				testLocator(locator, fieldOwner, field);
-			}
-
 			Object proxy = LazyInitProxyFactory.createProxy(field.getType(),
 					locator);
 			// only put the proxy into the cache if the bean is a singleton
@@ -112,42 +103,9 @@
 	}
 
 	/**
-	 * Tests if the locator can retrieve the bean it is responsible for.
-	 * 
-	 * @param locator
-	 * @param fieldOwner
-	 * @param field
-	 */
-	private void testLocator(SpringBeanLocator locator, Object fieldOwner,
-			Field field) {
-		try {
-			locator.locateProxyTarget();
-		} catch (Throwable e) {
-			String errorMessage = "Could not locate spring bean of class [["
-					+ locator.getBeanType().getName() + "]] ";
-			if (locator.getBeanName() != null
-					&& locator.getBeanName().length() > 0) {
-				errorMessage += "and id [[" + locator.getBeanName() + "]] ";
-			}
-			errorMessage += "needed in class [["
-					+ fieldOwner.getClass().getName() + "]] field [["
-					+ field.getName() + "]]";
-			throw new RuntimeException(errorMessage, e);
-		}
-	}
-
-	/**
 	 * @see org.apache.wicket.injection.IFieldValueFactory#supportsField(java.lang.reflect.Field)
 	 */
 	public boolean supportsField(Field field) {
 		return field.isAnnotationPresent(SpringBean.class);
-	}
-
-	/**
-	 * @param failFast
-	 *            true if the locator fails if a bean can't be located
-	 */
-	public void setFailFast(boolean failFast) {
-		this.failFast = failFast;
 	}
 }

Modified: incubator/wicket/trunk/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java?view=diff&rev=548178&r1=548177&r2=548178
==============================================================================
--- incubator/wicket/trunk/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java (original)
+++ incubator/wicket/trunk/jdk-1.5/wicket-spring-annot/src/test/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactoryTest.java Sun Jun 17 20:02:31 2007
@@ -127,14 +127,6 @@
 		}
 	}
 	
-	public void testSucceedsIfBeanWithIdIsNotFoundWhenFailFastIsDisabled() throws Exception
-	{
-		InjectableWithReferenceToNonexistingBean obj = new InjectableWithReferenceToNonexistingBean();
-		Field field = obj.getClass().getDeclaredField("nonExisting");
-		factory.setFailFast(false);
-		factory.getFieldValue(field, obj);
-	}
-	
 	static class InjectableWithReferenceToNonexistingBean {
 		@SpringBean(name="nonExisting")
 		@SuppressWarnings("unused")