Author: ivaynberg
Date: Fri Mar 16 14:48:31 2007
New Revision: 519150

URL: http://svn.apache.org/viewvc?view=rev&rev=519150
Log:
WICKET-371 support for singleton beans

Modified:
    
incubator/wicket/branches/wicket-1.x/jdk-1.5/wicket-spring-annot/src/main/java/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.5/wicket-spring-annot/src/main/java/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.5/wicket-spring-annot/src/main/java/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java?view=diff&rev=519150&r1=519149&r2=519150
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.5/wicket-spring-annot/src/main/java/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.5/wicket-spring-annot/src/main/java/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
 Fri Mar 16 14:48:31 2007
@@ -54,6 +54,7 @@
  * @see SpringBeanLocator
  * 
  * @author Igor Vaynberg (ivaynberg)
+ * @author Istvan Devai
  * 
  */
 public class AnnotProxyFieldValueFactory implements IFieldValueFactory {
@@ -87,7 +88,8 @@
                        SpringBeanLocator locator = new 
SpringBeanLocator(annot.name(),
                                        field.getType(), contextLocator);
 
-                       if (cache.containsKey(locator)) {
+                       // only check the cache if the bean is a singleton
+                       if (locator.isSingletonBean() && 
cache.containsKey(locator)) {
                                return cache.get(locator);
                        }
 
@@ -98,7 +100,10 @@
 
                        Object proxy = 
LazyInitProxyFactory.createProxy(field.getType(),
                                        locator);
-                       cache.put(locator, proxy);
+                       // only put the proxy into the cache if the bean is a 
singleton
+                       if (locator.isSingletonBean()) {
+                               cache.put(locator, proxy);
+                       }
                        return proxy;
                } else {
                        return null;


Reply via email to