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/05/22 16:08:11 UTC

svn commit: r540591 - in /incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket: application/DefaultClassResolver.java request/target/coding/PackageRequestTargetUrlCodingStrategy.java

Author: almaw
Date: Tue May 22 07:08:10 2007
New Revision: 540591

URL: http://svn.apache.org/viewvc?view=rev&rev=540591
Log:
WICKET-554

Modified:
    incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/application/DefaultClassResolver.java
    incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.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=540591&r1=540590&r2=540591
==============================================================================
--- 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 Tue May 22 07:08:10 2007
@@ -67,7 +67,7 @@
 		}
 		catch (ClassNotFoundException ex)
 		{
-			throw new WicketRuntimeException("Unable to load class with name: " + classname);
+			throw new WicketRuntimeException("Unable to load class with name: " + classname, ex);
 		}
 	}
 }

Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java?view=diff&rev=540591&r1=540590&r2=540591
==============================================================================
--- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java (original)
+++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java Tue May 22 07:08:10 2007
@@ -92,17 +92,31 @@
 		log.debug("remainder=" + remainder);
 		log.debug("parametersFragment=" + parametersFragment);
 		final String bookmarkablePageClassName = packageName + "." + remainder.substring(0, ix);
-		Class bookmarkablePageClass = Session.get().getClassResolver().resolveClass(
-				bookmarkablePageClassName);
-		PageParameters parameters = new PageParameters(decodeParameters(parametersFragment,
-				requestParameters.getParameters()));
-
-		final String pageMapName = (String)parameters.remove(WebRequestCodingStrategy.PAGEMAP);
-		requestParameters.setPageMapName(pageMapName);
-
-		BookmarkablePageRequestTarget target = new BookmarkablePageRequestTarget(pageMapName,
-				bookmarkablePageClass, parameters);
-		return target;
+		try
+		{
+			Class bookmarkablePageClass = Session.get().getClassResolver().resolveClass(
+					bookmarkablePageClassName);
+			PageParameters parameters = new PageParameters(decodeParameters(parametersFragment,
+					requestParameters.getParameters()));
+	
+			final String pageMapName = (String)parameters.remove(WebRequestCodingStrategy.PAGEMAP);
+			requestParameters.setPageMapName(pageMapName);
+	
+			BookmarkablePageRequestTarget target = new BookmarkablePageRequestTarget(pageMapName,
+					bookmarkablePageClass, parameters);
+			return target;
+		}
+		catch (RuntimeException ex)
+		{
+			// If the class resolver wraps a ClassNotFoundException with a
+			// RuntimeException, just return null here, which will cause a 404
+			// or similar.
+			if (ex.getCause() instanceof ClassNotFoundException)
+			{
+				return null;
+			}
+			throw ex;
+		}
 	}
 
 	/**