Repository: struts
Updated Branches:
  refs/heads/support-2-3 81371e09c -> b348fc552


WW-4674 Uses the same logic as in Dispatcher to control handling exception


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/b348fc55
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/b348fc55
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/b348fc55

Branch: refs/heads/support-2-3
Commit: b348fc552c3265707181db4a42a41abc72b98488
Parents: 81371e0
Author: Lukasz Lenart <lukaszlen...@apache.org>
Authored: Fri Sep 16 16:31:17 2016 +0200
Committer: Lukasz Lenart <lukaszlen...@apache.org>
Committed: Fri Sep 16 16:37:29 2016 +0200

----------------------------------------------------------------------
 .../java/org/apache/struts2/dispatcher/Dispatcher.java    | 10 +++++++++-
 .../apache/struts2/dispatcher/ng/PrepareOperations.java   |  4 +++-
 2 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/b348fc55/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java 
b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
index 18e8a90..3af0690 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
@@ -211,7 +211,11 @@ public class Dispatcher {
      */
     @Inject(StrutsConstants.STRUTS_DEVMODE)
     public void setDevMode(String mode) {
-        devMode = "true".equals(mode);
+        devMode = Boolean.parseBoolean(mode);
+    }
+
+    public boolean isDevMode() {
+        return devMode;
     }
 
     /**
@@ -265,6 +269,10 @@ public class Dispatcher {
         this.handleException = Boolean.parseBoolean(handleException);
     }
 
+    public boolean isHandleException() {
+        return handleException;
+    }
+
     @Inject
     public void setDispatcherErrorHandler(DispatcherErrorHandler errorHandler) 
{
         this.errorHandler = errorHandler;

http://git-wip-us.apache.org/repos/asf/struts/blob/b348fc55/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java 
b/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java
index ebc8925..e92cef1 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/ng/PrepareOperations.java
@@ -168,7 +168,9 @@ public class PrepareOperations {
                     request.setAttribute(STRUTS_ACTION_MAPPING_KEY, mapping);
                 }
             } catch (Exception ex) {
-                dispatcher.sendError(request, response, 
HttpServletResponse.SC_INTERNAL_SERVER_ERROR, ex);
+                if (dispatcher.isHandleException() || dispatcher.isDevMode()) {
+                    dispatcher.sendError(request, response, 
HttpServletResponse.SC_INTERNAL_SERVER_ERROR, ex);
+                }
             }
         }
 

Reply via email to