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 2011/03/05 20:00:37 UTC

svn commit: r1078329 - in /wicket/branches/wicket-1.4.x: wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java wicket/src/main/java/org/apache/wicket/util/lang/Objects.java

Author: ivaynberg
Date: Sat Mar  5 19:00:37 2011
New Revision: 1078329

URL: http://svn.apache.org/viewvc?rev=1078329&view=rev
Log:

Issue: WICKET-3503

Modified:
    wicket/branches/wicket-1.4.x/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java
    wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java

Modified: wicket/branches/wicket-1.4.x/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java?rev=1078329&r1=1078328&r2=1078329&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java (original)
+++ wicket/branches/wicket-1.4.x/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java Sat Mar  5 19:00:37 2011
@@ -34,6 +34,7 @@ import net.sf.cglib.proxy.MethodProxy;
 
 import org.apache.wicket.IClusterable;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.util.lang.Objects;
 
 /**
  * A factory class that creates lazy init proxies given a type and a {@link IProxyTargetLocator}
@@ -226,12 +227,8 @@ public class LazyInitProxyFactory
 
 		private Object readResolve() throws ObjectStreamException
 		{
-			Class<?> clazz;
-			try
-			{
-				clazz = Class.forName(type);
-			}
-			catch (ClassNotFoundException e)
+			Class<?> clazz = Objects.resolveClass(type);
+			if (clazz == null)
 			{
 				throw new InvalidClassException(type, "could not resolve class [" + type +
 					"] when deserializing proxy");

Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java?rev=1078329&r1=1078328&r2=1078329&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/lang/Objects.java Sat Mar  5 19:00:37 2011
@@ -1257,6 +1257,39 @@ public final class Objects
 	}
 
 	/**
+	 * @param <T>
+	 *            class type
+	 * @param className
+	 *            Class to resolve
+	 * @return Resolved class
+	 */
+	@SuppressWarnings("unchecked")
+	public static <T> Class<T> resolveClass(final String className)
+	{
+		if (className == null)
+		{
+			return null;
+		}
+		try
+		{
+			if (Application.exists())
+			{
+				return (Class<T>)Application.get()
+					.getApplicationSettings()
+					.getClassResolver()
+					.resolveClass(className);
+			}
+			return (Class<T>)Class.forName(className);
+		}
+		catch (ClassNotFoundException e)
+		{
+			log.warn("Could not resolve class: " + className);
+			return null;
+		}
+	}
+
+
+	/**
 	 * Instantiation not allowed
 	 */
 	private Objects()