You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by al...@apache.org on 2007/06/18 12:53:30 UTC

svn commit: r548307 - /incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/loader/ClassStringResourceLoader.java

Author: almaw
Date: Mon Jun 18 03:53:25 2007
New Revision: 548307

URL: http://svn.apache.org/viewvc?view=rev&rev=548307
Log:
WICKET-625 - Wicket doesn't clean up properly when hot-deploying; hangs onto Class references. (partial fix, work in progress)

Modified:
    incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/loader/ClassStringResourceLoader.java

Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/loader/ClassStringResourceLoader.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/loader/ClassStringResourceLoader.java?view=diff&rev=548307&r1=548306&r2=548307
==============================================================================
--- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/loader/ClassStringResourceLoader.java (original)
+++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/loader/ClassStringResourceLoader.java Mon Jun 18 03:53:25 2007
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.resource.loader;
 
+import java.lang.ref.WeakReference;
 import java.util.Locale;
 
 import org.apache.wicket.Component;
@@ -37,7 +38,7 @@
 public class ClassStringResourceLoader extends ComponentStringResourceLoader
 {
 	/** The application we are loading for. */
-	private final Class clazz;
+	private final WeakReference/*<Class<? extends Application>>*/ clazzRef;
 
 	/**
 	 * Create and initialise the resource loader.
@@ -45,13 +46,13 @@
 	 * @param clazz
 	 *            The class that this resource loader is associated with
 	 */
-	public ClassStringResourceLoader(final Class clazz)
+	public ClassStringResourceLoader(final Class/*<? extends Application>*/ clazz)
 	{
 		if (clazz == null)
 		{
 			throw new IllegalArgumentException("Parameter 'clazz' must not be null");
 		}
-		this.clazz = clazz;
+		this.clazzRef = new WeakReference(clazz);
 	}
 
 	/**
@@ -61,7 +62,7 @@
 	public String loadStringResource(final Class clazz, final String key, final Locale locale,
 			final String style)
 	{
-		return super.loadStringResource(this.clazz, key, locale, style);
+		return super.loadStringResource((Class)this.clazzRef.get(), key, locale, style);
 	}
 
 	/**