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;
+ }
}
/**