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()