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


Reply via email to