From 7f3fc9f978de734e43efe325d8536b726debe815 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Tue, 21 Oct 2008 06:27:58 +0000 Subject: [PATCH] Pass internal errors to application terminalError svn changeset:5677/svn branch:trunk --- .../gwt/server/ApplicationServlet.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java index 8a56275d60..57afcbd304 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java @@ -39,6 +39,7 @@ import com.itmill.toolkit.external.org.apache.commons.fileupload.servlet.Servlet import com.itmill.toolkit.service.FileTypeResolver; import com.itmill.toolkit.terminal.DownloadStream; import com.itmill.toolkit.terminal.ParameterHandler; +import com.itmill.toolkit.terminal.Terminal; import com.itmill.toolkit.terminal.ThemeResource; import com.itmill.toolkit.terminal.URIHandler; import com.itmill.toolkit.ui.Window; @@ -538,6 +539,11 @@ public class ApplicationServlet extends HttpServlet { criticalNotification(request, response, ci .getInternalErrorCaption(), ci .getInternalErrorMessage(), ci.getInternalErrorURL()); + if (application != null) { + application.terminalError(new RequestError(e)); + } else { + throw new ServletException(e); + } } else { // Re-throw other exceptions throw new ServletException(e); @@ -1671,4 +1677,18 @@ public class ApplicationServlet extends HttpServlet { return resultPath; } + public class RequestError implements Terminal.ErrorEvent { + + private final Throwable throwable; + + public RequestError(Throwable throwable) { + this.throwable = throwable; + } + + public Throwable getThrowable() { + return throwable; + } + + } + } \ No newline at end of file -- 2.39.5