You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by eb...@apache.org on 2020/12/04 13:28:48 UTC

[tomcat] branch 8.5.x updated (fa4f710 -> 85eb58e)

This is an automated email from the ASF dual-hosted git repository.

ebourg pushed a change to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


    from fa4f710  Fix parsing logic
     new bf3f773  Use the valueOf() method of the primitive wrapper classes instead of the deprecated constructors (to be removed as part of JEP 390)
     new 22e89f8  Collapse identical catch blocks
     new 398cd3a  Make the serialVersionUID fields private
     new da81376  Make the inner classes static when possible to save a reference to the enclosing class
     new 85eb58e  No longer use Throwable.initCause() when possible

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../auth/message/config/AuthConfigFactory.java     |  7 ++--
 java/org/apache/catalina/connector/Response.java   | 15 ++------
 .../catalina/core/ApplicationDispatcher.java       |  4 +-
 .../catalina/core/NamingContextListener.java       |  2 -
 java/org/apache/catalina/core/StandardServer.java  |  4 +-
 .../org/apache/catalina/mbeans/ContainerMBean.java |  4 +-
 java/org/apache/catalina/mbeans/GroupMBean.java    | 10 +----
 .../catalina/mbeans/MemoryUserDatabaseMBean.java   | 45 +++++-----------------
 .../catalina/mbeans/NamingResourcesMBean.java      | 15 ++------
 java/org/apache/catalina/mbeans/UserMBean.java     | 10 +----
 .../apache/catalina/servlets/WebdavServlet.java    | 10 +----
 .../apache/catalina/ssi/ExpressionParseTree.java   | 10 ++---
 .../org/apache/catalina/startup/ContextConfig.java | 25 +++---------
 .../group/interceptors/NonBlockingCoordinator.java |  4 +-
 .../tribes/tipis/AbstractReplicatedMap.java        | 15 ++------
 .../apache/catalina/util/LifecycleMBeanBase.java   |  6 +--
 .../apache/catalina/valves/ErrorReportValve.java   |  4 +-
 .../catalina/valves/rewrite/Substitution.java      | 14 +++----
 java/org/apache/coyote/ajp/AjpProcessor.java       |  6 +--
 java/org/apache/coyote/http2/Stream.java           |  3 +-
 java/org/apache/coyote/http2/StreamProcessor.java  |  3 +-
 java/org/apache/el/parser/AstValue.java            |  6 +--
 java/org/apache/jasper/compiler/JDTCompiler.java   |  5 +--
 .../org/apache/jasper/runtime/PageContextImpl.java |  5 +--
 java/org/apache/jasper/servlet/JspServlet.java     |  6 +--
 .../apache/jasper/servlet/JspServletWrapper.java   | 19 +--------
 .../jasper/tagplugins/jstl/core/ForEach.java       | 16 ++++----
 .../org/apache/jasper/tagplugins/jstl/core/If.java |  2 +-
 .../dbcp/dbcp2/PoolableCallableStatement.java      |  4 +-
 .../dbcp2/datasources/InstanceKeyDataSource.java   | 10 +----
 java/org/apache/tomcat/util/Diagnostics.java       |  8 +---
 .../apache/tomcat/util/modeler/AttributeInfo.java  |  2 +-
 .../apache/tomcat/util/modeler/FeatureInfo.java    |  2 +-
 .../tomcat/util/modeler/NotificationInfo.java      |  2 +-
 .../apache/tomcat/util/modeler/OperationInfo.java  |  2 +-
 .../apache/tomcat/util/modeler/ParameterInfo.java  |  2 +-
 .../tomcat/util/scan/StandardJarScanner.java       |  4 +-
 java/org/apache/tomcat/websocket/WsFrameBase.java  |  2 +-
 .../authenticator/TestFormAuthenticator.java       |  2 +-
 .../apache/catalina/core/TestAsyncContextImpl.java |  8 +---
 .../catalina/valves/TestRequestFilterValve.java    |  4 +-
 .../catalina/valves/rewrite/TestResolverSSL.java   |  2 +-
 test/org/apache/coyote/TestRequest.java            |  2 +-
 .../apache/coyote/http11/TestHttp11Processor.java  |  4 +-
 test/org/apache/coyote/http2/Http2TestBase.java    |  2 +-
 test/org/apache/el/TesterFunctions.java            | 16 ++------
 test/org/apache/tomcat/util/net/TestCustomSsl.java | 11 ++----
 test/org/apache/tomcat/util/net/TestSsl.java       |  2 +-
 48 files changed, 99 insertions(+), 267 deletions(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[tomcat] 04/05: Make the inner classes static when possible to save a reference to the enclosing class

Posted by eb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ebourg pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit da81376ae66f1a5b3a38c5fc584b47d55ec5ca5c
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Fri Dec 4 00:48:39 2020 +0100

    Make the inner classes static when possible to save a reference to the enclosing class
---
 java/org/apache/catalina/ssi/ExpressionParseTree.java      | 10 +++++-----
 java/org/apache/catalina/valves/rewrite/Substitution.java  | 14 +++++++-------
 java/org/apache/tomcat/websocket/WsFrameBase.java          |  2 +-
 .../catalina/authenticator/TestFormAuthenticator.java      |  2 +-
 .../apache/catalina/valves/rewrite/TestResolverSSL.java    |  2 +-
 test/org/apache/coyote/TestRequest.java                    |  2 +-
 test/org/apache/coyote/http2/Http2TestBase.java            |  2 +-
 test/org/apache/tomcat/util/net/TestSsl.java               |  2 +-
 8 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/java/org/apache/catalina/ssi/ExpressionParseTree.java b/java/org/apache/catalina/ssi/ExpressionParseTree.java
index aba5d27..2b672ed 100644
--- a/java/org/apache/catalina/ssi/ExpressionParseTree.java
+++ b/java/org/apache/catalina/ssi/ExpressionParseTree.java
@@ -209,7 +209,7 @@ public class ExpressionParseTree {
     /**
      * A node in the expression parse tree.
      */
-    private abstract class Node {
+    private static abstract class Node {
         /**
          * @return {@code true} if the node evaluates to true.
          */
@@ -262,7 +262,7 @@ public class ExpressionParseTree {
     /**
      * A node implementation that represents an operation.
      */
-    private abstract class OppNode extends Node {
+    private static abstract class OppNode extends Node {
         /**
          * The left branch.
          */
@@ -291,7 +291,7 @@ public class ExpressionParseTree {
             left = values.remove(0);
         }
     }
-    private final class NotNode extends OppNode {
+    private static final class NotNode extends OppNode {
         @Override
         public boolean evaluate() {
             return !left.evaluate();
@@ -318,7 +318,7 @@ public class ExpressionParseTree {
             return left + " NOT";
         }
     }
-    private final class AndNode extends OppNode {
+    private static final class AndNode extends OppNode {
         @Override
         public boolean evaluate() {
             if (!left.evaluate()) // Short circuit
@@ -338,7 +338,7 @@ public class ExpressionParseTree {
             return left + " " + right + " AND";
         }
     }
-    private final class OrNode extends OppNode {
+    private static final class OrNode extends OppNode {
         @Override
         public boolean evaluate() {
             if (left.evaluate()) // Short circuit
diff --git a/java/org/apache/catalina/valves/rewrite/Substitution.java b/java/org/apache/catalina/valves/rewrite/Substitution.java
index a4191eb..26fc210 100644
--- a/java/org/apache/catalina/valves/rewrite/Substitution.java
+++ b/java/org/apache/catalina/valves/rewrite/Substitution.java
@@ -25,11 +25,11 @@ import org.apache.catalina.util.URLEncoder;
 
 public class Substitution {
 
-    public abstract class SubstitutionElement {
+    public static abstract class SubstitutionElement {
         public abstract String evaluate(Matcher rule, Matcher cond, Resolver resolver);
     }
 
-    public class StaticElement extends SubstitutionElement {
+    public static class StaticElement extends SubstitutionElement {
         public String value;
 
         @Override
@@ -59,7 +59,7 @@ public class Substitution {
         }
     }
 
-    public class RewriteCondBackReferenceElement extends SubstitutionElement {
+    public static class RewriteCondBackReferenceElement extends SubstitutionElement {
         public int n;
         @Override
         public String evaluate(Matcher rule, Matcher cond, Resolver resolver) {
@@ -67,7 +67,7 @@ public class Substitution {
         }
     }
 
-    public class ServerVariableElement extends SubstitutionElement {
+    public static class ServerVariableElement extends SubstitutionElement {
         public String key;
         @Override
         public String evaluate(Matcher rule, Matcher cond, Resolver resolver) {
@@ -75,7 +75,7 @@ public class Substitution {
         }
     }
 
-    public class ServerVariableEnvElement extends SubstitutionElement {
+    public static class ServerVariableEnvElement extends SubstitutionElement {
         public String key;
         @Override
         public String evaluate(Matcher rule, Matcher cond, Resolver resolver) {
@@ -83,7 +83,7 @@ public class Substitution {
         }
     }
 
-    public class ServerVariableSslElement extends SubstitutionElement {
+    public static class ServerVariableSslElement extends SubstitutionElement {
         public String key;
         @Override
         public String evaluate(Matcher rule, Matcher cond, Resolver resolver) {
@@ -91,7 +91,7 @@ public class Substitution {
         }
     }
 
-    public class ServerVariableHttpElement extends SubstitutionElement {
+    public static class ServerVariableHttpElement extends SubstitutionElement {
         public String key;
         @Override
         public String evaluate(Matcher rule, Matcher cond, Resolver resolver) {
diff --git a/java/org/apache/tomcat/websocket/WsFrameBase.java b/java/org/apache/tomcat/websocket/WsFrameBase.java
index cea5bb3..5779308 100644
--- a/java/org/apache/tomcat/websocket/WsFrameBase.java
+++ b/java/org/apache/tomcat/websocket/WsFrameBase.java
@@ -912,7 +912,7 @@ public abstract class WsFrameBase {
     protected abstract void resumeProcessing();
 
 
-    private abstract class TerminalTransformation implements Transformation {
+    private static abstract class TerminalTransformation implements Transformation {
 
         @Override
         public boolean validateRsvBits(int i) {
diff --git a/test/org/apache/catalina/authenticator/TestFormAuthenticator.java b/test/org/apache/catalina/authenticator/TestFormAuthenticator.java
index aaee1ee..1ab2dd8 100644
--- a/test/org/apache/catalina/authenticator/TestFormAuthenticator.java
+++ b/test/org/apache/catalina/authenticator/TestFormAuthenticator.java
@@ -418,7 +418,7 @@ public class TestFormAuthenticator extends TomcatBaseTest {
      * Encapsulate the logic needed to run a suitably-configured tomcat
      * instance, send it an HTTP request and process the server response
      */
-    private abstract class FormAuthClientBase extends SimpleHttpClient {
+    private static abstract class FormAuthClientBase extends SimpleHttpClient {
 
         protected static final String LOGIN_PARAM_TAG = "action=";
         protected static final String LOGIN_RESOURCE = "j_security_check";
diff --git a/test/org/apache/catalina/valves/rewrite/TestResolverSSL.java b/test/org/apache/catalina/valves/rewrite/TestResolverSSL.java
index 39e33dc..a1ac1f6 100644
--- a/test/org/apache/catalina/valves/rewrite/TestResolverSSL.java
+++ b/test/org/apache/catalina/valves/rewrite/TestResolverSSL.java
@@ -115,7 +115,7 @@ public class TestResolverSSL extends TomcatBaseTest {
             "SSL_SRP_USERINFO",
             "SSL_TLS_SNI" };
 
-    public class ResolverTestValve extends ValveBase {
+    public static class ResolverTestValve extends ValveBase {
 
         @Override
         public void invoke(Request request, Response response)
diff --git a/test/org/apache/coyote/TestRequest.java b/test/org/apache/coyote/TestRequest.java
index 018a8ee..f3b915e 100644
--- a/test/org/apache/coyote/TestRequest.java
+++ b/test/org/apache/coyote/TestRequest.java
@@ -135,7 +135,7 @@ public class TestRequest {
     }
 
 
-    private class DoNothingApplicationBufferHandler implements ApplicationBufferHandler {
+    private static class DoNothingApplicationBufferHandler implements ApplicationBufferHandler {
         @Override
         public void setByteBuffer(ByteBuffer buffer) {
 
diff --git a/test/org/apache/coyote/http2/Http2TestBase.java b/test/org/apache/coyote/http2/Http2TestBase.java
index 9b79f4b..39ce41f 100644
--- a/test/org/apache/coyote/http2/Http2TestBase.java
+++ b/test/org/apache/coyote/http2/Http2TestBase.java
@@ -584,7 +584,7 @@ public abstract class Http2TestBase extends TomcatBaseTest {
         }
     }
 
-    private class UpgradableHttp2Protocol extends Http2Protocol {
+    private static class UpgradableHttp2Protocol extends Http2Protocol {
         @Override
         public String getHttpUpgradeName(boolean isSSLEnabled) {
             return "h2c";
diff --git a/test/org/apache/tomcat/util/net/TestSsl.java b/test/org/apache/tomcat/util/net/TestSsl.java
index c594c09..6d8bc2b 100644
--- a/test/org/apache/tomcat/util/net/TestSsl.java
+++ b/test/org/apache/tomcat/util/net/TestSsl.java
@@ -281,7 +281,7 @@ public class TestSsl extends TomcatBaseTest {
         }
     }
 
-    public class SimplePostServlet extends HttpServlet {
+    public static class SimplePostServlet extends HttpServlet {
 
         private static final long serialVersionUID = 1L;
 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[tomcat] 01/05: Use the valueOf() method of the primitive wrapper classes instead of the deprecated constructors (to be removed as part of JEP 390)

Posted by eb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ebourg pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit bf3f7731649c30b37ca9089bd737c83b0b6ae638
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Tue Dec 1 22:35:49 2020 +0100

    Use the valueOf() method of the primitive wrapper classes instead of the deprecated constructors (to be removed as part of JEP 390)
---
 java/org/apache/jasper/tagplugins/jstl/core/ForEach.java | 16 ++++++++--------
 java/org/apache/jasper/tagplugins/jstl/core/If.java      |  2 +-
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java b/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java
index 0fa6da6..f60b346 100644
--- a/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java
+++ b/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java
@@ -230,7 +230,7 @@ public final class ForEach implements TagPlugin {
                 "    public boolean hasNext() {\n" +
                 "      return index < a.length;}\n" +
                 "    public Object next() {\n" +
-                "      return new Boolean(a[index++]);}\n" +
+                "      return Boolean.valueOf(a[index++]);}\n" +
                 "    public void remove() {}\n" +
                 "  });\n" +
                 "}"
@@ -244,7 +244,7 @@ public final class ForEach implements TagPlugin {
                 "    public boolean hasNext() {\n" +
                 "      return index < a.length;}\n" +
                 "    public Object next() {\n" +
-                "      return new Byte(a[index++]);}\n" +
+                "      return Byte.valueOf(a[index++]);}\n" +
                 "    public void remove() {}\n" +
                 "  });\n" +
                 "}"
@@ -258,7 +258,7 @@ public final class ForEach implements TagPlugin {
                 "    public boolean hasNext() {\n" +
                 "      return index < a.length;}\n" +
                 "    public Object next() {\n" +
-                "      return new Character(a[index++]);}\n" +
+                "      return Character.valueOf(a[index++]);}\n" +
                 "    public void remove() {}\n" +
                 "  });\n" +
                 "}"
@@ -272,7 +272,7 @@ public final class ForEach implements TagPlugin {
                 "    public boolean hasNext() {\n" +
                 "      return index < a.length;}\n" +
                 "    public Object next() {\n" +
-                "      return new Short(a[index++]);}\n" +
+                "      return Short.valueOf(a[index++]);}\n" +
                 "    public void remove() {}\n" +
                 "  });\n" +
                 "}"
@@ -286,7 +286,7 @@ public final class ForEach implements TagPlugin {
                 "    public boolean hasNext() {\n" +
                 "      return index < a.length;}\n" +
                 "    public Object next() {\n" +
-                "      return new Integer(a[index++]);}\n" +
+                "      return Integer.valueOf(a[index++]);}\n" +
                 "    public void remove() {}\n" +
                 "  });\n" +
                 "}"
@@ -300,7 +300,7 @@ public final class ForEach implements TagPlugin {
                 "    public boolean hasNext() {\n" +
                 "      return index < a.length;}\n" +
                 "    public Object next() {\n" +
-                "      return new Long(a[index++]);}\n" +
+                "      return Long.valueOf(a[index++]);}\n" +
                 "    public void remove() {}\n" +
                 "  });\n" +
                 "}"
@@ -314,7 +314,7 @@ public final class ForEach implements TagPlugin {
                 "    public boolean hasNext() {\n" +
                 "      return index < a.length;}\n" +
                 "    public Object next() {\n" +
-                "      return new Float(a[index++]);}\n" +
+                "      return Float.valueOf(a[index++]);}\n" +
                 "    public void remove() {}\n" +
                 "  });\n" +
                 "}"
@@ -328,7 +328,7 @@ public final class ForEach implements TagPlugin {
                 "    public boolean hasNext() {\n" +
                 "      return index < a.length;}\n" +
                 "    public Object next() {\n" +
-                "      return new Double(a[index++]);}\n" +
+                "      return Double.valueOf(a[index++]);}\n" +
                 "    public void remove() {}\n" +
                 "  });\n" +
                 "}"
diff --git a/java/org/apache/jasper/tagplugins/jstl/core/If.java b/java/org/apache/jasper/tagplugins/jstl/core/If.java
index 62d64e3..15d7e06 100644
--- a/java/org/apache/jasper/tagplugins/jstl/core/If.java
+++ b/java/org/apache/jasper/tagplugins/jstl/core/If.java
@@ -43,7 +43,7 @@ public final class If implements TagPlugin {
             }
             ctxt.generateJavaSource("_jspx_page_context.setAttribute(");
             ctxt.generateAttribute("var");
-            ctxt.generateJavaSource(", new Boolean(" + condV + ")," + scope + ");");
+            ctxt.generateJavaSource(", Boolean.valueOf(" + condV + ")," + scope + ");");
         }
         ctxt.generateJavaSource("if (" + condV + "){");
         ctxt.generateBody();


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[tomcat] 05/05: No longer use Throwable.initCause() when possible

Posted by eb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ebourg pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 85eb58ebe5501742725dc470d339ffc402668280
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Fri Dec 4 01:03:07 2020 +0100

    No longer use Throwable.initCause() when possible
---
 .../auth/message/config/AuthConfigFactory.java     |  7 ++--
 java/org/apache/catalina/connector/Response.java   | 15 ++------
 java/org/apache/catalina/mbeans/GroupMBean.java    | 10 +----
 .../catalina/mbeans/MemoryUserDatabaseMBean.java   | 45 +++++-----------------
 .../catalina/mbeans/NamingResourcesMBean.java      | 15 ++------
 java/org/apache/catalina/mbeans/UserMBean.java     | 10 +----
 java/org/apache/coyote/http2/Stream.java           |  3 +-
 java/org/apache/coyote/http2/StreamProcessor.java  |  3 +-
 .../org/apache/jasper/runtime/PageContextImpl.java |  5 +--
 .../tomcat/util/scan/StandardJarScanner.java       |  4 +-
 10 files changed, 26 insertions(+), 91 deletions(-)

diff --git a/java/javax/security/auth/message/config/AuthConfigFactory.java b/java/javax/security/auth/message/config/AuthConfigFactory.java
index d98b2f2..72a49b4 100644
--- a/java/javax/security/auth/message/config/AuthConfigFactory.java
+++ b/java/javax/security/auth/message/config/AuthConfigFactory.java
@@ -79,11 +79,10 @@ public abstract class AuthConfigFactory {
                 } catch (PrivilegedActionException e) {
                     Exception inner = e.getException();
                     if (inner instanceof InstantiationException) {
-                        throw (SecurityException) new SecurityException("AuthConfigFactory error:" +
-                                inner.getCause().getMessage()).initCause(inner.getCause());
+                        throw new SecurityException("AuthConfigFactory error:" +
+                                inner.getCause().getMessage(), inner.getCause());
                     } else {
-                        throw (SecurityException) new SecurityException(
-                                "AuthConfigFactory error: " + inner).initCause(inner);
+                        throw new SecurityException("AuthConfigFactory error: " + inner, inner);
                     }
                 }
             }
diff --git a/java/org/apache/catalina/connector/Response.java b/java/org/apache/catalina/connector/Response.java
index 4cac2a9..d22cfea 100644
--- a/java/org/apache/catalina/connector/Response.java
+++ b/java/org/apache/catalina/connector/Response.java
@@ -1627,10 +1627,7 @@ public class Response implements HttpServletResponse {
                 redirectURLCC.append(location, 0, location.length());
                 return redirectURLCC.toString();
             } catch (IOException e) {
-                IllegalArgumentException iae =
-                    new IllegalArgumentException(location);
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException(location, e);
             }
 
         } else if (leadingSlash || !UriUtil.hasScheme(location)) {
@@ -1667,10 +1664,7 @@ public class Response implements HttpServletResponse {
                                     }
                            });
                         } catch (PrivilegedActionException pae){
-                            IllegalArgumentException iae =
-                                new IllegalArgumentException(location);
-                            iae.initCause(pae.getException());
-                            throw iae;
+                            throw new IllegalArgumentException(location, pae.getException());
                         }
                     } else {
                         encodedURI = urlEncoder.encodeURL(relativePath, 0, pos);
@@ -1683,10 +1677,7 @@ public class Response implements HttpServletResponse {
 
                 normalize(redirectURLCC);
             } catch (IOException e) {
-                IllegalArgumentException iae =
-                    new IllegalArgumentException(location);
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException(location, e);
             }
 
             return redirectURLCC.toString();
diff --git a/java/org/apache/catalina/mbeans/GroupMBean.java b/java/org/apache/catalina/mbeans/GroupMBean.java
index 43bf48d..a60aa37 100644
--- a/java/org/apache/catalina/mbeans/GroupMBean.java
+++ b/java/org/apache/catalina/mbeans/GroupMBean.java
@@ -64,10 +64,7 @@ public class GroupMBean extends BaseModelMBean {
                 ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), role);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException(
-                        "Cannot create object name for role " + role);
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException("Cannot create object name for role " + role, e);
             }
         }
         return results.toArray(new String[0]);
@@ -89,10 +86,7 @@ public class GroupMBean extends BaseModelMBean {
                 ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), user);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException(
-                        "Cannot create object name for user " + user);
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException("Cannot create object name for user " + user, e);
             }
         }
         return results.toArray(new String[0]);
diff --git a/java/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java b/java/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java
index 8f85f8f..34be739 100644
--- a/java/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java
+++ b/java/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java
@@ -132,10 +132,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
         try {
             MBeanUtils.createMBean(group);
         } catch (Exception e) {
-            IllegalArgumentException iae = new IllegalArgumentException(
-                    "Exception creating group [" + groupname + "] MBean");
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException("Exception creating group [" + groupname + "] MBean", e);
         }
         return findGroup(groupname);
     }
@@ -154,10 +151,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
         try {
             MBeanUtils.createMBean(role);
         } catch (Exception e) {
-            IllegalArgumentException iae = new IllegalArgumentException(
-                    "Exception creating role [" + rolename + "] MBean");
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException("Exception creating role [" + rolename + "] MBean", e);
         }
         return findRole(rolename);
     }
@@ -177,10 +171,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
         try {
             MBeanUtils.createMBean(user);
         } catch (Exception e) {
-            IllegalArgumentException iae = new IllegalArgumentException(
-                    "Exception creating user [" + username + "] MBean");
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException("Exception creating user [" + username + "] MBean", e);
         }
         return findUser(username);
     }
@@ -203,10 +194,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
             ObjectName oname = MBeanUtils.createObjectName(managedGroup.getDomain(), group);
             return oname.toString();
         } catch (MalformedObjectNameException e) {
-            IllegalArgumentException iae = new IllegalArgumentException(
-                    "Cannot create object name for group [" + groupname + "]");
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException("Cannot create object name for group [" + groupname + "]", e);
         }
     }
 
@@ -228,10 +216,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
             ObjectName oname = MBeanUtils.createObjectName(managedRole.getDomain(), role);
             return oname.toString();
         } catch (MalformedObjectNameException e) {
-            IllegalArgumentException iae = new IllegalArgumentException(
-                    "Cannot create object name for role [" + rolename + "]");
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException("Cannot create object name for role [" + rolename + "]", e);
         }
 
     }
@@ -254,10 +239,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
             ObjectName oname = MBeanUtils.createObjectName(managedUser.getDomain(), user);
             return oname.toString();
         } catch (MalformedObjectNameException e) {
-            IllegalArgumentException iae = new IllegalArgumentException(
-                    "Cannot create object name for user [" + username + "]");
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException("Cannot create object name for user [" + username + "]", e);
         }
     }
 
@@ -277,10 +259,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
             MBeanUtils.destroyMBean(group);
             database.removeGroup(group);
         } catch (Exception e) {
-            IllegalArgumentException iae = new IllegalArgumentException(
-                    "Exception destroying group [" + groupname + "] MBean");
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException("Exception destroying group [" + groupname + "] MBean", e);
         }
     }
 
@@ -300,10 +279,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
             MBeanUtils.destroyMBean(role);
             database.removeRole(role);
         } catch (Exception e) {
-            IllegalArgumentException iae = new IllegalArgumentException(
-                    "Exception destroying role [" + rolename + "] MBean");
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException("Exception destroying role [" + rolename + "] MBean", e);
         }
     }
 
@@ -323,10 +299,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
             MBeanUtils.destroyMBean(user);
             database.removeUser(user);
         } catch (Exception e) {
-            IllegalArgumentException iae = new IllegalArgumentException(
-                    "Exception destroying user [" + username + "] MBean");
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException("Exception destroying user [" + username + "] MBean", e);
         }
     }
 }
diff --git a/java/org/apache/catalina/mbeans/NamingResourcesMBean.java b/java/org/apache/catalina/mbeans/NamingResourcesMBean.java
index 79b4022..afffbf1 100644
--- a/java/org/apache/catalina/mbeans/NamingResourcesMBean.java
+++ b/java/org/apache/catalina/mbeans/NamingResourcesMBean.java
@@ -67,10 +67,7 @@ public class NamingResourcesMBean extends BaseModelMBean {
                 ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), env);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException (
-                        "Cannot create object name for environment " + env);
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException ("Cannot create object name for environment " + env, e);
             }
         }
         return results.toArray(new String[0]);
@@ -90,10 +87,7 @@ public class NamingResourcesMBean extends BaseModelMBean {
                 ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), contextResource);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException(
-                        "Cannot create object name for resource " + contextResource);
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException("Cannot create object name for resource " + contextResource, e);
             }
         }
         return results.toArray(new String[0]);
@@ -115,10 +109,7 @@ public class NamingResourcesMBean extends BaseModelMBean {
                         MBeanUtils.createObjectName(managed.getDomain(), resourceLink);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException(
-                        "Cannot create object name for resource " + resourceLink);
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException("Cannot create object name for resource " + resourceLink, e);
             }
         }
         return results.toArray(new String[0]);
diff --git a/java/org/apache/catalina/mbeans/UserMBean.java b/java/org/apache/catalina/mbeans/UserMBean.java
index 8093813..2d85ee1 100644
--- a/java/org/apache/catalina/mbeans/UserMBean.java
+++ b/java/org/apache/catalina/mbeans/UserMBean.java
@@ -71,10 +71,7 @@ public class UserMBean extends BaseModelMBean {
                     MBeanUtils.createObjectName(managed.getDomain(), group);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException
-                    ("Cannot create object name for group " + group);
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException("Cannot create object name for group " + group, e);
             }
         }
         return results.toArray(new String[0]);
@@ -97,10 +94,7 @@ public class UserMBean extends BaseModelMBean {
                     MBeanUtils.createObjectName(managed.getDomain(), role);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException
-                    ("Cannot create object name for role " + role);
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException("Cannot create object name for role " + role, e);
             }
         }
         return results.toArray(new String[0]);
diff --git a/java/org/apache/coyote/http2/Stream.java b/java/org/apache/coyote/http2/Stream.java
index 28ab46f..d7dad0e 100644
--- a/java/org/apache/coyote/http2/Stream.java
+++ b/java/org/apache/coyote/http2/Stream.java
@@ -628,8 +628,7 @@ public class Stream extends AbstractNonZeroStream implements HeaderEmitter {
                 handler.sendStreamReset(se);
             } catch (IOException ioe) {
                 ConnectionException ce = new ConnectionException(
-                        sm.getString("stream.reset.fail"), Http2Error.PROTOCOL_ERROR);
-                ce.initCause(ioe);
+                        sm.getString("stream.reset.fail"), Http2Error.PROTOCOL_ERROR, ioe);
                 handler.closeConnection(ce);
             }
         } else {
diff --git a/java/org/apache/coyote/http2/StreamProcessor.java b/java/org/apache/coyote/http2/StreamProcessor.java
index c8fc304..ce4871b 100644
--- a/java/org/apache/coyote/http2/StreamProcessor.java
+++ b/java/org/apache/coyote/http2/StreamProcessor.java
@@ -101,8 +101,7 @@ class StreamProcessor extends AbstractProcessor {
                     if (log.isDebugEnabled()) {
                         log.debug(msg, e);
                     }
-                    ConnectionException ce = new ConnectionException(msg, Http2Error.INTERNAL_ERROR);
-                    ce.initCause(e);
+                    ConnectionException ce = new ConnectionException(msg, Http2Error.INTERNAL_ERROR, e);
                     stream.close(ce);
                     state = SocketState.CLOSED;
                 } finally {
diff --git a/java/org/apache/jasper/runtime/PageContextImpl.java b/java/org/apache/jasper/runtime/PageContextImpl.java
index 3080546..677217a 100644
--- a/java/org/apache/jasper/runtime/PageContextImpl.java
+++ b/java/org/apache/jasper/runtime/PageContextImpl.java
@@ -721,10 +721,7 @@ public class PageContextImpl extends PageContext {
             out.clear();
             baseOut.clear();
         } catch (IOException ex) {
-            IllegalStateException ise = new IllegalStateException(Localizer
-                    .getMessage("jsp.error.attempt_to_clear_flushed_buffer"));
-            ise.initCause(ex);
-            throw ise;
+            throw new IllegalStateException(Localizer.getMessage("jsp.error.attempt_to_clear_flushed_buffer"), ex);
         }
 
         // Make sure that the response object is not the wrapper for include
diff --git a/java/org/apache/tomcat/util/scan/StandardJarScanner.java b/java/org/apache/tomcat/util/scan/StandardJarScanner.java
index 402870d..dc668e5 100644
--- a/java/org/apache/tomcat/util/scan/StandardJarScanner.java
+++ b/java/org/apache/tomcat/util/scan/StandardJarScanner.java
@@ -414,9 +414,7 @@ public class StandardJarScanner implements JarScanner {
             } catch (Throwable t) {
                 ExceptionUtils.handleThrowable(t);
                 // Wrap the exception and re-throw
-                IOException ioe = new IOException();
-                ioe.initCause(t);
-                throw ioe;
+                throw new IOException(t);
             }
         }
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[tomcat] 03/05: Make the serialVersionUID fields private

Posted by eb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ebourg pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 398cd3ae7c545a0b88cd6b305f858c57006f5536
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Fri Dec 4 00:22:09 2020 +0100

    Make the serialVersionUID fields private
---
 java/org/apache/tomcat/util/modeler/AttributeInfo.java    | 2 +-
 java/org/apache/tomcat/util/modeler/FeatureInfo.java      | 2 +-
 java/org/apache/tomcat/util/modeler/NotificationInfo.java | 2 +-
 java/org/apache/tomcat/util/modeler/OperationInfo.java    | 2 +-
 java/org/apache/tomcat/util/modeler/ParameterInfo.java    | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/java/org/apache/tomcat/util/modeler/AttributeInfo.java b/java/org/apache/tomcat/util/modeler/AttributeInfo.java
index 14342af..2893611 100644
--- a/java/org/apache/tomcat/util/modeler/AttributeInfo.java
+++ b/java/org/apache/tomcat/util/modeler/AttributeInfo.java
@@ -27,7 +27,7 @@ import javax.management.MBeanAttributeInfo;
  * @author Craig R. McClanahan
  */
 public class AttributeInfo extends FeatureInfo {
-    static final long serialVersionUID = -2511626862303972143L;
+    private static final long serialVersionUID = -2511626862303972143L;
 
     // ----------------------------------------------------- Instance Variables
     protected String displayName = null;
diff --git a/java/org/apache/tomcat/util/modeler/FeatureInfo.java b/java/org/apache/tomcat/util/modeler/FeatureInfo.java
index 7eef166..94517ca 100644
--- a/java/org/apache/tomcat/util/modeler/FeatureInfo.java
+++ b/java/org/apache/tomcat/util/modeler/FeatureInfo.java
@@ -32,7 +32,7 @@ import javax.management.MBeanFeatureInfo;
  * @author Craig R. McClanahan
  */
 public class FeatureInfo implements Serializable {
-    static final long serialVersionUID = -911529176124712296L;
+    private static final long serialVersionUID = -911529176124712296L;
 
     protected String description = null;
     protected String name = null;
diff --git a/java/org/apache/tomcat/util/modeler/NotificationInfo.java b/java/org/apache/tomcat/util/modeler/NotificationInfo.java
index 5a660b5..18f5524 100644
--- a/java/org/apache/tomcat/util/modeler/NotificationInfo.java
+++ b/java/org/apache/tomcat/util/modeler/NotificationInfo.java
@@ -30,7 +30,7 @@ import javax.management.MBeanNotificationInfo;
  */
 public class NotificationInfo extends FeatureInfo {
 
-    static final long serialVersionUID = -6319885418912650856L;
+    private static final long serialVersionUID = -6319885418912650856L;
 
     // ----------------------------------------------------- Instance Variables
 
diff --git a/java/org/apache/tomcat/util/modeler/OperationInfo.java b/java/org/apache/tomcat/util/modeler/OperationInfo.java
index 55f4883..6a63870 100644
--- a/java/org/apache/tomcat/util/modeler/OperationInfo.java
+++ b/java/org/apache/tomcat/util/modeler/OperationInfo.java
@@ -32,7 +32,7 @@ import javax.management.MBeanParameterInfo;
  */
 public class OperationInfo extends FeatureInfo {
 
-    static final long serialVersionUID = 4418342922072614875L;
+    private static final long serialVersionUID = 4418342922072614875L;
 
     // ----------------------------------------------------------- Constructors
 
diff --git a/java/org/apache/tomcat/util/modeler/ParameterInfo.java b/java/org/apache/tomcat/util/modeler/ParameterInfo.java
index 758d943..3e755b0 100644
--- a/java/org/apache/tomcat/util/modeler/ParameterInfo.java
+++ b/java/org/apache/tomcat/util/modeler/ParameterInfo.java
@@ -29,7 +29,7 @@ import javax.management.MBeanParameterInfo;
  * @author Craig R. McClanahan
  */
 public class ParameterInfo extends FeatureInfo {
-    static final long serialVersionUID = 2222796006787664020L;
+    private static final long serialVersionUID = 2222796006787664020L;
     // ----------------------------------------------------------- Constructors
 
 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[tomcat] 02/05: Collapse identical catch blocks

Posted by eb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ebourg pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 22e89f8cde17dd62e1a5cf4365027da0de245145
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Fri Dec 4 00:15:59 2020 +0100

    Collapse identical catch blocks
---
 .../catalina/core/ApplicationDispatcher.java       |  4 +---
 .../catalina/core/NamingContextListener.java       |  2 --
 java/org/apache/catalina/core/StandardServer.java  |  4 +---
 .../org/apache/catalina/mbeans/ContainerMBean.java |  4 +---
 .../apache/catalina/servlets/WebdavServlet.java    | 10 ++-------
 .../org/apache/catalina/startup/ContextConfig.java | 25 +++++-----------------
 .../group/interceptors/NonBlockingCoordinator.java |  4 +---
 .../tribes/tipis/AbstractReplicatedMap.java        | 15 +++----------
 .../apache/catalina/util/LifecycleMBeanBase.java   |  6 +-----
 .../apache/catalina/valves/ErrorReportValve.java   |  4 +---
 java/org/apache/coyote/ajp/AjpProcessor.java       |  6 ++----
 java/org/apache/el/parser/AstValue.java            |  6 ++----
 java/org/apache/jasper/compiler/JDTCompiler.java   |  5 ++---
 java/org/apache/jasper/servlet/JspServlet.java     |  6 +-----
 .../apache/jasper/servlet/JspServletWrapper.java   | 19 ++--------------
 .../dbcp/dbcp2/PoolableCallableStatement.java      |  4 +---
 .../dbcp2/datasources/InstanceKeyDataSource.java   | 10 ++-------
 java/org/apache/tomcat/util/Diagnostics.java       |  8 ++-----
 .../apache/catalina/core/TestAsyncContextImpl.java |  8 ++-----
 .../catalina/valves/TestRequestFilterValve.java    |  4 +---
 .../apache/coyote/http11/TestHttp11Processor.java  |  4 +---
 test/org/apache/el/TesterFunctions.java            | 16 ++++----------
 test/org/apache/tomcat/util/net/TestCustomSsl.java | 11 +++-------
 23 files changed, 41 insertions(+), 144 deletions(-)

diff --git a/java/org/apache/catalina/core/ApplicationDispatcher.java b/java/org/apache/catalina/core/ApplicationDispatcher.java
index 1eb66a6..052bd84 100644
--- a/java/org/apache/catalina/core/ApplicationDispatcher.java
+++ b/java/org/apache/catalina/core/ApplicationDispatcher.java
@@ -415,9 +415,7 @@ final class ApplicationDispatcher implements AsyncDispatcher, RequestDispatcher
                 try {
                     ServletOutputStream stream = response.getOutputStream();
                     stream.close();
-                } catch (IllegalStateException f) {
-                    // Ignore
-                } catch (IOException f) {
+                } catch (IllegalStateException | IOException f) {
                     // Ignore
                 }
             } catch (IOException e) {
diff --git a/java/org/apache/catalina/core/NamingContextListener.java b/java/org/apache/catalina/core/NamingContextListener.java
index 234492b..8616587 100644
--- a/java/org/apache/catalina/core/NamingContextListener.java
+++ b/java/org/apache/catalina/core/NamingContextListener.java
@@ -770,8 +770,6 @@ public class NamingContextListener
                                 "naming.invalidEnvEntryType", env.getName()));
                     }
                 }
-            } catch (NumberFormatException e) {
-                log.error(sm.getString("naming.invalidEnvEntryValue", env.getName()));
             } catch (IllegalArgumentException e) {
                 log.error(sm.getString("naming.invalidEnvEntryValue", env.getName()));
             }
diff --git a/java/org/apache/catalina/core/StandardServer.java b/java/org/apache/catalina/core/StandardServer.java
index 8746c6d..31ab25d 100644
--- a/java/org/apache/catalina/core/StandardServer.java
+++ b/java/org/apache/catalina/core/StandardServer.java
@@ -832,9 +832,7 @@ public final class StandardServer extends LifecycleMBeanBase implements Server {
                                         f.getName().endsWith(".jar")) {
                                     ExtensionValidator.addSystemResource(f);
                                 }
-                            } catch (URISyntaxException e) {
-                                // Ignore
-                            } catch (IOException e) {
+                            } catch (URISyntaxException | IOException e) {
                                 // Ignore
                             }
                         }
diff --git a/java/org/apache/catalina/mbeans/ContainerMBean.java b/java/org/apache/catalina/mbeans/ContainerMBean.java
index e8bc8c1..434c09d 100644
--- a/java/org/apache/catalina/mbeans/ContainerMBean.java
+++ b/java/org/apache/catalina/mbeans/ContainerMBean.java
@@ -128,9 +128,7 @@ public class ContainerMBean extends BaseCatalinaMBean<ContainerBase> {
         ObjectName oname;
         try {
             oname = new ObjectName(valveName);
-        } catch (MalformedObjectNameException e) {
-            throw new MBeanException(e);
-        } catch (NullPointerException e) {
+        } catch (MalformedObjectNameException | NullPointerException e) {
             throw new MBeanException(e);
         }
 
diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java
index d0a9e69..0c14ad3 100644
--- a/java/org/apache/catalina/servlets/WebdavServlet.java
+++ b/java/org/apache/catalina/servlets/WebdavServlet.java
@@ -546,11 +546,7 @@ public class WebdavServlet extends DefaultServlet {
                         break;
                     }
                 }
-            } catch (SAXException e) {
-                // Something went wrong - bad request
-                resp.sendError(WebdavStatus.SC_BAD_REQUEST);
-                return;
-            } catch (IOException e) {
+            } catch (SAXException | IOException e) {
                 // Something went wrong - bad request
                 resp.sendError(WebdavStatus.SC_BAD_REQUEST);
                 return;
@@ -980,9 +976,7 @@ public class WebdavServlet extends DefaultServlet {
             // Get the root element of the document
             Element rootElement = document.getDocumentElement();
             lockInfoNode = rootElement;
-        } catch (IOException e) {
-            lockRequestType = LOCK_REFRESH;
-        } catch (SAXException e) {
+        } catch (IOException | SAXException e) {
             lockRequestType = LOCK_REFRESH;
         }
 
diff --git a/java/org/apache/catalina/startup/ContextConfig.java b/java/org/apache/catalina/startup/ContextConfig.java
index 846a2d0..73a5937 100644
--- a/java/org/apache/catalina/startup/ContextConfig.java
+++ b/java/org/apache/catalina/startup/ContextConfig.java
@@ -1672,12 +1672,9 @@ public class ContextConfig implements LifecycleListener {
                                 "/", resources.getAbsolutePath(), null, "/");
                     }
                 }
-            } catch (IOException ioe) {
+            } catch (IOException | URISyntaxException e) {
                 log.error(sm.getString("contextConfig.resourceJarFail", url,
                         context.getName()));
-            } catch (URISyntaxException e) {
-                log.error(sm.getString("contextConfig.resourceJarFail", url,
-                    context.getName()));
             }
         }
     }
@@ -1916,10 +1913,7 @@ public class ContextConfig implements LifecycleListener {
                 webResource.getName().endsWith(".class")) {
             try (InputStream is = webResource.getInputStream()) {
                 processAnnotationsStream(is, fragment, handlesTypesOnly, javaClassCache);
-            } catch (IOException e) {
-                log.error(sm.getString("contextConfig.inputStreamWebResource",
-                        webResource.getWebappPath()),e);
-            } catch (ClassFormatException e) {
+            } catch (IOException | ClassFormatException e) {
                 log.error(sm.getString("contextConfig.inputStreamWebResource",
                         webResource.getWebappPath()),e);
             }
@@ -1964,10 +1958,7 @@ public class ContextConfig implements LifecycleListener {
                 if (entryName.endsWith(".class")) {
                     try (InputStream is = jar.getEntryInputStream()) {
                         processAnnotationsStream(is, fragment, handlesTypesOnly, javaClassCache);
-                    } catch (IOException e) {
-                        log.error(sm.getString("contextConfig.inputStreamJar",
-                                entryName, url),e);
-                    } catch (ClassFormatException e) {
+                    } catch (IOException | ClassFormatException e) {
                         log.error(sm.getString("contextConfig.inputStreamJar",
                                 entryName, url),e);
                     }
@@ -2000,10 +1991,7 @@ public class ContextConfig implements LifecycleListener {
         } else if (file.getName().endsWith(".class") && file.canRead()) {
             try (FileInputStream fis = new FileInputStream(file)) {
                 processAnnotationsStream(fis, fragment, handlesTypesOnly, javaClassCache);
-            } catch (IOException e) {
-                log.error(sm.getString("contextConfig.inputStreamFile",
-                        file.getAbsolutePath()),e);
-            } catch (ClassFormatException e) {
+            } catch (IOException | ClassFormatException e) {
                 log.error(sm.getString("contextConfig.inputStreamFile",
                         file.getAbsolutePath()),e);
             }
@@ -2187,10 +2175,7 @@ public class ContextConfig implements LifecycleListener {
                 ClassParser parser = new ClassParser(is);
                 JavaClass clazz = parser.parse();
                 populateJavaClassCache(clazz.getClassName(), clazz, javaClassCache);
-            } catch (ClassFormatException e) {
-                log.debug(sm.getString("contextConfig.invalidSciHandlesTypes",
-                        className), e);
-            } catch (IOException e) {
+            } catch (ClassFormatException | IOException e) {
                 log.debug(sm.getString("contextConfig.invalidSciHandlesTypes",
                         className), e);
             }
diff --git a/java/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java b/java/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
index f00b380..ab26140 100644
--- a/java/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
+++ b/java/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
@@ -304,9 +304,7 @@ public class NonBlockingCoordinator extends ChannelInterceptorBase {
             InetSocketAddress addr = new InetSocketAddress(ia, mbr.getPort());
             socket.connect(addr, (int) conTimeout);
             return true;
-        } catch (SocketTimeoutException sx) {
-            //do nothing, we couldn't connect
-        } catch (ConnectException cx) {
+        } catch (SocketTimeoutException | ConnectException x) {
             //do nothing, we couldn't connect
         } catch (Exception x) {
             log.error(sm.getString("nonBlockingCoordinator.memberAlive.failed"),x);
diff --git a/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java b/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
index ef0820e..6e87d6a 100644
--- a/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
+++ b/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
@@ -539,11 +539,7 @@ public abstract class AbstractReplicatedMap<K,V>
                     log.warn(sm.getString("abstractReplicatedMap.transferState.noReplies"));
                 }
             }
-        } catch (ChannelException x) {
-            log.error(sm.getString("abstractReplicatedMap.unable.transferState"), x);
-        } catch (IOException x) {
-            log.error(sm.getString("abstractReplicatedMap.unable.transferState"), x);
-        } catch (ClassNotFoundException x) {
+        } catch (ChannelException | ClassNotFoundException | IOException x) {
             log.error(sm.getString("abstractReplicatedMap.unable.transferState"), x);
         }
         this.state = State.STATETRANSFERRED;
@@ -642,9 +638,7 @@ public abstract class AbstractReplicatedMap<K,V>
                     log.info(sm.getString("abstractReplicatedMap.leftOver.ignored",
                             mapmsg.getTypeDesc()));
             }
-        } catch (IOException x ) {
-            log.error(sm.getString("abstractReplicatedMap.unable.deserialize.MapMessage"),x);
-        } catch (ClassNotFoundException x ) {
+        } catch (IOException | ClassNotFoundException x) {
             log.error(sm.getString("abstractReplicatedMap.unable.deserialize.MapMessage"),x);
         }
     }
@@ -661,10 +655,7 @@ public abstract class AbstractReplicatedMap<K,V>
 
         try {
             mapmsg.deserialize(getExternalLoaders());
-        } catch (IOException x) {
-            log.error(sm.getString("abstractReplicatedMap.unable.deserialize.MapMessage"), x);
-            return;
-        } catch (ClassNotFoundException x) {
+        } catch (IOException | ClassNotFoundException x) {
             log.error(sm.getString("abstractReplicatedMap.unable.deserialize.MapMessage"), x);
             return;
         }
diff --git a/java/org/apache/catalina/util/LifecycleMBeanBase.java b/java/org/apache/catalina/util/LifecycleMBeanBase.java
index 9463291..3bf3129 100644
--- a/java/org/apache/catalina/util/LifecycleMBeanBase.java
+++ b/java/org/apache/catalina/util/LifecycleMBeanBase.java
@@ -157,12 +157,8 @@ public abstract class LifecycleMBeanBase extends LifecycleBase
         try {
             on = new ObjectName(name.toString());
             Registry.getRegistry(null, null).registerComponent(obj, on, null);
-        } catch (MalformedObjectNameException e) {
-            log.warn(sm.getString("lifecycleMBeanBase.registerFail", obj, name),
-                    e);
         } catch (Exception e) {
-            log.warn(sm.getString("lifecycleMBeanBase.registerFail", obj, name),
-                    e);
+            log.warn(sm.getString("lifecycleMBeanBase.registerFail", obj, name), e);
         }
 
         return on;
diff --git a/java/org/apache/catalina/valves/ErrorReportValve.java b/java/org/apache/catalina/valves/ErrorReportValve.java
index c30ed15..c3fb116 100644
--- a/java/org/apache/catalina/valves/ErrorReportValve.java
+++ b/java/org/apache/catalina/valves/ErrorReportValve.java
@@ -288,9 +288,7 @@ public class ErrorReportValve extends ValveBase {
                 writer.write(sb.toString());
                 response.finishResponse();
             }
-        } catch (IOException e) {
-            // Ignore
-        } catch (IllegalStateException e) {
+        } catch (IOException | IllegalStateException e) {
             // Ignore
         }
 
diff --git a/java/org/apache/coyote/ajp/AjpProcessor.java b/java/org/apache/coyote/ajp/AjpProcessor.java
index 74bf27e..d1c3e10 100644
--- a/java/org/apache/coyote/ajp/AjpProcessor.java
+++ b/java/org/apache/coyote/ajp/AjpProcessor.java
@@ -23,6 +23,7 @@ import java.io.InterruptedIOException;
 import java.net.InetAddress;
 import java.nio.ByteBuffer;
 import java.security.NoSuchProviderException;
+import java.security.cert.CertificateException;
 import java.security.cert.CertificateFactory;
 import java.security.cert.X509Certificate;
 import java.util.Collections;
@@ -1277,10 +1278,7 @@ public class AjpProcessor extends AbstractProcessor {
                         jsseCerts = temp;
                     }
                 }
-            } catch (java.security.cert.CertificateException e) {
-                getLog().error(sm.getString("ajpprocessor.certs.fail"), e);
-                return;
-            } catch (NoSuchProviderException e) {
+            } catch (CertificateException | NoSuchProviderException e) {
                 getLog().error(sm.getString("ajpprocessor.certs.fail"), e);
                 return;
             }
diff --git a/java/org/apache/el/parser/AstValue.java b/java/org/apache/el/parser/AstValue.java
index caa264a..a8f9fd7 100644
--- a/java/org/apache/el/parser/AstValue.java
+++ b/java/org/apache/el/parser/AstValue.java
@@ -245,10 +245,8 @@ public final class AstValue extends SimpleNode {
         Object result = null;
         try {
             result = m.invoke(t.base, values);
-        } catch (IllegalAccessException iae) {
-            throw new ELException(iae);
-        } catch (IllegalArgumentException iae) {
-            throw new ELException(iae);
+        } catch (IllegalAccessException | IllegalArgumentException e) {
+            throw new ELException(e);
         } catch (InvocationTargetException ite) {
             Throwable cause = ite.getCause();
             if (cause instanceof ThreadDeath) {
diff --git a/java/org/apache/jasper/compiler/JDTCompiler.java b/java/org/apache/jasper/compiler/JDTCompiler.java
index 0890885..d493c27 100644
--- a/java/org/apache/jasper/compiler/JDTCompiler.java
+++ b/java/org/apache/jasper/compiler/JDTCompiler.java
@@ -46,6 +46,7 @@ import org.eclipse.jdt.internal.compiler.ICompilerRequestor;
 import org.eclipse.jdt.internal.compiler.IErrorHandlingPolicy;
 import org.eclipse.jdt.internal.compiler.IProblemFactory;
 import org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader;
+import org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException;
 import org.eclipse.jdt.internal.compiler.env.ICompilationUnit;
 import org.eclipse.jdt.internal.compiler.env.INameEnvironment;
 import org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer;
@@ -230,9 +231,7 @@ public class JDTCompiler extends org.apache.jasper.compiler.Compiler {
                             ClassFileReader classFileReader = new ClassFileReader(classBytes, fileName, true);
                             return new NameEnvironmentAnswer(classFileReader, null);
                         }
-                    } catch (IOException exc) {
-                        log.error("Compilation error", exc);
-                    } catch (org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException exc) {
+                    } catch (IOException | ClassFormatException exc) {
                         log.error("Compilation error", exc);
                     }
                     return null;
diff --git a/java/org/apache/jasper/servlet/JspServlet.java b/java/org/apache/jasper/servlet/JspServlet.java
index ab419d7..5f5d7e5 100644
--- a/java/org/apache/jasper/servlet/JspServlet.java
+++ b/java/org/apache/jasper/servlet/JspServlet.java
@@ -328,11 +328,7 @@ public class JspServlet extends HttpServlet implements PeriodicEventListener {
         try {
             boolean precompile = preCompile(request);
             serviceJspFile(request, response, jspUri, precompile);
-        } catch (RuntimeException e) {
-            throw e;
-        } catch (ServletException e) {
-            throw e;
-        } catch (IOException e) {
+        } catch (RuntimeException | IOException | ServletException e) {
             throw e;
         } catch (Throwable e) {
             ExceptionUtils.handleThrowable(e);
diff --git a/java/org/apache/jasper/servlet/JspServletWrapper.java b/java/org/apache/jasper/servlet/JspServletWrapper.java
index 7eca184..26582b2 100644
--- a/java/org/apache/jasper/servlet/JspServletWrapper.java
+++ b/java/org/apache/jasper/servlet/JspServletWrapper.java
@@ -417,20 +417,10 @@ public class JspServletWrapper {
                 return;
             }
 
-        } catch (ServletException ex) {
-            if (options.getDevelopment()) {
-                throw handleJspException(ex);
-            }
-            throw ex;
         } catch (FileNotFoundException fnfe) {
             // File has been removed. Let caller handle this.
             throw fnfe;
-        } catch (IOException ex) {
-            if (options.getDevelopment()) {
-                throw handleJspException(ex);
-            }
-            throw ex;
-        } catch (IllegalStateException ex) {
+        } catch (ServletException | IOException | IllegalStateException ex) {
             if (options.getDevelopment()) {
                 throw handleJspException(ex);
             }
@@ -494,7 +484,7 @@ public class JspServletWrapper {
             response.sendError
                 (HttpServletResponse.SC_SERVICE_UNAVAILABLE,
                  ex.getMessage());
-        } catch (ServletException ex) {
+        } catch (ServletException | IllegalStateException ex) {
             if(options.getDevelopment()) {
                 throw handleJspException(ex);
             }
@@ -504,11 +494,6 @@ public class JspServletWrapper {
                 throw new IOException(handleJspException(ex).getMessage(), ex);
             }
             throw ex;
-        } catch (IllegalStateException ex) {
-            if(options.getDevelopment()) {
-                throw handleJspException(ex);
-            }
-            throw ex;
         } catch (Exception ex) {
             if(options.getDevelopment()) {
                 throw handleJspException(ex);
diff --git a/java/org/apache/tomcat/dbcp/dbcp2/PoolableCallableStatement.java b/java/org/apache/tomcat/dbcp/dbcp2/PoolableCallableStatement.java
index 0fc3b7f..f8456980 100644
--- a/java/org/apache/tomcat/dbcp/dbcp2/PoolableCallableStatement.java
+++ b/java/org/apache/tomcat/dbcp/dbcp2/PoolableCallableStatement.java
@@ -80,9 +80,7 @@ public class PoolableCallableStatement extends DelegatingCallableStatement {
         if (!isClosed()) {
             try {
                 pool.returnObject(key, this);
-            } catch (final SQLException e) {
-                throw e;
-            } catch (final RuntimeException e) {
+            } catch (final SQLException | RuntimeException e) {
                 throw e;
             } catch (final Exception e) {
                 throw new SQLException("Cannot close CallableStatement (return to pool failed)", e);
diff --git a/java/org/apache/tomcat/dbcp/dbcp2/datasources/InstanceKeyDataSource.java b/java/org/apache/tomcat/dbcp/dbcp2/datasources/InstanceKeyDataSource.java
index 8168bcc..e9457e6 100644
--- a/java/org/apache/tomcat/dbcp/dbcp2/datasources/InstanceKeyDataSource.java
+++ b/java/org/apache/tomcat/dbcp/dbcp2/datasources/InstanceKeyDataSource.java
@@ -916,10 +916,7 @@ public abstract class InstanceKeyDataSource implements DataSource, Referenceable
         } catch (final NoSuchElementException e) {
             closeDueToException(info);
             throw new SQLException("Cannot borrow connection from pool", e);
-        } catch (final RuntimeException e) {
-            closeDueToException(info);
-            throw e;
-        } catch (final SQLException e) {
+        } catch (final RuntimeException | SQLException e) {
             closeDueToException(info);
             throw e;
         } catch (final Exception e) {
@@ -956,10 +953,7 @@ public abstract class InstanceKeyDataSource implements DataSource, Referenceable
                 } catch (final NoSuchElementException e) {
                     closeDueToException(info);
                     throw new SQLException("Cannot borrow connection from pool", e);
-                } catch (final RuntimeException e) {
-                    closeDueToException(info);
-                    throw e;
-                } catch (final SQLException e) {
+                } catch (final RuntimeException | SQLException e) {
                     closeDueToException(info);
                     throw e;
                 } catch (final Exception e) {
diff --git a/java/org/apache/tomcat/util/Diagnostics.java b/java/org/apache/tomcat/util/Diagnostics.java
index 75b41cf..788778c 100644
--- a/java/org/apache/tomcat/util/Diagnostics.java
+++ b/java/org/apache/tomcat/util/Diagnostics.java
@@ -235,9 +235,7 @@ public class Diagnostics {
                 try {
                     mbean.setUsageThreshold(threshold);
                     return true;
-                } catch (IllegalArgumentException ex) {
-                    // IGNORE
-                } catch (UnsupportedOperationException ex) {
+                } catch (IllegalArgumentException | UnsupportedOperationException ex) {
                     // IGNORE
                 }
                 return false;
@@ -259,9 +257,7 @@ public class Diagnostics {
                 try {
                     mbean.setCollectionUsageThreshold(threshold);
                     return true;
-                } catch (IllegalArgumentException ex) {
-                    // IGNORE
-                } catch (UnsupportedOperationException ex) {
+                } catch (IllegalArgumentException | UnsupportedOperationException ex) {
                     // IGNORE
                 }
                 return false;
diff --git a/test/org/apache/catalina/core/TestAsyncContextImpl.java b/test/org/apache/catalina/core/TestAsyncContextImpl.java
index b9d1651..6128a96 100644
--- a/test/org/apache/catalina/core/TestAsyncContextImpl.java
+++ b/test/org/apache/catalina/core/TestAsyncContextImpl.java
@@ -302,9 +302,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
                             result.append("false");
                         }
                         done = true;
-                    } catch (InterruptedException e) {
-                        result.append(e);
-                    } catch (IOException e) {
+                    } catch (InterruptedException | IOException e) {
                         result.append(e);
                     }
                 }
@@ -380,9 +378,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
                                     result.append("false");
                                 }
                                 done = true;
-                            } catch (InterruptedException e) {
-                                result.append(e);
-                            } catch (IOException e) {
+                            } catch (InterruptedException | IOException e) {
                                 result.append(e);
                             }
                         }
diff --git a/test/org/apache/catalina/valves/TestRequestFilterValve.java b/test/org/apache/catalina/valves/TestRequestFilterValve.java
index 65cb36d..6e7e106 100644
--- a/test/org/apache/catalina/valves/TestRequestFilterValve.java
+++ b/test/org/apache/catalina/valves/TestRequestFilterValve.java
@@ -143,9 +143,7 @@ public class TestRequestFilterValve {
         // TEST
         try {
             valve.invoke(request, response);
-        } catch (IOException ex) {
-            //Ignore
-        } catch (ServletException ex) {
+        } catch (IOException | ServletException ex) {
             //Ignore
         }
 
diff --git a/test/org/apache/coyote/http11/TestHttp11Processor.java b/test/org/apache/coyote/http11/TestHttp11Processor.java
index bc6281d..64d6003 100644
--- a/test/org/apache/coyote/http11/TestHttp11Processor.java
+++ b/test/org/apache/coyote/http11/TestHttp11Processor.java
@@ -355,9 +355,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
                 try {
                     client.sendRequest();
                     client.sendRequest();
-                } catch (InterruptedException e) {
-                    throw new RuntimeException(e);
-                } catch (IOException e) {
+                } catch (InterruptedException | IOException e) {
                     throw new RuntimeException(e);
                 }
             }
diff --git a/test/org/apache/el/TesterFunctions.java b/test/org/apache/el/TesterFunctions.java
index 0f655b7..76bd4d6 100644
--- a/test/org/apache/el/TesterFunctions.java
+++ b/test/org/apache/el/TesterFunctions.java
@@ -68,9 +68,7 @@ public class TesterFunctions {
                 try {
                     m = TesterFunctions.class.getMethod("trim", String.class);
                     return m;
-                } catch (SecurityException e) {
-                    // Ignore
-                } catch (NoSuchMethodException e) {
+                } catch (SecurityException | NoSuchMethodException e) {
                     // Ignore
                 }
             } else if ("concat".equals(localName)) {
@@ -78,9 +76,7 @@ public class TesterFunctions {
                 try {
                     m = TesterFunctions.class.getMethod("concat", String[].class);
                     return m;
-                } catch (SecurityException e) {
-                    // Ignore
-                } catch (NoSuchMethodException e) {
+                } catch (SecurityException | NoSuchMethodException e) {
                     // Ignore
                 }
             } else if ("concat2".equals(localName)) {
@@ -88,9 +84,7 @@ public class TesterFunctions {
                 try {
                     m = TesterFunctions.class.getMethod("concat2", String.class, String[].class);
                     return m;
-                } catch (SecurityException e) {
-                    // Ignore
-                } catch (NoSuchMethodException e) {
+                } catch (SecurityException | NoSuchMethodException e) {
                     // Ignore
                 }
             } else if ("toArray".equals(localName)) {
@@ -98,9 +92,7 @@ public class TesterFunctions {
                 try {
                     m = TesterFunctions.class.getMethod("toArray", String.class, String.class);
                     return m;
-                } catch (SecurityException e) {
-                    // Ignore
-                } catch (NoSuchMethodException e) {
+                } catch (SecurityException | NoSuchMethodException e) {
                     // Ignore
                 }
             }
diff --git a/test/org/apache/tomcat/util/net/TestCustomSsl.java b/test/org/apache/tomcat/util/net/TestCustomSsl.java
index c3dd280..efa1b83 100644
--- a/test/org/apache/tomcat/util/net/TestCustomSsl.java
+++ b/test/org/apache/tomcat/util/net/TestCustomSsl.java
@@ -148,15 +148,10 @@ public class TestCustomSsl extends TomcatBaseTest {
         int rc = -1;
         try {
             rc = getUrl("https://localhost:" + getPort() + "/protected", res, null, null);
-        } catch (SocketException se) {
+        } catch (SocketException | SSLException e) {
             if (!trustType.equals(TrustType.NONE)) {
-                Assert.fail(se.getMessage());
-                se.printStackTrace();
-            }
-        } catch (SSLException he) {
-            if (!trustType.equals(TrustType.NONE)) {
-                Assert.fail(he.getMessage());
-                he.printStackTrace();
+                Assert.fail(e.getMessage());
+                e.printStackTrace();
             }
         }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org