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