Author: ivaynberg
Date: Fri Feb 5 02:46:16 2010
New Revision: 906778
URL: http://svn.apache.org/viewvc?rev=906778&view=rev
Log:
WICKET-2714 SharedResourceRequestTarget sets Status 404 when not found,
ignoring any 404 settings
Issue: WICKET-2714
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java?rev=906778&r1=906777&r2=906778&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java
Fri Feb 5 02:46:16 2010
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.request.target.resource;
+import java.io.IOException;
+
import javax.servlet.http.HttpServletResponse;
import org.apache.wicket.Application;
@@ -34,8 +36,8 @@
/**
- * Default implementation of {...@link ISharedResourceRequestTarget}. Target
that denotes a shared
- * {...@link org.apache.wicket.Resource}.
+ * Default implementation of {...@link ISharedResourceRequestTarget}. Target
that
+ * denotes a shared {...@link org.apache.wicket.Resource}.
*
* @author Eelco Hillenius
*/
@@ -62,7 +64,7 @@
else if (requestParameters.getResourceKey() == null)
{
throw new
IllegalArgumentException("requestParameters.getResourceKey() "
- + "may not be null");
+ + "may not be null");
}
}
@@ -83,7 +85,7 @@
{
SharedResourceRequestTarget that =
(SharedResourceRequestTarget)obj;
return getRequestParameters().getResourceKey().equals(
- that.getRequestParameters().getResourceKey());
+
that.getRequestParameters().getResourceKey());
}
return false;
}
@@ -116,8 +118,8 @@
}
/**
- * Respond by looking up the shared resource and delegating the actual
response to that
- * resource.
+ * Respond by looking up the shared resource and delegating the actual
+ * response to that resource.
*
* @see
org.apache.wicket.IRequestTarget#respond(org.apache.wicket.RequestCycle)
*/
@@ -149,10 +151,11 @@
scope =
resolver.resolveClass(className);
}
- // get path component of resource key,
replace '..' with escape sequence to
+ // get path component of resource key,
replace '..' with
+ // escape sequence to
// prevent crippled urls in browser
final CharSequence escapeString =
application.getResourceSettings()
- .getParentFolderPlaceholder();
+
.getParentFolderPlaceholder();
String path = resourceKey.substring(ix
+ 1);
if (Strings.isEmpty(escapeString) ==
false)
@@ -183,8 +186,15 @@
Response response = requestCycle.getResponse();
if (response instanceof WebResponse)
{
-
((WebResponse)response).getHttpServletResponse().setStatus(
- HttpServletResponse.SC_NOT_FOUND);
+ try
+ {
+
((WebResponse)response).getHttpServletResponse().sendError(
+
HttpServletResponse.SC_NOT_FOUND);
+ }
+ catch (IOException e)
+ {
+ throw new WicketRuntimeException("Error
sending 404 error to client", e);
+ }
return;
}
else
@@ -209,7 +219,7 @@
@Override
public String toString()
{
- return "[SharedResourceRequestTarget@" + hashCode() + ",
resourceKey=" +
- getRequestParameters().getResourceKey() + "]";
+ return "[SharedResourceRequestTarget@" + hashCode() + ",
resourceKey="
+ + getRequestParameters().getResourceKey() + "]";
}
}