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() + "]";
        }
 }


Reply via email to