You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2010/01/28 19:23:43 UTC
svn commit: r904200 - in /labs/magma/trunk/foundation-website/src/main:
java/org/apache/magma/website/ resources/META-INF/
Author: simoneg
Date: Thu Jan 28 18:23:43 2010
New Revision: 904200
URL: http://svn.apache.org/viewvc?rev=904200&view=rev
Log:
Re-enabling exception display
Added:
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/PassThruException.java
labs/magma/trunk/foundation-website/src/main/resources/META-INF/messages.it.properties
Modified:
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HttpCodeException.java
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/InternalRedirectException.java
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/NiceExceptionDisplay.aj
Modified: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java?rev=904200&r1=904199&r2=904200&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java (original)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/Dispatch.java Thu Jan 28 18:23:43 2010
@@ -24,6 +24,8 @@
import org.apache.magma.basics.startup.Cycle;
import org.apache.magma.basics.startup.Startup;
+import static org.apache.magma.basics.utils.ExceptionUtils.findInnerException;
+
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
@@ -157,12 +159,6 @@
methodsCache.put(key, ret);
return ret;
}
-
- private Throwable findInnerException(Throwable t) {
- Throwable act = t;
- while (act.getCause() != null) act = act.getCause();
- return act;
- }
protected void handleException(Throwable t, HttpServletResponse resp) {
try {
Modified: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HttpCodeException.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HttpCodeException.java?rev=904200&r1=904199&r2=904200&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HttpCodeException.java (original)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/HttpCodeException.java Thu Jan 28 18:23:43 2010
@@ -6,7 +6,7 @@
import javax.servlet.http.HttpServletResponse;
-public class HttpCodeException extends Error {
+public class HttpCodeException extends Error implements PassThruException {
private int code = 500;
private Map<String, String> otherHeaders = null;
Modified: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/InternalRedirectException.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/InternalRedirectException.java?rev=904200&r1=904199&r2=904200&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/InternalRedirectException.java (original)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/InternalRedirectException.java Thu Jan 28 18:23:43 2010
@@ -1,6 +1,6 @@
package org.apache.magma.website;
-public class InternalRedirectException extends Error {
+public class InternalRedirectException extends Error implements PassThruException {
private HtmlProducer producer;
Modified: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/NiceExceptionDisplay.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/NiceExceptionDisplay.aj?rev=904200&r1=904199&r2=904200&view=diff
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/NiceExceptionDisplay.aj (original)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/NiceExceptionDisplay.aj Thu Jan 28 18:23:43 2010
@@ -16,8 +16,11 @@
*/
package org.apache.magma.website;
+import org.apache.magma.basics.utils.ExceptionUtils;
import org.apache.magma.website.templating.Template;
import org.apache.magma.website.utils.ExceptionProducer;
+import org.apache.magma.basics.MagmaException;
+
public privileged aspect NiceExceptionDisplay {
@@ -28,13 +31,15 @@
execution(public HtmlProducer+ WebHandler+.hidden*(..))
{
- //try {
+ try {
return proceed();
- //} catch (Throwable t) {
- // ExceptionProducer ep = new ExceptionProducer();
- // ep.setException(t);
- // return ep;
- //}
+ } catch (Throwable t) {
+ Throwable inner = ExceptionUtils.findInnerException(t);
+ if (inner instanceof PassThruException) throw new MagmaException(t, "Internal");
+ ExceptionProducer ep = new ExceptionProducer();
+ ep.setException(t);
+ return ep;
+ }
}
/*
@@ -55,12 +60,14 @@
void around(Template tpl) :
execution(public void Template+.layout*()) && this(tpl)
{
- //try {
+ try {
proceed(tpl);
- //} catch (Throwable t) {
- // ExceptionProducer ep = new ExceptionProducer();
- // ep.setException(t);
- // tpl.always(ep);
- //}
+ } catch (Throwable t) {
+ Throwable inner = ExceptionUtils.findInnerException(t);
+ if (inner instanceof PassThruException) throw new MagmaException(t, "Internal");
+ ExceptionProducer ep = new ExceptionProducer();
+ ep.setException(t);
+ tpl.always(ep);
+ }
}
}
Added: labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/PassThruException.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/PassThruException.java?rev=904200&view=auto
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/PassThruException.java (added)
+++ labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/PassThruException.java Thu Jan 28 18:23:43 2010
@@ -0,0 +1,13 @@
+package org.apache.magma.website;
+
+
+/**
+ * Marker interface for exceptions that must not be handled by
+ * web components cause they carry a value or meaning for the main servlet,
+ * like a redirect etc..
+ *
+ * @author Simone Gianni <si...@apache.org>
+ */
+public interface PassThruException {
+
+}
Added: labs/magma/trunk/foundation-website/src/main/resources/META-INF/messages.it.properties
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/resources/META-INF/messages.it.properties?rev=904200&view=auto
==============================================================================
--- labs/magma/trunk/foundation-website/src/main/resources/META-INF/messages.it.properties (added)
+++ labs/magma/trunk/foundation-website/src/main/resources/META-INF/messages.it.properties Thu Jan 28 18:23:43 2010
@@ -0,0 +1,2 @@
+anerrorhasoccurred=Si รจ verificato un errore
+weareworkingtoresolvetheproblem+14=Abbiamo registrato l'errore al fine di poterlo correggere.
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org