Author: almaw
Date: Mon Jun 18 07:04:35 2007
New Revision: 548362

URL: http://svn.apache.org/viewvc?view=rev&rev=548362
Log:
Cope with primitive types.

Modified:
    
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/application/DefaultClassResolver.java

Modified: 
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/application/DefaultClassResolver.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/application/DefaultClassResolver.java?view=diff&rev=548362&r1=548361&r2=548362
==============================================================================
--- 
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/application/DefaultClassResolver.java
 (original)
+++ 
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/application/DefaultClassResolver.java
 Mon Jun 18 07:04:35 2007
@@ -53,6 +53,7 @@
                {
                        Class clazz = null;
                        WeakReference ref = 
(WeakReference)classes.get(classname);
+                                               
                        // Might be garbage-collected between getting the 
WeakRef and retrieving the Class from it.
                        if (ref != null)
                        {
@@ -62,12 +63,47 @@
                        {
                                synchronized (classes)
                                {
-                                       ClassLoader loader = 
Thread.currentThread().getContextClassLoader();
-                                       if (loader == null)
+                                       if (classname.equals("byte"))
                                        {
-                                               loader = 
DefaultClassResolver.class.getClassLoader();
+                                               clazz = byte.class;
+                                       }
+                                       else if (classname.equals("short"))
+                                       {
+                                               clazz = short.class;
+                                       }
+                                       else if (classname.equals("int"))
+                                       {
+                                               clazz = int.class;
+                                       }
+                                       else if (classname.equals("long"))
+                                       {
+                                               clazz = long.class;
+                                       }
+                                       else if (classname.equals("float"))
+                                       {
+                                               clazz = float.class;
+                                       }
+                                       else if (classname.equals("double"))
+                                       {
+                                               clazz = double.class;
+                                       }
+                                       else if (classname.equals("boolean"))
+                                       {
+                                               clazz = boolean.class;
+                                       }
+                                       else if (classname.equals("char"))
+                                       {
+                                               clazz = char.class;
+                                       }
+                                       else
+                                       {
+                                               ClassLoader loader = 
Thread.currentThread().getContextClassLoader();
+                                               if (loader == null)
+                                               {
+                                                       loader = 
DefaultClassResolver.class.getClassLoader();
+                                               }
+                                               clazz = 
loader.loadClass(classname);
                                        }
-                                       clazz = loader.loadClass(classname);
                                        classes.put(classname, new 
WeakReference(clazz));
                                }
                        }


Reply via email to