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:25:47 UTC

svn commit: r548281 - /incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/BookmarkablePageLink.java

Author: almaw
Date: Mon Jun 18 03:25:46 2007
New Revision: 548281

URL: http://svn.apache.org/viewvc?view=rev&rev=548281
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/markup/html/link/BookmarkablePageLink.java

Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/BookmarkablePageLink.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/BookmarkablePageLink.java?view=diff&rev=548281&r1=548280&r2=548281
==============================================================================
--- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/BookmarkablePageLink.java (original)
+++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/BookmarkablePageLink.java Mon Jun 18 03:25:46 2007
@@ -22,6 +22,7 @@
 import org.apache.wicket.PageMap;
 import org.apache.wicket.PageParameters;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.util.lang.Classes;
 
 /**
  * Renders a stable link which can be cached in a web browser and used at a
@@ -34,7 +35,7 @@
 	private static final long serialVersionUID = 1L;
 
 	/** The page class that this link links to. */
-	private final Class pageClass;
+	private final String pageClassName;
 
 	/** Any page map for this link */
 	private String pageMapName = null;
@@ -79,7 +80,7 @@
 			throw new IllegalArgumentException("Page class must be derived from "
 					+ Page.class.getName());
 		}
-		this.pageClass = pageClass;
+		this.pageClassName = pageClass.getName();
 		this.parameters = parameters;
 	}
 
@@ -90,7 +91,7 @@
 	 */
 	public final Class getPageClass()
 	{
-		return this.pageClass;
+		return Classes.resolveClass(this.pageClassName);
 	}
 
 	/**
@@ -117,7 +118,7 @@
 	 */
 	public boolean linksTo(final Page page)
 	{
-		return page.getClass() == pageClass;
+		return page.getClass() == getPageClass();
 	}
 
 	protected boolean getStatelessHint()
@@ -213,11 +214,11 @@
 
 		if (getPopupSettings() != null)
 		{
-			return urlFor(getPopupSettings().getPageMap(this), pageClass, parameters);
+			return urlFor(getPopupSettings().getPageMap(this), getPageClass(), parameters);
 		}
 		else
 		{
-			return urlFor(getPageMap(), pageClass, parameters);
+			return urlFor(getPageMap(), getPageClass(), parameters);
 		}
 	}
 }