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)); } }