Author: jbq Date: Sun Jun 10 15:24:03 2007 New Revision: 545955 URL: http://svn.apache.org/viewvc?view=rev&rev=545955 Log: WICKET-293 PackageRequestTargetUrlCodingStrategy should interrupts the cycle and sends a 404 when a page/class cannot be found
Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/resource/ResourceStreamRequestTarget.java incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java 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=545955&r1=545954&r2=545955 ============================================================================== --- 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 Sun Jun 10 15:24:03 2007 @@ -89,8 +89,17 @@ } final String bookmarkablePageClassName = packageName + "." + remainder.substring(0, ix); - Class bookmarkablePageClass = Session.get().getClassResolver().resolveClass( - bookmarkablePageClassName); + Class bookmarkablePageClass; + try + { + bookmarkablePageClass = Session.get().getClassResolver().resolveClass( + bookmarkablePageClassName); + } + catch (Exception e) + { + log.debug(e.getMessage()); + return null; + } PageParameters parameters = new PageParameters(decodeParameters(parametersFragment, requestParameters.getParameters())); Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/resource/ResourceStreamRequestTarget.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/resource/ResourceStreamRequestTarget.java?view=diff&rev=545955&r1=545954&r2=545955 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/resource/ResourceStreamRequestTarget.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/resource/ResourceStreamRequestTarget.java Sun Jun 10 15:24:03 2007 @@ -16,11 +16,13 @@ */ package org.apache.wicket.request.target.resource; +import javax.servlet.http.HttpServletResponse; + import org.apache.wicket.IRequestTarget; import org.apache.wicket.RequestCycle; import org.apache.wicket.Response; -import org.apache.wicket.WicketRuntimeException; import org.apache.wicket.protocol.http.WebResponse; +import org.apache.wicket.protocol.http.request.WebErrorCodeResponseTarget; import org.apache.wicket.util.resource.IResourceStream; import org.apache.wicket.util.resource.ResourceStreamNotFoundException; import org.slf4j.Logger; @@ -126,7 +128,7 @@ } catch (ResourceStreamNotFoundException e) { - throw new WicketRuntimeException(e); + requestCycle.setRequestTarget(new WebErrorCodeResponseTarget(HttpServletResponse.SC_NOT_FOUND)); } } Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java?view=diff&rev=545955&r1=545954&r2=545955 ============================================================================== --- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java (original) +++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java Sun Jun 10 15:24:03 2007 @@ -96,7 +96,7 @@ in = context.getResourceAsStream(url); if (in == null) { - throw new WicketRuntimeException("The requested resource was not found: " + url); + throw new ResourceStreamNotFoundException("The requested resource was not found: " + url); } return in; }