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/03/17 00:08:51 UTC

svn commit: r519175 - in /incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-spring/src/main/java/wicket/spring: SpringBeanLocator.java test/ApplicationContextMock.java

Author: ivaynberg
Date: Fri Mar 16 16:08:50 2007
New Revision: 519175

URL: http://svn.apache.org/viewvc?view=rev&rev=519175
Log:
fixed patch to work with tests

Modified:
    incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-spring/src/main/java/wicket/spring/SpringBeanLocator.java
    incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-spring/src/main/java/wicket/spring/test/ApplicationContextMock.java

Modified: incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-spring/src/main/java/wicket/spring/SpringBeanLocator.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-spring/src/main/java/wicket/spring/SpringBeanLocator.java?view=diff&rev=519175&r1=519174&r2=519175
==============================================================================
--- incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-spring/src/main/java/wicket/spring/SpringBeanLocator.java (original)
+++ incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-spring/src/main/java/wicket/spring/SpringBeanLocator.java Fri Mar 16 16:08:50 2007
@@ -41,7 +41,7 @@
 
 	private ISpringContextLocator springContextLocator;
 
-	private boolean singletonBean;
+	private Boolean singletonCache = null;
 
 	/**
 	 * Constructor
@@ -81,18 +81,8 @@
 		this.beanTypeCache = beanType;
 		this.beanTypeName = beanType.getName();
 		this.springContextLocator = locator;
-
-		if (beanName == null || beanName.equals(""))
-		{
-			this.beanName = getBeanNameOfClass(locator.getSpringContext(), beanType);
-		}
-		else
-		{
-			this.beanName = beanName;
-		}
+		this.beanName = beanName;
 		this.springContextLocator = locator;
-
-		singletonBean = locator.getSpringContext().isSingleton(this.beanName);
 	}
 
 	/**
@@ -130,7 +120,12 @@
 	 */
 	public boolean isSingletonBean()
 	{
-		return singletonBean;
+		if (singletonCache == null)
+		{
+			singletonCache = Boolean.valueOf(getSpringContext()
+					.isSingleton(getBeanName()));
+		}
+		return singletonCache.booleanValue();
 	}
 
 	/**
@@ -161,13 +156,7 @@
 	 */
 	public Object locateProxyTarget()
 	{
-		final ApplicationContext context = springContextLocator.getSpringContext();
-
-		if (context == null)
-		{
-			throw new IllegalStateException(
-					"spring application context locator returned null");
-		}
+		final ApplicationContext context = getSpringContext();
 
 		if (beanName != null && beanName.length() > 0)
 		{
@@ -179,11 +168,28 @@
 		}
 	}
 
+	private ApplicationContext getSpringContext()
+	{
+		final ApplicationContext context = springContextLocator.getSpringContext();
+
+		if (context == null)
+		{
+			throw new IllegalStateException(
+					"spring application context locator returned null");
+		}
+		return context;
+	}
+
 	/**
 	 * @return bean name this locator is configured with
 	 */
 	public final String getBeanName()
 	{
+		if (beanName == null)
+		{
+			beanName = getBeanNameOfClass(getSpringContext(), getBeanType());
+
+		}
 		return beanName;
 	}
 

Modified: incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-spring/src/main/java/wicket/spring/test/ApplicationContextMock.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-spring/src/main/java/wicket/spring/test/ApplicationContextMock.java?view=diff&rev=519175&r1=519174&r2=519175
==============================================================================
--- incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-spring/src/main/java/wicket/spring/test/ApplicationContextMock.java (original)
+++ incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-spring/src/main/java/wicket/spring/test/ApplicationContextMock.java Fri Mar 16 16:08:50 2007
@@ -18,6 +18,7 @@
 
 import java.io.IOException;
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Locale;
@@ -192,7 +193,20 @@
 	 */
 	public String[] getBeanNamesForType(Class type)
 	{
-		throw new UnsupportedOperationException();
+		ArrayList names = new ArrayList();
+		Iterator entries = beans.entrySet().iterator();
+		while (entries.hasNext())
+		{
+			Entry entry = (Entry) entries.next();
+			Object bean = entry.getValue();
+
+			if (type.isAssignableFrom(bean.getClass()))
+			{
+				String name = (String) entry.getKey();
+				names.add(name);
+			}
+		}
+		return (String[]) names.toArray(new String[names.size()]);
 	}
 
 	/**
@@ -228,7 +242,7 @@
 	 */
 	public boolean isSingleton(String name) throws NoSuchBeanDefinitionException
 	{
-		throw new UnsupportedOperationException();
+		return true;
 	}
 
 	/**