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