Author: jdonnerstag
Date: Sat Oct  3 14:51:31 2009
New Revision: 821331

URL: http://svn.apache.org/viewvc?rev=821331&view=rev
Log:
WICKET-2344 fixed: Performance improvement: more efficient 
AnnotProxyFieldValueFactory cache

Modified:
    
wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java
    
wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
    
wicket/branches/wicket-1.4.x/wicket-spring/src/test/java/org/apache/wicket/spring/SpringBeanLocatorTest.java

Modified: 
wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java?rev=821331&r1=821330&r2=821331&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/SpringBeanLocator.java
 Sat Oct  3 14:51:31 2009
@@ -61,7 +61,7 @@
         * @param locator
         *            spring context locator
         */
-       public SpringBeanLocator(Class< ? > beanType, ISpringContextLocator 
locator)
+       public SpringBeanLocator(final Class< ? > beanType, final 
ISpringContextLocator locator)
        {
                this(null, beanType, locator);
        }
@@ -76,7 +76,8 @@
         * @param locator
         *            spring context locator
         */
-       public SpringBeanLocator(String beanName, Class< ? > beanType, 
ISpringContextLocator locator)
+       public SpringBeanLocator(final String beanName, final Class< ? > 
beanType,
+                       final ISpringContextLocator locator)
        {
                if (locator == null)
                {
@@ -213,7 +214,6 @@
                if (beanName == null || "".equals(beanName))
                {
                        beanName = getBeanNameOfClass(getSpringContext(), 
getBeanType());
-
                }
                return beanName;
        }
@@ -273,7 +273,7 @@
         * @see java.lang.Object#equals(java.lang.Object)
         */
        @Override
-       public boolean equals(Object obj)
+       public boolean equals(final Object obj)
        {
                if (obj instanceof SpringBeanLocator)
                {
@@ -291,7 +291,7 @@
        public int hashCode()
        {
                int hashcode = beanTypeName.hashCode();
-               if (beanName != null)
+               if (getBeanName() != null)
                {
                        hashcode = hashcode + (127 * beanName.hashCode());
                }

Modified: 
wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java?rev=821331&r1=821330&r2=821331&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket-spring/src/main/java/org/apache/wicket/spring/injection/annot/AnnotProxyFieldValueFactory.java
 Sat Oct  3 14:51:31 2009
@@ -81,7 +81,6 @@
         */
        public Object getFieldValue(Field field, Object fieldOwner)
        {
-
                if (field.isAnnotationPresent(SpringBean.class))
                {
                        SpringBean annot = 
field.getAnnotation(SpringBean.class);
@@ -89,7 +88,7 @@
                                        contextLocator);
 
                        // only check the cache if the bean is a singleton
-                       if (locator.isSingletonBean() && 
cache.containsKey(locator))
+                       if (cache.containsKey(locator))
                        {
                                return cache.get(locator);
                        }

Modified: 
wicket/branches/wicket-1.4.x/wicket-spring/src/test/java/org/apache/wicket/spring/SpringBeanLocatorTest.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-spring/src/test/java/org/apache/wicket/spring/SpringBeanLocatorTest.java?rev=821331&r1=821330&r2=821331&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket-spring/src/test/java/org/apache/wicket/spring/SpringBeanLocatorTest.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket-spring/src/test/java/org/apache/wicket/spring/SpringBeanLocatorTest.java
 Sat Oct  3 14:51:31 2009
@@ -16,14 +16,12 @@
  */
 package org.apache.wicket.spring;
 
-import org.apache.wicket.spring.ISpringContextLocator;
-import org.apache.wicket.spring.SpringBeanLocator;
+import junit.framework.TestCase;
+
 import org.apache.wicket.spring.test.ApplicationContextMock;
 import org.apache.wicket.spring.test.SpringContextLocatorMock;
 import org.apache.wicket.util.lang.Objects;
 
-import junit.framework.TestCase;
-
 /**
  * Tests {...@link SpringBeanLocator}
  * 
@@ -44,6 +42,7 @@
 
        private ISpringContextLocator ctxLocator;
 
+       @Override
        protected void setUp() throws Exception
        {
                ctx = new ApplicationContextMock();
@@ -231,6 +230,7 @@
 
                assertEquals(d, dprime);
                assertEquals(dprime, d);
+               ctx.putBean("locator", a); // we need to register a Bean of 
type d.getClass()
                assertEquals(d.hashCode(), dprime.hashCode());
 
                assertFalse(a.equals(d));


Reply via email to