You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by rm...@apache.org on 2011/01/28 22:00:01 UTC

svn commit: r1064875 - /incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java

Author: rmatthews
Date: Fri Jan 28 21:00:01 2011
New Revision: 1064875

URL: http://svn.apache.org/viewvc?rev=1064875&view=rev
Log:
Improved error handling & display of errors.

Modified:
    incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java

Modified: incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java?rev=1064875&r1=1064874&r2=1064875&view=diff
==============================================================================
--- incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java (original)
+++ incubator/isis/trunk/viewer/scimpi/dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/Dispatcher.java Fri Jan 28 21:00:01 2011
@@ -116,22 +116,24 @@ public class Dispatcher {
             LOG.debug(e.getMessage(), e);
             
             DebugString error = new DebugString();
-            List<String> messages =  IsisContext.getMessageBroker().getMessages();
-            for (String message : messages) {
-                context.getWriter().append("<div class=\"message\">message: " + message + "</div>");
-                error.appendln("message", message);
-            }
-            messages =  IsisContext.getMessageBroker().getWarnings();
-            for (String message : messages) {
-                context.getWriter().append("<div class=\"message\">warning: " + message + "</div>");
-                error.appendln("warning", message);
+            if (IsisContext.getCurrentTransaction() != null) {
+                List<String> messages =  IsisContext.getMessageBroker().getMessages();
+                for (String message : messages) {
+                    context.getWriter().append("<div class=\"message\">message: " + message + "</div>");
+                    error.appendln("message", message);
+                }
+                messages =  IsisContext.getMessageBroker().getWarnings();
+                for (String message : messages) {
+                    context.getWriter().append("<div class=\"message\">warning: " + message + "</div>");
+                    error.appendln("warning", message);
+                }
             }
-
+            
             generateErrorPage(e, context, error);
              
             PersistenceSession checkSession = IsisContext.getPersistenceSession();
             IsisTransactionManager transactionManager = checkSession.getTransactionManager();
-            if (transactionManager.getTransaction().getState().canAbort()) {
+            if (transactionManager.getTransaction() != null && transactionManager.getTransaction().getState().canAbort()) {
                 transactionManager.abortTransaction();
             }