WICKET-831 Return response status 404 when a mapper cannot decode a request url
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/e3328f14 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/e3328f14 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/e3328f14 Branch: refs/heads/sandbox/component-queueing-2 Commit: e3328f1410d251e55e7a7a81dc181923a3a3a739 Parents: 3d26145 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Thu Feb 20 17:46:31 2014 +0200 Committer: Igor Vaynberg <[email protected]> Committed: Thu Feb 20 23:24:05 2014 -0800 ---------------------------------------------------------------------- .../wicket/core/request/mapper/ResourceMapper.java | 15 +++++++++++++-- .../apache/wicket/request/mapper/AbstractMapper.java | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/e3328f14/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/ResourceMapper.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/ResourceMapper.java b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/ResourceMapper.java index 3455ec5..718ede2 100644 --- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/ResourceMapper.java +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/ResourceMapper.java @@ -18,12 +18,15 @@ package org.apache.wicket.core.request.mapper; import java.util.List; +import javax.servlet.http.HttpServletResponse; + import org.apache.wicket.Application; import org.apache.wicket.request.IRequestHandler; import org.apache.wicket.request.IRequestMapper; import org.apache.wicket.request.Request; import org.apache.wicket.request.Url; import org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler; +import org.apache.wicket.request.http.flow.AbortWithHttpErrorCodeException; import org.apache.wicket.request.mapper.AbstractMapper; import org.apache.wicket.request.mapper.parameter.IPageParametersEncoder; import org.apache.wicket.request.mapper.parameter.PageParameters; @@ -229,8 +232,16 @@ public class ResourceMapper extends AbstractMapper implements IRequestMapper if (Strings.isEmpty(cacheUrl.getFileName())) { - throw new IllegalStateException("caching strategy returned empty name for " + - resource); + if (Application.exists() && Application.get().usesDeploymentConfig()) + { + throw new AbortWithHttpErrorCodeException(HttpServletResponse.SC_NOT_FOUND, + "caching strategy returned empty name for " + resource); + } + else + { + throw new IllegalStateException( + "caching strategy returned empty name for " + resource); + } } segments.set(lastSegmentAt, cacheUrl.getFileName()); } http://git-wip-us.apache.org/repos/asf/wicket/blob/e3328f14/wicket-request/src/main/java/org/apache/wicket/request/mapper/AbstractMapper.java ---------------------------------------------------------------------- diff --git a/wicket-request/src/main/java/org/apache/wicket/request/mapper/AbstractMapper.java b/wicket-request/src/main/java/org/apache/wicket/request/mapper/AbstractMapper.java index 5af0fb0..1857818 100644 --- a/wicket-request/src/main/java/org/apache/wicket/request/mapper/AbstractMapper.java +++ b/wicket-request/src/main/java/org/apache/wicket/request/mapper/AbstractMapper.java @@ -227,4 +227,4 @@ public abstract class AbstractMapper implements IRequestMapper return res; } -} \ No newline at end of file +}
