Author: ehillenius
Date: Tue Dec 5 17:50:11 2006
New Revision: 482863
URL: http://svn.apache.org/viewvc?view=rev&rev=482863
Log:
WICKET-144
Modified:
incubator/wicket/branches/wicket-1.2.x/wicket/src/main/java/wicket/Resource.java
incubator/wicket/branches/wicket-1.2.x/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/Resource.java
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java
incubator/wicket/trunk/wicket/src/main/java/wicket/Resource.java
incubator/wicket/trunk/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java
Modified:
incubator/wicket/branches/wicket-1.2.x/wicket/src/main/java/wicket/Resource.java
URL:
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.2.x/wicket/src/main/java/wicket/Resource.java?view=diff&rev=482863&r1=482862&r2=482863
==============================================================================
---
incubator/wicket/branches/wicket-1.2.x/wicket/src/main/java/wicket/Resource.java
(original)
+++
incubator/wicket/branches/wicket-1.2.x/wicket/src/main/java/wicket/Resource.java
Tue Dec 5 17:50:11 2006
@@ -18,7 +18,6 @@
package wicket;
import java.io.OutputStream;
-import java.net.SocketException;
import java.util.Map;
import org.apache.commons.logging.Log;
@@ -83,7 +82,7 @@
// By default all resources are cacheable
cacheable = true;
}
-
+
/**
* @return Gets the resource to render to the requester
*/
@@ -247,38 +246,7 @@
}
catch (Exception e)
{
- Throwable throwable = e;
- boolean ignoreException = false;
- while (throwable != null)
- {
- if (throwable instanceof SocketException)
- {
- String message = throwable.getMessage();
- ignoreException = message != null
- &&
(message.indexOf("Connection reset by peer") != -1 || message
-
.indexOf("Software caused connection abort") != -1);
- }
- else
- {
- ignoreException =
throwable.getClass().getName()
-
.indexOf("ClientAbortException") >= 0;
- if (ignoreException)
- {
- if (log.isDebugEnabled())
- {
- log.debug("Socket
exception ignored for sending Resource "
- +
"response to client (ClientAbort)", e);
- }
- break;
- }
- }
- throwable = throwable.getCause();
- }
- if (!ignoreException)
- {
- throw new WicketRuntimeException("Unable to
render resource stream "
- + resourceStream, e);
- }
+ throw new WicketRuntimeException(e);
}
}
}
Modified:
incubator/wicket/branches/wicket-1.2.x/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java
URL:
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.2.x/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java?view=diff&rev=482863&r1=482862&r2=482863
==============================================================================
---
incubator/wicket/branches/wicket-1.2.x/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java
(original)
+++
incubator/wicket/branches/wicket-1.2.x/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java
Tue Dec 5 17:50:11 2006
@@ -17,12 +17,19 @@
*/
package wicket.request.target.resource;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
import wicket.Component;
import wicket.IRequestTarget;
import wicket.Page;
import wicket.RequestCycle;
import wicket.RequestListenerInterface;
+import wicket.Response;
import wicket.WicketRuntimeException;
+import wicket.protocol.http.WebResponse;
/**
* An implemenation of IRequestTarget that is used for the IResourceListener
@@ -32,6 +39,8 @@
*/
public final class ComponentResourceRequestTarget implements IRequestTarget
{
+ private static final Log log =
LogFactory.getLog(ComponentResourceRequestTarget.class);
+
private final Page page;
private final Component component;
private final RequestListenerInterface listener;
@@ -65,9 +74,22 @@
}
catch (Exception e)
{
- throw new WicketRuntimeException("method " +
listener.getName() + " of "
- +
listener.getMethod().getDeclaringClass() + " targetted at component " +
component
- + " threw an exception", e);
+ Response response = requestCycle.getResponse();
+ if (response instanceof WebResponse)
+ {
+
((WebResponse)response).getHttpServletResponse().setStatus(
+
HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ log.error("error handling resource request for
component " + component
+ + ", on page " + page + ",
listener " + listener.getName() + " - "
+ + e.getMessage());
+ return;
+ }
+ else
+ {
+ throw new WicketRuntimeException("method " +
listener.getName() + " of "
+ +
listener.getMethod().getDeclaringClass() + " targetted at component "
+ + component + " threw an
exception", e);
+ }
}
finally
{
Modified:
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/Resource.java
URL:
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/Resource.java?view=diff&rev=482863&r1=482862&r2=482863
==============================================================================
---
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/Resource.java
(original)
+++
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/Resource.java
Tue Dec 5 17:50:11 2006
@@ -17,7 +17,6 @@
package wicket;
import java.io.OutputStream;
-import java.net.SocketException;
import java.util.Map;
import org.apache.commons.logging.Log;
@@ -82,7 +81,7 @@
// By default all resources are cacheable
cacheable = true;
}
-
+
/**
* @return Gets the resource to render to the requester
*/
@@ -246,38 +245,7 @@
}
catch (Exception e)
{
- Throwable throwable = e;
- boolean ignoreException = false;
- while (throwable != null)
- {
- if (throwable instanceof SocketException)
- {
- String message = throwable.getMessage();
- ignoreException = message != null
- &&
(message.indexOf("Connection reset by peer") != -1 || message
-
.indexOf("Software caused connection abort") != -1);
- }
- else
- {
- ignoreException =
throwable.getClass().getName()
-
.indexOf("ClientAbortException") >= 0;
- if (ignoreException)
- {
- if (log.isDebugEnabled())
- {
- log.debug("Socket
exception ignored for sending Resource "
- +
"response to client (ClientAbort)", e);
- }
- break;
- }
- }
- throwable = throwable.getCause();
- }
- if (!ignoreException)
- {
- throw new WicketRuntimeException("Unable to
render resource stream "
- + resourceStream, e);
- }
+ throw new WicketRuntimeException(e);
}
}
}
Modified:
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java
URL:
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java?view=diff&rev=482863&r1=482862&r2=482863
==============================================================================
---
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java
(original)
+++
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java
Tue Dec 5 17:50:11 2006
@@ -17,12 +17,19 @@
*/
package wicket.request.target.resource;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
import wicket.Component;
import wicket.IRequestTarget;
import wicket.Page;
import wicket.RequestCycle;
import wicket.RequestListenerInterface;
+import wicket.Response;
import wicket.WicketRuntimeException;
+import wicket.protocol.http.WebResponse;
/**
* An implemenation of IRequestTarget that is used for the IResourceListener
@@ -32,6 +39,8 @@
*/
public final class ComponentResourceRequestTarget implements IRequestTarget
{
+ private static final Log log =
LogFactory.getLog(ComponentResourceRequestTarget.class);
+
private final Page page;
private final Component component;
private final RequestListenerInterface listener;
@@ -65,9 +74,22 @@
}
catch (Exception e)
{
- throw new WicketRuntimeException("method " +
listener.getName() + " of "
- +
listener.getMethod().getDeclaringClass() + " targetted at component " +
component
- + " threw an exception", e);
+ Response response = requestCycle.getResponse();
+ if (response instanceof WebResponse)
+ {
+
((WebResponse)response).getHttpServletResponse().setStatus(
+
HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ log.error("error handling resource request for
component " + component
+ + ", on page " + page + ",
listener " + listener.getName() + " - "
+ + e.getMessage());
+ return;
+ }
+ else
+ {
+ throw new WicketRuntimeException("method " +
listener.getName() + " of "
+ +
listener.getMethod().getDeclaringClass() + " targetted at component "
+ + component + " threw an
exception", e);
+ }
}
finally
{
Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/Resource.java
URL:
http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/Resource.java?view=diff&rev=482863&r1=482862&r2=482863
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/Resource.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/Resource.java Tue Dec 5
17:50:11 2006
@@ -17,7 +17,6 @@
package wicket;
import java.io.OutputStream;
-import java.net.SocketException;
import java.util.Map;
import org.apache.commons.logging.Log;
@@ -246,38 +245,7 @@
}
catch (Exception e)
{
- Throwable throwable = e;
- boolean ignoreException = false;
- while (throwable != null)
- {
- if (throwable instanceof SocketException)
- {
- String message = throwable.getMessage();
- ignoreException = message != null
- &&
(message.indexOf("Connection reset by peer") != -1 || message
-
.indexOf("Software caused connection abort") != -1);
- }
- else
- {
- ignoreException =
throwable.getClass().getName()
-
.indexOf("ClientAbortException") >= 0;
- if (ignoreException)
- {
- if (log.isDebugEnabled())
- {
- log.debug("Socket
exception ignored for sending Resource "
- +
"response to client (ClientAbort)", e);
- }
- break;
- }
- }
- throwable = throwable.getCause();
- }
- if (!ignoreException)
- {
- throw new WicketRuntimeException("Unable to
render resource stream "
- + resourceStream, e);
- }
+ throw new WicketRuntimeException(e);
}
}
}
Modified:
incubator/wicket/trunk/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java
URL:
http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java?view=diff&rev=482863&r1=482862&r2=482863
==============================================================================
---
incubator/wicket/trunk/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java
(original)
+++
incubator/wicket/trunk/wicket/src/main/java/wicket/request/target/resource/ComponentResourceRequestTarget.java
Tue Dec 5 17:50:11 2006
@@ -17,12 +17,19 @@
*/
package wicket.request.target.resource;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
import wicket.Component;
import wicket.IRequestTarget;
import wicket.Page;
import wicket.RequestCycle;
import wicket.RequestListenerInterface;
+import wicket.Response;
import wicket.WicketRuntimeException;
+import wicket.protocol.http.WebResponse;
/**
* An implemenation of IRequestTarget that is used for the IResourceListener
@@ -32,6 +39,8 @@
*/
public final class ComponentResourceRequestTarget implements IRequestTarget
{
+ private static final Log log =
LogFactory.getLog(ComponentResourceRequestTarget.class);
+
private final Page page;
private final Component component;
private final RequestListenerInterface listener;
@@ -65,9 +74,22 @@
}
catch (Exception e)
{
- throw new WicketRuntimeException("method " +
listener.getName() + " of "
- +
listener.getMethod().getDeclaringClass() + " targetted at component "
- + component + " threw an exception", e);
+ Response response = requestCycle.getResponse();
+ if (response instanceof WebResponse)
+ {
+
((WebResponse)response).getHttpServletResponse().setStatus(
+
HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ log.error("error handling resource request for
component " + component
+ + ", on page " + page + ",
listener " + listener.getName() + " - "
+ + e.getMessage());
+ return;
+ }
+ else
+ {
+ throw new WicketRuntimeException("method " +
listener.getName() + " of "
+ +
listener.getMethod().getDeclaringClass() + " targetted at component "
+ + component + " threw an
exception", e);
+ }
}
finally
{