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 12:00:03 UTC

[tomcat] branch 9.0.x updated (073f9d0 -> 64a3ea5)

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

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


    from 073f9d0  Fix parsing logic
     new b47fb6a  Use the valueOf() method of the primitive wrapper classes instead of the deprecated constructors (to be removed as part of JEP 390)
     new caba05c  Use lambda expressions with AccessController.doPrivileged()
     new 490f3fc  Use method references instead of lambda expressions when possible
     new 92ee90f  Replace ThreadLocal inner classes with ThreadLocal.withInitial() + lambda expression
     new d3e9253  Replace Runnable inner classes with lambda expressions
     new 14f24d1  Replace Collections.sort() with List.sort()
     new 389e1f3  Replace loops with Collection.removeIf() when possible
     new cf0d33c  Replace explicit types with <>
     new fd478f5  Collapse identical catch blocks
     new e343c61  Make the serialVersionUID fields private
     new fe36cee  Make the inner classes static when possible to save a reference to the enclosing class
     new 64a3ea5  No longer use Throwable.initCause() when possible

The 12 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:
 java/javax/el/BeanELResolver.java                  |  8 +-
 java/javax/el/ExpressionFactory.java               | 28 +------
 .../auth/message/config/AuthConfigFactory.java     | 43 ++++------
 java/javax/servlet/http/Cookie.java                | 30 ++-----
 .../authenticator/SpnegoAuthenticator.java         | 13 +--
 .../apache/catalina/connector/CoyoteAdapter.java   |  9 +--
 java/org/apache/catalina/connector/Response.java   | 15 +---
 .../catalina/core/ApplicationDispatcher.java       |  4 +-
 .../catalina/core/ApplicationFilterChain.java      |  6 +-
 .../catalina/core/ApplicationPushBuilder.java      |  9 +--
 .../catalina/core/NamingContextListener.java       |  2 -
 java/org/apache/catalina/core/StandardServer.java  | 18 +----
 .../catalina/filters/RequestDumperFilter.java      |  8 +-
 .../catalina/filters/RestCsrfPreventionFilter.java | 14 ++--
 .../apache/catalina/ha/tcp/ReplicationValve.java   |  2 +-
 .../catalina/manager/HTMLManagerServlet.java       |  2 +-
 .../org/apache/catalina/mbeans/ContainerMBean.java |  4 +-
 java/org/apache/catalina/mbeans/GroupMBean.java    |  8 +-
 .../catalina/mbeans/MemoryUserDatabaseMBean.java   | 36 +++------
 .../catalina/mbeans/NamingResourcesMBean.java      | 18 ++---
 java/org/apache/catalina/mbeans/UserMBean.java     |  8 +-
 .../org/apache/catalina/security/SecurityUtil.java |  7 +-
 java/org/apache/catalina/servlets/CGIServlet.java  |  7 +-
 .../apache/catalina/servlets/WebdavServlet.java    | 10 +--
 .../apache/catalina/ssi/ExpressionParseTree.java   | 10 +--
 java/org/apache/catalina/ssi/SSIMediator.java      |  9 +--
 .../catalina/startup/ClassLoaderFactory.java       | 26 +++---
 .../org/apache/catalina/startup/ContextConfig.java | 27 ++-----
 .../catalina/startup/WebappServiceLoader.java      |  8 +-
 .../catalina/tribes/group/AbsoluteOrder.java       |  2 +-
 .../apache/catalina/tribes/group/GroupChannel.java |  8 +-
 .../interceptors/MessageDispatchInterceptor.java   |  8 +-
 .../group/interceptors/NonBlockingCoordinator.java |  4 +-
 .../interceptors/StaticMembershipInterceptor.java  | 11 +--
 .../tribes/membership/McastServiceImpl.java        | 91 +++++++++------------
 .../membership/StaticMembershipProvider.java       | 34 ++++----
 .../membership/cloud/CloudMembershipProvider.java  | 34 ++++----
 .../tribes/tipis/AbstractReplicatedMap.java        | 15 +---
 .../tribes/transport/nio/NioReplicationTask.java   | 46 +++++------
 java/org/apache/catalina/users/MemoryGroup.java    |  2 +-
 java/org/apache/catalina/util/Introspection.java   | 16 +---
 .../apache/catalina/util/LifecycleMBeanBase.java   |  6 +-
 .../catalina/valves/AbstractAccessLogValve.java    | 15 +---
 .../apache/catalina/valves/ErrorReportValve.java   |  4 +-
 .../catalina/valves/ExtendedAccessLogValve.java    | 14 +---
 .../catalina/valves/JsonErrorReportValve.java      |  4 +-
 .../catalina/valves/rewrite/RewriteRule.java       |  2 +-
 .../catalina/valves/rewrite/Substitution.java      | 14 ++--
 .../apache/catalina/webresources/StandardRoot.java |  2 +-
 java/org/apache/coyote/AbstractProtocol.java       | 22 ++---
 java/org/apache/coyote/ajp/AjpProcessor.java       |  6 +-
 .../coyote/http11/AbstractHttp11Protocol.java      |  2 +-
 .../apache/coyote/http2/Http2UpgradeHandler.java   |  2 +-
 java/org/apache/coyote/http2/Stream.java           |  3 +-
 java/org/apache/coyote/http2/StreamProcessor.java  |  3 +-
 java/org/apache/el/lang/ELSupport.java             |  9 +--
 java/org/apache/el/lang/ExpressionBuilder.java     |  8 +-
 java/org/apache/el/parser/AstValue.java            |  6 +-
 java/org/apache/el/stream/Stream.java              |  2 +-
 java/org/apache/el/util/Validation.java            | 10 +--
 java/org/apache/jasper/compiler/JDTCompiler.java   |  5 +-
 .../jasper/runtime/JspApplicationContextImpl.java  |  8 +-
 java/org/apache/jasper/runtime/JspFactoryImpl.java |  7 +-
 .../org/apache/jasper/runtime/PageContextImpl.java |  6 +-
 java/org/apache/jasper/servlet/JspServlet.java     | 17 ++--
 .../apache/jasper/servlet/JspServletWrapper.java   | 19 +----
 .../jasper/tagplugins/jstl/core/ForEach.java       | 16 ++--
 .../org/apache/jasper/tagplugins/jstl/core/If.java |  2 +-
 java/org/apache/juli/ClassLoaderLogManager.java    | 40 +++-------
 java/org/apache/juli/OneLineFormatter.java         | 15 +---
 java/org/apache/naming/NamingContext.java          |  2 +-
 java/org/apache/naming/factory/LookupFactory.java  |  8 +-
 .../apache/naming/factory/MailSessionFactory.java  | 93 +++++++++++-----------
 .../org/apache/naming/factory/SendMailFactory.java | 62 +++++++--------
 .../buildutil/translate/BackportTranslations.java  | 10 +--
 .../dbcp/dbcp2/PoolableCallableStatement.java      |  4 +-
 .../dbcp2/datasources/InstanceKeyDataSource.java   | 10 +--
 java/org/apache/tomcat/util/Diagnostics.java       |  8 +-
 .../org/apache/tomcat/util/compat/JrePlatform.java |  8 +-
 .../apache/tomcat/util/descriptor/web/WebXml.java  |  8 +-
 .../tomcat/util/http/CookieProcessorBase.java      | 14 ++--
 java/org/apache/tomcat/util/json/JSONParser.java   |  4 +-
 java/org/apache/tomcat/util/json/JSONParser.jj     |  4 +-
 .../apache/tomcat/util/modeler/AttributeInfo.java  |  2 +-
 .../util/modeler/BaseNotificationBroadcaster.java  |  9 +--
 .../apache/tomcat/util/modeler/FeatureInfo.java    |  2 +-
 .../apache/tomcat/util/modeler/ManagedBean.java    |  2 +-
 .../tomcat/util/modeler/NotificationInfo.java      |  2 +-
 .../apache/tomcat/util/modeler/OperationInfo.java  |  2 +-
 .../apache/tomcat/util/modeler/ParameterInfo.java  |  2 +-
 java/org/apache/tomcat/util/net/Nio2Endpoint.java  | 21 +++--
 .../tomcat/util/scan/StandardJarScanner.java       |  4 +-
 .../ObjectReflectionPropertyInspector.java         |  2 +-
 .../tomcat/websocket/AsyncChannelGroupUtil.java    |  2 +-
 java/org/apache/tomcat/websocket/Constants.java    |  2 +-
 java/org/apache/tomcat/websocket/WsFrameBase.java  |  2 +-
 .../tomcat/websocket/server/WsServerContainer.java |  2 +-
 .../authenticator/TestFormAuthenticator.java       |  2 +-
 .../apache/catalina/core/TestAsyncContextImpl.java |  8 +-
 .../TestWebappClassLoaderExecutorMemoryLeak.java   |  2 +-
 .../startup/TestContextConfigAnnotation.java       | 12 ++-
 .../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 +-
 test/org/apache/tomcat/websocket/TestUtil.java     |  4 +-
 110 files changed, 413 insertions(+), 878 deletions(-)


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


[tomcat] 02/12: Use lambda expressions with AccessController.doPrivileged()

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

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

commit caba05c91f7151209651a2e03f1c70676c2730a6
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Wed Dec 2 00:52:02 2020 +0100

    Use lambda expressions with AccessController.doPrivileged()
---
 java/javax/el/BeanELResolver.java                  |  8 +-
 java/javax/el/ExpressionFactory.java               | 28 +------
 .../auth/message/config/AuthConfigFactory.java     | 36 ++++-----
 java/javax/servlet/http/Cookie.java                | 30 ++-----
 .../authenticator/SpnegoAuthenticator.java         | 13 +--
 .../catalina/core/ApplicationFilterChain.java      |  6 +-
 .../org/apache/catalina/security/SecurityUtil.java |  7 +-
 .../catalina/startup/ClassLoaderFactory.java       | 26 +++---
 java/org/apache/catalina/util/Introspection.java   | 16 +---
 java/org/apache/el/lang/ELSupport.java             |  9 +--
 java/org/apache/el/lang/ExpressionBuilder.java     |  8 +-
 java/org/apache/el/util/Validation.java            | 10 +--
 .../jasper/runtime/JspApplicationContextImpl.java  |  8 +-
 java/org/apache/jasper/runtime/JspFactoryImpl.java |  7 +-
 java/org/apache/jasper/servlet/JspServlet.java     | 11 +--
 java/org/apache/juli/ClassLoaderLogManager.java    | 33 +++-----
 .../apache/naming/factory/MailSessionFactory.java  | 93 +++++++++++-----------
 .../org/apache/naming/factory/SendMailFactory.java | 62 +++++++--------
 .../org/apache/tomcat/util/compat/JrePlatform.java |  8 +-
 19 files changed, 141 insertions(+), 278 deletions(-)

diff --git a/java/javax/el/BeanELResolver.java b/java/javax/el/BeanELResolver.java
index 3f4b454..50c7e13 100644
--- a/java/javax/el/BeanELResolver.java
+++ b/java/javax/el/BeanELResolver.java
@@ -46,13 +46,7 @@ public class BeanELResolver extends ELResolver {
             cacheSizeStr = System.getProperty(CACHE_SIZE_PROP, "1000");
         } else {
             cacheSizeStr = AccessController.doPrivileged(
-                    new PrivilegedAction<String>() {
-
-                    @Override
-                    public String run() {
-                        return System.getProperty(CACHE_SIZE_PROP, "1000");
-                    }
-                });
+                    (PrivilegedAction<String>) () -> System.getProperty(CACHE_SIZE_PROP, "1000"));
         }
         CACHE_SIZE = Integer.parseInt(cacheSizeStr);
     }
diff --git a/java/javax/el/ExpressionFactory.java b/java/javax/el/ExpressionFactory.java
index 2f42de7..2d2edba 100644
--- a/java/javax/el/ExpressionFactory.java
+++ b/java/javax/el/ExpressionFactory.java
@@ -58,14 +58,8 @@ public abstract class ExpressionFactory {
     static {
         if (IS_SECURITY_ENABLED) {
             PROPERTY_FILE = AccessController.doPrivileged(
-                    new PrivilegedAction<String>(){
-                        @Override
-                        public String run() {
-                            return System.getProperty("java.home") + File.separator +
-                                    "lib" + File.separator + "el.properties";
-                        }
-
-                    }
+                    (PrivilegedAction<String>) () -> System.getProperty("java.home") + File.separator +
+                            "lib" + File.separator + "el.properties"
             );
         } else {
             PROPERTY_FILE = System.getProperty("java.home") + File.separator + "lib" +
@@ -333,14 +327,7 @@ public abstract class ExpressionFactory {
         className = getClassNameServices(tccl);
         if (className == null) {
             if (IS_SECURITY_ENABLED) {
-                className = AccessController.doPrivileged(
-                        new PrivilegedAction<String>() {
-                            @Override
-                            public String run() {
-                                return getClassNameJreDir();
-                            }
-                        }
-                );
+                className = AccessController.doPrivileged((PrivilegedAction<String>) ExpressionFactory::getClassNameJreDir);
             } else {
                 // Second el.properties file
                 className = getClassNameJreDir();
@@ -348,14 +335,7 @@ public abstract class ExpressionFactory {
         }
         if (className == null) {
             if (IS_SECURITY_ENABLED) {
-                className = AccessController.doPrivileged(
-                        new PrivilegedAction<String>() {
-                            @Override
-                            public String run() {
-                                return getClassNameSysProp();
-                            }
-                        }
-                );
+                className = AccessController.doPrivileged((PrivilegedAction<String>) ExpressionFactory::getClassNameSysProp);
             } else {
                 // Third system property
                 className = getClassNameSysProp();
diff --git a/java/javax/security/auth/message/config/AuthConfigFactory.java b/java/javax/security/auth/message/config/AuthConfigFactory.java
index b27235b..8356924 100644
--- a/java/javax/security/auth/message/config/AuthConfigFactory.java
+++ b/java/javax/security/auth/message/config/AuthConfigFactory.java
@@ -64,22 +64,18 @@ public abstract class AuthConfigFactory {
                 final String className = getFactoryClassName();
                 try {
                     factory = AccessController.doPrivileged(
-                            new PrivilegedExceptionAction<AuthConfigFactory>() {
-                        @Override
-                        public AuthConfigFactory run() throws ReflectiveOperationException,
-                                IllegalArgumentException, SecurityException {
-                            // Load this class with the same class loader as used for
-                            // this class. Note that the Thread context class loader
-                            // should not be used since that would trigger a memory leak
-                            // in container environments.
-                            if (className.equals("org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl")) {
-                                return new org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl();
-                            } else {
-                                Class<?> clazz = Class.forName(className);
-                                return (AuthConfigFactory) clazz.getConstructor().newInstance();
-                            }
-                        }
-                    });
+                            (PrivilegedExceptionAction<AuthConfigFactory>) () -> {
+                                // Load this class with the same class loader as used for
+                                // this class. Note that the Thread context class loader
+                                // should not be used since that would trigger a memory leak
+                                // in container environments.
+                                if (className.equals("org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl")) {
+                                    return new org.apache.catalina.authenticator.jaspic.AuthConfigFactoryImpl();
+                                } else {
+                                    Class<?> clazz = Class.forName(className);
+                                    return (AuthConfigFactory) clazz.getConstructor().newInstance();
+                                }
+                            });
                 } catch (PrivilegedActionException e) {
                     Exception inner = e.getException();
                     if (inner instanceof InstantiationException) {
@@ -130,12 +126,8 @@ public abstract class AuthConfigFactory {
     }
 
     private static String getFactoryClassName() {
-        String className = AccessController.doPrivileged(new PrivilegedAction<String>() {
-            @Override
-            public String run() {
-                return Security.getProperty(DEFAULT_FACTORY_SECURITY_PROPERTY);
-            }
-        });
+        String className = AccessController.doPrivileged(
+                (PrivilegedAction<String>) () -> Security.getProperty(DEFAULT_FACTORY_SECURITY_PROPERTY));
 
         if (className != null) {
             return className;
diff --git a/java/javax/servlet/http/Cookie.java b/java/javax/servlet/http/Cookie.java
index 1ee31d4..e50bebe 100644
--- a/java/javax/servlet/http/Cookie.java
+++ b/java/javax/servlet/http/Cookie.java
@@ -73,32 +73,14 @@ public class Cookie implements Cloneable, Serializable {
                     "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR");
         } else {
             strictServletCompliance = AccessController.doPrivileged(
-                    new PrivilegedAction<Boolean>() {
-                        @Override
-                        public Boolean run() {
-                            return Boolean.valueOf(System.getProperty(
-                                    "org.apache.catalina.STRICT_SERVLET_COMPLIANCE"));
-                        }
-                    }
-                ).booleanValue();
+                    (PrivilegedAction<Boolean>) () -> Boolean.valueOf(System.getProperty(
+                            "org.apache.catalina.STRICT_SERVLET_COMPLIANCE")));
             propStrictNaming = AccessController.doPrivileged(
-                    new PrivilegedAction<String>() {
-                        @Override
-                        public String run() {
-                            return System.getProperty(
-                                    "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING");
-                        }
-                    }
-                );
+                    (PrivilegedAction<String>) () -> System.getProperty(
+                            "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING"));
             propFwdSlashIsSeparator = AccessController.doPrivileged(
-                    new PrivilegedAction<String>() {
-                        @Override
-                        public String run() {
-                            return System.getProperty(
-                                    "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR");
-                        }
-                    }
-                );
+                    (PrivilegedAction<String>) () -> System.getProperty(
+                            "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR"));
         }
 
         if (propStrictNaming == null) {
diff --git a/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java b/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
index a8f8834..d911e77 100644
--- a/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
+++ b/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
@@ -216,15 +216,10 @@ public class SpnegoAuthenticator extends AuthenticatorBase {
                 credentialLifetime = GSSCredential.DEFAULT_LIFETIME;
             }
             final PrivilegedExceptionAction<GSSCredential> action =
-                new PrivilegedExceptionAction<GSSCredential>() {
-                    @Override
-                    public GSSCredential run() throws GSSException {
-                        return manager.createCredential(null,
-                                credentialLifetime,
-                                new Oid("1.3.6.1.5.5.2"),
-                                GSSCredential.ACCEPT_ONLY);
-                    }
-                };
+                    () -> manager.createCredential(null,
+                            credentialLifetime,
+                            new Oid("1.3.6.1.5.5.2"),
+                            GSSCredential.ACCEPT_ONLY);
             gssContext = manager.createContext(Subject.doAs(subject, action));
 
             outToken = Subject.doAs(lc.getSubject(), new AcceptAction(gssContext, decoded));
diff --git a/java/org/apache/catalina/core/ApplicationFilterChain.java b/java/org/apache/catalina/core/ApplicationFilterChain.java
index f212c46..19da3a6 100644
--- a/java/org/apache/catalina/core/ApplicationFilterChain.java
+++ b/java/org/apache/catalina/core/ApplicationFilterChain.java
@@ -142,14 +142,10 @@ public final class ApplicationFilterChain implements FilterChain {
             final ServletResponse res = response;
             try {
                 java.security.AccessController.doPrivileged(
-                    new java.security.PrivilegedExceptionAction<Void>() {
-                        @Override
-                        public Void run()
-                            throws ServletException, IOException {
+                        (java.security.PrivilegedExceptionAction<Void>) () -> {
                             internalDoFilter(req,res);
                             return null;
                         }
-                    }
                 );
             } catch( PrivilegedActionException pe) {
                 Exception e = pe.getException();
diff --git a/java/org/apache/catalina/security/SecurityUtil.java b/java/org/apache/catalina/security/SecurityUtil.java
index 4a550ea..fa0f83d 100644
--- a/java/org/apache/catalina/security/SecurityUtil.java
+++ b/java/org/apache/catalina/security/SecurityUtil.java
@@ -276,13 +276,10 @@ public final class SecurityUtil{
         try{
             Subject subject = null;
             PrivilegedExceptionAction<Void> pea =
-                new PrivilegedExceptionAction<Void>(){
-                    @Override
-                    public Void run() throws Exception{
+                    () -> {
                        method.invoke(targetObject, targetArguments);
                        return null;
-                    }
-            };
+                    };
 
             // The first argument is always the request object
             if (targetArguments != null
diff --git a/java/org/apache/catalina/startup/ClassLoaderFactory.java b/java/org/apache/catalina/startup/ClassLoaderFactory.java
index 2be5613..110b702 100644
--- a/java/org/apache/catalina/startup/ClassLoaderFactory.java
+++ b/java/org/apache/catalina/startup/ClassLoaderFactory.java
@@ -126,14 +126,11 @@ public final class ClassLoaderFactory {
         // Construct the class loader itself
         final URL[] array = set.toArray(new URL[0]);
         return AccessController.doPrivileged(
-                new PrivilegedAction<URLClassLoader>() {
-                    @Override
-                    public URLClassLoader run() {
-                        if (parent == null) {
-                            return new URLClassLoader(array);
-                        } else {
-                            return new URLClassLoader(array, parent);
-                        }
+                (PrivilegedAction<URLClassLoader>) () -> {
+                    if (parent == null) {
+                        return new URLClassLoader(array);
+                    } else {
+                        return new URLClassLoader(array, parent);
                     }
                 });
     }
@@ -229,14 +226,11 @@ public final class ClassLoaderFactory {
             }
 
         return AccessController.doPrivileged(
-                new PrivilegedAction<URLClassLoader>() {
-                    @Override
-                    public URLClassLoader run() {
-                        if (parent == null)
-                            return new URLClassLoader(array);
-                        else
-                            return new URLClassLoader(array, parent);
-                    }
+                (PrivilegedAction<URLClassLoader>) () -> {
+                    if (parent == null)
+                        return new URLClassLoader(array);
+                    else
+                        return new URLClassLoader(array, parent);
                 });
     }
 
diff --git a/java/org/apache/catalina/util/Introspection.java b/java/org/apache/catalina/util/Introspection.java
index 9999bba..5c9bc2b 100644
--- a/java/org/apache/catalina/util/Introspection.java
+++ b/java/org/apache/catalina/util/Introspection.java
@@ -99,13 +99,7 @@ public class Introspection {
     public static Field[] getDeclaredFields(final Class<?> clazz) {
         Field[] fields = null;
         if (Globals.IS_SECURITY_ENABLED) {
-            fields = AccessController.doPrivileged(
-                    new PrivilegedAction<Field[]>(){
-                @Override
-                public Field[] run(){
-                    return clazz.getDeclaredFields();
-                }
-            });
+            fields = AccessController.doPrivileged((PrivilegedAction<Field[]>) clazz::getDeclaredFields);
         } else {
             fields = clazz.getDeclaredFields();
         }
@@ -122,13 +116,7 @@ public class Introspection {
     public static Method[] getDeclaredMethods(final Class<?> clazz) {
         Method[] methods = null;
         if (Globals.IS_SECURITY_ENABLED) {
-            methods = AccessController.doPrivileged(
-                    new PrivilegedAction<Method[]>(){
-                @Override
-                public Method[] run(){
-                    return clazz.getDeclaredMethods();
-                }
-            });
+            methods = AccessController.doPrivileged((PrivilegedAction<Method[]>) clazz::getDeclaredMethods);
         } else {
             methods = clazz.getDeclaredMethods();
         }
diff --git a/java/org/apache/el/lang/ELSupport.java b/java/org/apache/el/lang/ELSupport.java
index 5b07838..a81c6a1 100644
--- a/java/org/apache/el/lang/ELSupport.java
+++ b/java/org/apache/el/lang/ELSupport.java
@@ -48,13 +48,8 @@ public class ELSupport {
         String coerceToZeroStr;
         if (System.getSecurityManager() != null) {
             coerceToZeroStr = AccessController.doPrivileged(
-                    new PrivilegedAction<String>(){
-                        @Override
-                        public String run() {
-                            return System.getProperty(
-                                    "org.apache.el.parser.COERCE_TO_ZERO", "false");
-                        }
-                    }
+                    (PrivilegedAction<String>) () -> System.getProperty(
+                            "org.apache.el.parser.COERCE_TO_ZERO", "false")
             );
         } else {
             coerceToZeroStr = System.getProperty(
diff --git a/java/org/apache/el/lang/ExpressionBuilder.java b/java/org/apache/el/lang/ExpressionBuilder.java
index 6c3620b..252ba51 100644
--- a/java/org/apache/el/lang/ExpressionBuilder.java
+++ b/java/org/apache/el/lang/ExpressionBuilder.java
@@ -60,13 +60,7 @@ public final class ExpressionBuilder implements NodeVisitor {
             cacheSizeStr = System.getProperty(CACHE_SIZE_PROP, "5000");
         } else {
             cacheSizeStr = AccessController.doPrivileged(
-                    new PrivilegedAction<String>() {
-
-                    @Override
-                    public String run() {
-                        return System.getProperty(CACHE_SIZE_PROP, "5000");
-                    }
-                });
+                    (PrivilegedAction<String>) () -> System.getProperty(CACHE_SIZE_PROP, "5000"));
         }
         CACHE_SIZE = Integer.parseInt(cacheSizeStr);
     }
diff --git a/java/org/apache/el/util/Validation.java b/java/org/apache/el/util/Validation.java
index 09a5ebe..61fbe0a 100644
--- a/java/org/apache/el/util/Validation.java
+++ b/java/org/apache/el/util/Validation.java
@@ -42,15 +42,7 @@ public class Validation {
         String skipIdentifierCheckStr;
         if (IS_SECURITY_ENABLED) {
             skipIdentifierCheckStr = AccessController.doPrivileged(
-                    new PrivilegedAction<String>(){
-                        @Override
-                        public String run() {
-                            return System.getProperty(
-                                    "org.apache.el.parser.SKIP_IDENTIFIER_CHECK",
-                                    "false");
-                        }
-                    }
-            );
+                    (PrivilegedAction<String>) () -> System.getProperty("org.apache.el.parser.SKIP_IDENTIFIER_CHECK", "false"));
         } else {
             skipIdentifierCheckStr = System.getProperty(
                     "org.apache.el.parser.SKIP_IDENTIFIER_CHECK", "false");
diff --git a/java/org/apache/jasper/runtime/JspApplicationContextImpl.java b/java/org/apache/jasper/runtime/JspApplicationContextImpl.java
index 0d8b68f..c4cf318 100644
--- a/java/org/apache/jasper/runtime/JspApplicationContextImpl.java
+++ b/java/org/apache/jasper/runtime/JspApplicationContextImpl.java
@@ -90,13 +90,7 @@ public class JspApplicationContextImpl implements JspApplicationContext {
         final ELResolver r = this.createELResolver();
         ELContextImpl ctx;
         if (Constants.IS_SECURITY_ENABLED) {
-            ctx = AccessController.doPrivileged(
-                    new PrivilegedAction<ELContextImpl>() {
-                        @Override
-                        public ELContextImpl run() {
-                            return new ELContextImpl(r);
-                        }
-                    });
+            ctx = AccessController.doPrivileged((PrivilegedAction<ELContextImpl>) () -> new ELContextImpl(r));
         } else {
             ctx = new ELContextImpl(r);
         }
diff --git a/java/org/apache/jasper/runtime/JspFactoryImpl.java b/java/org/apache/jasper/runtime/JspFactoryImpl.java
index 7f05c82..e815928 100644
--- a/java/org/apache/jasper/runtime/JspFactoryImpl.java
+++ b/java/org/apache/jasper/runtime/JspFactoryImpl.java
@@ -206,12 +206,7 @@ public class JspFactoryImpl extends JspFactory {
             final ServletContext context) {
         if (Constants.IS_SECURITY_ENABLED) {
             return AccessController.doPrivileged(
-                    new PrivilegedAction<JspApplicationContext>() {
-                @Override
-                public JspApplicationContext run() {
-                    return JspApplicationContextImpl.getInstance(context);
-                }
-            });
+                    (PrivilegedAction<JspApplicationContext>) () -> JspApplicationContextImpl.getInstance(context));
         } else {
             return JspApplicationContextImpl.getInstance(context);
         }
diff --git a/java/org/apache/jasper/servlet/JspServlet.java b/java/org/apache/jasper/servlet/JspServlet.java
index ae9788b..63c0243 100644
--- a/java/org/apache/jasper/servlet/JspServlet.java
+++ b/java/org/apache/jasper/servlet/JspServlet.java
@@ -128,13 +128,10 @@ public class JspServlet extends HttpServlet implements PeriodicEventListener {
             }
             try {
                 if (SecurityUtil.isPackageProtectionEnabled()){
-                   AccessController.doPrivileged(new PrivilegedExceptionAction<Object>(){
-                        @Override
-                        public Object run() throws IOException, ServletException {
-                            serviceJspFile(null, null, jspFile, true);
-                            return null;
-                        }
-                    });
+                   AccessController.doPrivileged((PrivilegedExceptionAction<Object>) () -> {
+                       serviceJspFile(null, null, jspFile, true);
+                       return null;
+                   });
                 } else {
                     serviceJspFile(null, null, jspFile, true);
                 }
diff --git a/java/org/apache/juli/ClassLoaderLogManager.java b/java/org/apache/juli/ClassLoaderLogManager.java
index a04285c..5672761 100644
--- a/java/org/apache/juli/ClassLoaderLogManager.java
+++ b/java/org/apache/juli/ClassLoaderLogManager.java
@@ -162,12 +162,9 @@ public class ClassLoaderLogManager extends LogManager {
         final String levelString = getProperty(loggerName + ".level");
         if (levelString != null) {
             try {
-                AccessController.doPrivileged(new PrivilegedAction<Void>() {
-                    @Override
-                    public Void run() {
-                        logger.setLevel(Level.parse(levelString.trim()));
-                        return null;
-                    }
+                AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+                    logger.setLevel(Level.parse(levelString.trim()));
+                    return null;
                 });
             } catch (IllegalArgumentException e) {
                 // Leave level set to null
@@ -422,16 +419,13 @@ public class ClassLoaderLogManager extends LogManager {
         ClassLoaderLogInfo info = classLoaderLoggers.get(classLoader);
         if (info == null) {
             final ClassLoader classLoaderParam = classLoader;
-            AccessController.doPrivileged(new PrivilegedAction<Void>() {
-                @Override
-                public Void run() {
-                    try {
-                        readConfiguration(classLoaderParam);
-                    } catch (IOException e) {
-                        // Ignore
-                    }
-                    return null;
+            AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+                try {
+                    readConfiguration(classLoaderParam);
+                } catch (IOException e) {
+                    // Ignore
                 }
+                return null;
             });
             info = classLoaderLoggers.get(classLoader);
         }
@@ -626,12 +620,9 @@ public class ClassLoaderLogManager extends LogManager {
      */
     protected static void doSetParentLogger(final Logger logger,
             final Logger parent) {
-        AccessController.doPrivileged(new PrivilegedAction<Void>() {
-            @Override
-            public Void run() {
-                logger.setParent(parent);
-                return null;
-            }
+        AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+            logger.setParent(parent);
+            return null;
         });
     }
 
diff --git a/java/org/apache/naming/factory/MailSessionFactory.java b/java/org/apache/naming/factory/MailSessionFactory.java
index fc87930..5b0b120 100644
--- a/java/org/apache/naming/factory/MailSessionFactory.java
+++ b/java/org/apache/naming/factory/MailSessionFactory.java
@@ -101,55 +101,52 @@ public class MailSessionFactory implements ObjectFactory {
         // exceptions.
         //
         // Bugzilla 31288, 33077: add support for authentication.
-        return AccessController.doPrivileged(new PrivilegedAction<Session>() {
-                @Override
-                public Session run() {
-
-                    // Create the JavaMail properties we will use
-                    Properties props = new Properties();
-                    props.put("mail.transport.protocol", "smtp");
-                    props.put("mail.smtp.host", "localhost");
-
-                    String password = null;
-
-                    Enumeration<RefAddr> attrs = ref.getAll();
-                    while (attrs.hasMoreElements()) {
-                        RefAddr attr = attrs.nextElement();
-                        if ("factory".equals(attr.getType())) {
-                            continue;
-                        }
-
-                        if ("password".equals(attr.getType())) {
-                            password = (String) attr.getContent();
-                            continue;
-                        }
-
-                        props.put(attr.getType(), attr.getContent());
-                    }
-
-                    Authenticator auth = null;
-                    if (password != null) {
-                        String user = props.getProperty("mail.smtp.user");
-                        if(user == null) {
-                            user = props.getProperty("mail.user");
-                        }
-
-                        if(user != null) {
-                            final PasswordAuthentication pa = new PasswordAuthentication(user, password);
-                            auth = new Authenticator() {
-                                    @Override
-                                    protected PasswordAuthentication getPasswordAuthentication() {
-                                        return pa;
-                                    }
-                                };
-                        }
-                    }
-
-                    // Create and return the new Session object
-                    Session session = Session.getInstance(props, auth);
-                    return session;
+        return AccessController.doPrivileged((PrivilegedAction<Session>) () -> {
 
+            // Create the JavaMail properties we will use
+            Properties props = new Properties();
+            props.put("mail.transport.protocol", "smtp");
+            props.put("mail.smtp.host", "localhost");
+
+            String password = null;
+
+            Enumeration<RefAddr> attrs = ref.getAll();
+            while (attrs.hasMoreElements()) {
+                RefAddr attr = attrs.nextElement();
+                if ("factory".equals(attr.getType())) {
+                    continue;
+                }
+
+                if ("password".equals(attr.getType())) {
+                    password = (String) attr.getContent();
+                    continue;
                 }
-        } );
+
+                props.put(attr.getType(), attr.getContent());
+            }
+
+            Authenticator auth = null;
+            if (password != null) {
+                String user = props.getProperty("mail.smtp.user");
+                if(user == null) {
+                    user = props.getProperty("mail.user");
+                }
+
+                if(user != null) {
+                    final PasswordAuthentication pa = new PasswordAuthentication(user, password);
+                    auth = new Authenticator() {
+                            @Override
+                            protected PasswordAuthentication getPasswordAuthentication() {
+                                return pa;
+                            }
+                        };
+                }
+            }
+
+            // Create and return the new Session object
+            Session session = Session.getInstance(props, auth);
+            return session;
+
+        });
     }
 }
diff --git a/java/org/apache/naming/factory/SendMailFactory.java b/java/org/apache/naming/factory/SendMailFactory.java
index 2c54640..972cee5 100644
--- a/java/org/apache/naming/factory/SendMailFactory.java
+++ b/java/org/apache/naming/factory/SendMailFactory.java
@@ -88,42 +88,38 @@ public class SendMailFactory implements ObjectFactory
         // throwing Security Exceptions
         if (ref.getClassName().equals(DataSourceClassName)) {
             return AccessController.doPrivileged(
-                    new PrivilegedAction<MimePartDataSource>()
-            {
-                @Override
-                public MimePartDataSource run() {
-                    // set up the smtp session that will send the message
-                    Properties props = new Properties();
-                    // enumeration of all refaddr
-                    Enumeration<RefAddr> list = ref.getAll();
-                    // current refaddr to be set
-                    RefAddr refaddr;
-                    // set transport to smtp
-                    props.put("mail.transport.protocol", "smtp");
+                    (PrivilegedAction<MimePartDataSource>) () -> {
+                        // set up the smtp session that will send the message
+                        Properties props = new Properties();
+                        // enumeration of all refaddr
+                        Enumeration<RefAddr> list = ref.getAll();
+                        // current refaddr to be set
+                        RefAddr refaddr;
+                        // set transport to smtp
+                        props.put("mail.transport.protocol", "smtp");
 
-                    while (list.hasMoreElements()) {
-                        refaddr = list.nextElement();
+                        while (list.hasMoreElements()) {
+                            refaddr = list.nextElement();
 
-                        // set property
-                        props.put(refaddr.getType(), refaddr.getContent());
-                    }
-                    MimeMessage message = new MimeMessage(
-                        Session.getInstance(props));
-                    try {
-                        RefAddr fromAddr = ref.get("mail.from");
-                        String from = null;
-                        if (fromAddr != null) {
-                            from = (String)ref.get("mail.from").getContent();
+                            // set property
+                            props.put(refaddr.getType(), refaddr.getContent());
                         }
-                        if (from != null) {
-                            message.setFrom(new InternetAddress(from));
-                        }
-                        message.setSubject("");
-                    } catch (Exception e) {/*Ignore*/}
-                    MimePartDataSource mds = new MimePartDataSource(message);
-                    return mds;
-                }
-            } );
+                        MimeMessage message = new MimeMessage(
+                            Session.getInstance(props));
+                        try {
+                            RefAddr fromAddr = ref.get("mail.from");
+                            String from = null;
+                            if (fromAddr != null) {
+                                from = (String)ref.get("mail.from").getContent();
+                            }
+                            if (from != null) {
+                                message.setFrom(new InternetAddress(from));
+                            }
+                            message.setSubject("");
+                        } catch (Exception e) {/*Ignore*/}
+                        MimePartDataSource mds = new MimePartDataSource(message);
+                        return mds;
+                    });
         } else { // We can't create an instance of the DataSource
             return null;
         }
diff --git a/java/org/apache/tomcat/util/compat/JrePlatform.java b/java/org/apache/tomcat/util/compat/JrePlatform.java
index 89c1bc7..66717d6 100644
--- a/java/org/apache/tomcat/util/compat/JrePlatform.java
+++ b/java/org/apache/tomcat/util/compat/JrePlatform.java
@@ -42,13 +42,7 @@ public class JrePlatform {
             osName = System.getProperty(OS_NAME_PROPERTY);
         } else {
             osName = AccessController.doPrivileged(
-                    new PrivilegedAction<String>() {
-
-                    @Override
-                    public String run() {
-                        return System.getProperty(OS_NAME_PROPERTY);
-                    }
-                });
+                    (PrivilegedAction<String>) () -> System.getProperty(OS_NAME_PROPERTY));
         }
 
         IS_MAC_OS = osName.toLowerCase(Locale.ENGLISH).startsWith("mac os x");


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


[tomcat] 10/12: 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 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit e343c61a73650879670c4cad6e3f0afa847e22d5
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] 12/12: 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 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 64a3ea59a016b32b4d6bd9beb5c42599c4d1b18a
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    |  8 ++---
 .../catalina/mbeans/MemoryUserDatabaseMBean.java   | 36 ++++++----------------
 .../catalina/mbeans/NamingResourcesMBean.java      | 18 ++++-------
 java/org/apache/catalina/mbeans/UserMBean.java     |  8 ++---
 java/org/apache/coyote/http2/Stream.java           |  3 +-
 java/org/apache/coyote/http2/StreamProcessor.java  |  3 +-
 .../org/apache/jasper/runtime/PageContextImpl.java |  6 ++--
 .../tomcat/util/scan/StandardJarScanner.java       |  4 +--
 10 files changed, 30 insertions(+), 78 deletions(-)

diff --git a/java/javax/security/auth/message/config/AuthConfigFactory.java b/java/javax/security/auth/message/config/AuthConfigFactory.java
index 8356924..3b89b87 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 f6ee6e0..e48c60d 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)) {
@@ -1660,10 +1657,7 @@ public class Response implements HttpServletResponse {
                             encodedURI = AccessController.doPrivileged(
                                     new PrivilegedEncodeUrl(urlEncoder, relativePath, pos));
                         } 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);
@@ -1676,10 +1670,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 46a6fc8..134e50d 100644
--- a/java/org/apache/catalina/mbeans/GroupMBean.java
+++ b/java/org/apache/catalina/mbeans/GroupMBean.java
@@ -68,9 +68,7 @@ public class GroupMBean extends BaseModelMBean {
                 ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), role);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException(sm.getString("userMBean.createError.role", role));
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException(sm.getString("userMBean.createError.role", role), e);
             }
         }
         return results.toArray(new String[0]);
@@ -92,9 +90,7 @@ public class GroupMBean extends BaseModelMBean {
                 ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), user);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException(sm.getString("userMBean.createError.user", user));
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException(sm.getString("userMBean.createError.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 c869914..b8fc248 100644
--- a/java/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java
+++ b/java/org/apache/catalina/mbeans/MemoryUserDatabaseMBean.java
@@ -136,9 +136,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
         try {
             MBeanUtils.createMBean(group);
         } catch (Exception e) {
-            IllegalArgumentException iae = new IllegalArgumentException(sm.getString("userMBean.createMBeanError.group", groupname));
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException(sm.getString("userMBean.createMBeanError.group", groupname), e);
         }
         return findGroup(groupname);
     }
@@ -157,9 +155,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
         try {
             MBeanUtils.createMBean(role);
         } catch (Exception e) {
-            IllegalArgumentException iae = new IllegalArgumentException(sm.getString("userMBean.createMBeanError.role", rolename));
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException(sm.getString("userMBean.createMBeanError.role", rolename), e);
         }
         return findRole(rolename);
     }
@@ -179,9 +175,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
         try {
             MBeanUtils.createMBean(user);
         } catch (Exception e) {
-            IllegalArgumentException iae = new IllegalArgumentException(sm.getString("userMBean.createMBeanError.user", username));
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException(sm.getString("userMBean.createMBeanError.user", username), e);
         }
         return findUser(username);
     }
@@ -204,9 +198,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
             ObjectName oname = MBeanUtils.createObjectName(managedGroup.getDomain(), group);
             return oname.toString();
         } catch (MalformedObjectNameException e) {
-            IllegalArgumentException iae = new IllegalArgumentException(sm.getString("userMBean.createError.group", groupname));
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException(sm.getString("userMBean.createError.group", groupname), e);
         }
     }
 
@@ -228,9 +220,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
             ObjectName oname = MBeanUtils.createObjectName(managedRole.getDomain(), role);
             return oname.toString();
         } catch (MalformedObjectNameException e) {
-            IllegalArgumentException iae = new IllegalArgumentException(sm.getString("userMBean.createError.role", rolename));
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException(sm.getString("userMBean.createError.role", rolename), e);
         }
 
     }
@@ -253,9 +243,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
             ObjectName oname = MBeanUtils.createObjectName(managedUser.getDomain(), user);
             return oname.toString();
         } catch (MalformedObjectNameException e) {
-            IllegalArgumentException iae = new IllegalArgumentException(sm.getString("userMBean.createError.user", username));
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException(sm.getString("userMBean.createError.user", username), e);
         }
     }
 
@@ -275,9 +263,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
             MBeanUtils.destroyMBean(group);
             database.removeGroup(group);
         } catch (Exception e) {
-            IllegalArgumentException iae = new IllegalArgumentException(sm.getString("userMBean.destroyError.group", groupname));
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException(sm.getString("userMBean.destroyError.group", groupname), e);
         }
     }
 
@@ -297,9 +283,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
             MBeanUtils.destroyMBean(role);
             database.removeRole(role);
         } catch (Exception e) {
-            IllegalArgumentException iae = new IllegalArgumentException(sm.getString("userMBean.destroyError.role", rolename));
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException(sm.getString("userMBean.destroyError.role", rolename), e);
         }
     }
 
@@ -319,9 +303,7 @@ public class MemoryUserDatabaseMBean extends BaseModelMBean {
             MBeanUtils.destroyMBean(user);
             database.removeUser(user);
         } catch (Exception e) {
-            IllegalArgumentException iae = new IllegalArgumentException(sm.getString("userMBean.destroyError.user", username));
-            iae.initCause(e);
-            throw iae;
+            throw new IllegalArgumentException(sm.getString("userMBean.destroyError.user", username), e);
         }
     }
 }
diff --git a/java/org/apache/catalina/mbeans/NamingResourcesMBean.java b/java/org/apache/catalina/mbeans/NamingResourcesMBean.java
index 81386e3..efd840c 100644
--- a/java/org/apache/catalina/mbeans/NamingResourcesMBean.java
+++ b/java/org/apache/catalina/mbeans/NamingResourcesMBean.java
@@ -70,10 +70,8 @@ public class NamingResourcesMBean extends BaseModelMBean {
                 ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), env);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException(
-                        sm.getString("namingResourcesMBean.createObjectNameError.environment", env));
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException(
+                        sm.getString("namingResourcesMBean.createObjectNameError.environment", env), e);
             }
         }
         return results.toArray(new String[0]);
@@ -93,10 +91,8 @@ public class NamingResourcesMBean extends BaseModelMBean {
                 ObjectName oname = MBeanUtils.createObjectName(managed.getDomain(), contextResource);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException(
-                        sm.getString("namingResourcesMBean.createObjectNameError.resource", contextResource));
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException(
+                        sm.getString("namingResourcesMBean.createObjectNameError.resource", contextResource), e);
             }
         }
         return results.toArray(new String[0]);
@@ -118,10 +114,8 @@ public class NamingResourcesMBean extends BaseModelMBean {
                         MBeanUtils.createObjectName(managed.getDomain(), resourceLink);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException(
-                        sm.getString("namingResourcesMBean.createObjectNameError.resourceLink", resourceLink));
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException(
+                        sm.getString("namingResourcesMBean.createObjectNameError.resourceLink", 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 d552f0e..47f4fb8 100644
--- a/java/org/apache/catalina/mbeans/UserMBean.java
+++ b/java/org/apache/catalina/mbeans/UserMBean.java
@@ -74,9 +74,7 @@ public class UserMBean extends BaseModelMBean {
                     MBeanUtils.createObjectName(managed.getDomain(), group);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException(sm.getString("userMBean.createError.group", group));
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException(sm.getString("userMBean.createError.group", group), e);
             }
         }
         return results.toArray(new String[0]);
@@ -99,9 +97,7 @@ public class UserMBean extends BaseModelMBean {
                     MBeanUtils.createObjectName(managed.getDomain(), role);
                 results.add(oname.toString());
             } catch (MalformedObjectNameException e) {
-                IllegalArgumentException iae = new IllegalArgumentException(sm.getString("userMBean.createError.role", role));
-                iae.initCause(e);
-                throw iae;
+                throw new IllegalArgumentException(sm.getString("userMBean.createError.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 982eae0..c9951c3 100644
--- a/java/org/apache/coyote/http2/Stream.java
+++ b/java/org/apache/coyote/http2/Stream.java
@@ -662,8 +662,7 @@ 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 862ea35..45bce39 100644
--- a/java/org/apache/coyote/http2/StreamProcessor.java
+++ b/java/org/apache/coyote/http2/StreamProcessor.java
@@ -104,8 +104,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 ddb3ef4..2339c63 100644
--- a/java/org/apache/jasper/runtime/PageContextImpl.java
+++ b/java/org/apache/jasper/runtime/PageContextImpl.java
@@ -510,10 +510,8 @@ 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 16a2396..c7e8f2c 100644
--- a/java/org/apache/tomcat/util/scan/StandardJarScanner.java
+++ b/java/org/apache/tomcat/util/scan/StandardJarScanner.java
@@ -412,9 +412,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] 07/12: Replace loops with Collection.removeIf() 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 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 389e1f3582c6d86389acb11f4fa00dff68d5ba69
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Wed Dec 2 01:34:34 2020 +0100

    Replace loops with Collection.removeIf() when possible
---
 java/org/apache/catalina/core/ApplicationPushBuilder.java      |  9 +--------
 java/org/apache/catalina/ssi/SSIMediator.java                  |  9 +--------
 java/org/apache/catalina/startup/WebappServiceLoader.java      |  8 +-------
 .../tomcat/buildutil/translate/BackportTranslations.java       | 10 +---------
 java/org/apache/tomcat/util/descriptor/web/WebXml.java         |  8 +-------
 .../tomcat/util/modeler/BaseNotificationBroadcaster.java       |  9 +--------
 6 files changed, 6 insertions(+), 47 deletions(-)

diff --git a/java/org/apache/catalina/core/ApplicationPushBuilder.java b/java/org/apache/catalina/core/ApplicationPushBuilder.java
index cc81243..805d32c 100644
--- a/java/org/apache/catalina/core/ApplicationPushBuilder.java
+++ b/java/org/apache/catalina/core/ApplicationPushBuilder.java
@@ -22,7 +22,6 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -147,13 +146,7 @@ public class ApplicationPushBuilder implements PushBuilder {
             if (responseCookie.getMaxAge() < 0) {
                 // Path information not available so can only remove based on
                 // name.
-                Iterator<Cookie> cookieIterator = cookies.iterator();
-                while (cookieIterator.hasNext()) {
-                    Cookie cookie = cookieIterator.next();
-                    if (cookie.getName().equals(responseCookie.getName())) {
-                        cookieIterator.remove();
-                    }
-                }
+                cookies.removeIf(cookie -> cookie.getName().equals(responseCookie.getName()));
             } else {
                 cookies.add(new Cookie(responseCookie.getName(), responseCookie.getValue()));
             }
diff --git a/java/org/apache/catalina/ssi/SSIMediator.java b/java/org/apache/catalina/ssi/SSIMediator.java
index 1a1c892..3de7bd5 100644
--- a/java/org/apache/catalina/ssi/SSIMediator.java
+++ b/java/org/apache/catalina/ssi/SSIMediator.java
@@ -21,7 +21,6 @@ import java.nio.charset.StandardCharsets;
 import java.util.Collection;
 import java.util.Date;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.Locale;
 import java.util.Set;
 import java.util.TimeZone;
@@ -127,13 +126,7 @@ public class SSIMediator {
         variableNames.add("LAST_MODIFIED");
         ssiExternalResolver.addVariableNames(variableNames);
         //Remove any variables that are reserved by this class
-        Iterator<String> iter = variableNames.iterator();
-        while (iter.hasNext()) {
-            String name = iter.next();
-            if (isNameReserved(name)) {
-                iter.remove();
-            }
-        }
+        variableNames.removeIf(this::isNameReserved);
         return variableNames;
     }
 
diff --git a/java/org/apache/catalina/startup/WebappServiceLoader.java b/java/org/apache/catalina/startup/WebappServiceLoader.java
index 73394ac..4e250b4 100644
--- a/java/org/apache/catalina/startup/WebappServiceLoader.java
+++ b/java/org/apache/catalina/startup/WebappServiceLoader.java
@@ -27,7 +27,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
@@ -124,12 +123,7 @@ public class WebappServiceLoader<T> {
 
         // Filter the discovered container SCIs if required
         if (containerSciFilterPattern != null) {
-            Iterator<String> iter = containerServiceClassNames.iterator();
-            while (iter.hasNext()) {
-                if (containerSciFilterPattern.matcher(iter.next()).find()) {
-                    iter.remove();
-                }
-            }
+            containerServiceClassNames.removeIf(s -> containerSciFilterPattern.matcher(s).find());
         }
 
         // Obtaining the application provided configuration files is a little
diff --git a/java/org/apache/tomcat/buildutil/translate/BackportTranslations.java b/java/org/apache/tomcat/buildutil/translate/BackportTranslations.java
index 1da15de..cb20a01 100644
--- a/java/org/apache/tomcat/buildutil/translate/BackportTranslations.java
+++ b/java/org/apache/tomcat/buildutil/translate/BackportTranslations.java
@@ -17,8 +17,6 @@
 package org.apache.tomcat.buildutil.translate;
 
 import java.io.IOException;
-import java.util.Iterator;
-import java.util.Map;
 import java.util.Properties;
 
 /**
@@ -63,13 +61,7 @@ public class BackportTranslations extends BackportBase {
             }
 
             // Remove translated values for keys that have been removed
-            Iterator<Map.Entry<Object,Object>> iter = targetTranslated.entrySet().iterator();
-            while (iter.hasNext()) {
-                Map.Entry<Object,Object> entry = iter.next();
-                if (!targetEnglish.containsKey(entry.getKey())) {
-                    iter.remove();
-                }
-            }
+            targetTranslated.entrySet().removeIf(entry -> !targetEnglish.containsKey(entry.getKey()));
             Utils.export(language, targetTranslated, storageDir);
         }
     }
diff --git a/java/org/apache/tomcat/util/descriptor/web/WebXml.java b/java/org/apache/tomcat/util/descriptor/web/WebXml.java
index ed40733..741b1c2 100644
--- a/java/org/apache/tomcat/util/descriptor/web/WebXml.java
+++ b/java/org/apache/tomcat/util/descriptor/web/WebXml.java
@@ -2388,13 +2388,7 @@ public class WebXml extends XmlEncodingBase implements DocumentProperties.Charse
             names.add(fragment.getName());
         }
         for (WebXml fragment : group) {
-            Iterator<String> after = fragment.getAfterOrdering().iterator();
-            while (after.hasNext()) {
-                String entry = after.next();
-                if (!names.contains(entry)) {
-                    after.remove();
-                }
-            }
+            fragment.getAfterOrdering().removeIf(entry -> !names.contains(entry));
         }
     }
     private static void orderFragments(Set<WebXml> orderedFragments,
diff --git a/java/org/apache/tomcat/util/modeler/BaseNotificationBroadcaster.java b/java/org/apache/tomcat/util/modeler/BaseNotificationBroadcaster.java
index 9795cf8..0b82be0 100644
--- a/java/org/apache/tomcat/util/modeler/BaseNotificationBroadcaster.java
+++ b/java/org/apache/tomcat/util/modeler/BaseNotificationBroadcaster.java
@@ -20,7 +20,6 @@ package org.apache.tomcat.util.modeler;
 
 
 import java.util.ArrayList;
-import java.util.Iterator;
 
 import javax.management.ListenerNotFoundException;
 import javax.management.MBeanNotificationInfo;
@@ -135,13 +134,7 @@ public class BaseNotificationBroadcaster implements NotificationBroadcaster {
         throws ListenerNotFoundException {
 
         synchronized (entries) {
-            Iterator<BaseNotificationBroadcasterEntry> items =
-                entries.iterator();
-            while (items.hasNext()) {
-                BaseNotificationBroadcasterEntry item = items.next();
-                if (item.listener == listener)
-                    items.remove();
-            }
+            entries.removeIf(item -> item.listener == listener);
         }
 
     }


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


[tomcat] 01/12: 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 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit b47fb6af157169e0278d1fbb8fe6d998ee0356b6
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 +-
 java/org/apache/tomcat/util/json/JSONParser.java         |  4 ++--
 java/org/apache/tomcat/util/json/JSONParser.jj           |  4 ++--
 4 files changed, 13 insertions(+), 13 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();
diff --git a/java/org/apache/tomcat/util/json/JSONParser.java b/java/org/apache/tomcat/util/json/JSONParser.java
index 6ae58fa..10e483f 100644
--- a/java/org/apache/tomcat/util/json/JSONParser.java
+++ b/java/org/apache/tomcat/util/json/JSONParser.java
@@ -329,7 +329,7 @@ b = Boolean.FALSE;
     case NUMBER_DECIMAL:{
       t = jj_consume_token(NUMBER_DECIMAL);
 if (nativeNumbers) {
-                {if ("" != null) return new Long(t.image);}
+                {if ("" != null) return Long.valueOf(t.image);}
             } else {
                 {if ("" != null) return new java.math.BigDecimal(t.image);}
             }
@@ -338,7 +338,7 @@ if (nativeNumbers) {
     case NUMBER_INTEGER:{
       t = jj_consume_token(NUMBER_INTEGER);
 if (nativeNumbers) {
-                {if ("" != null) return new Double(t.image);}
+                {if ("" != null) return Double.valueOf(t.image);}
             } else {
                 {if ("" != null) return new java.math.BigInteger(substringBefore(t.image, '.'));}
             }
diff --git a/java/org/apache/tomcat/util/json/JSONParser.jj b/java/org/apache/tomcat/util/json/JSONParser.jj
index b00633b..ce04438 100644
--- a/java/org/apache/tomcat/util/json/JSONParser.jj
+++ b/java/org/apache/tomcat/util/json/JSONParser.jj
@@ -324,7 +324,7 @@ Number number(): {
         t = <NUMBER_DECIMAL>
         {
             if (nativeNumbers) {
-                return new Long(t.image);
+                return Long.valueOf(t.image);
             } else {
                 return new java.math.BigDecimal(t.image);
             }
@@ -333,7 +333,7 @@ Number number(): {
         t = <NUMBER_INTEGER>
         {
             if (nativeNumbers) {
-                return new Double(t.image);
+                return Double.valueOf(t.image);
             } else {
                 return new java.math.BigInteger(substringBefore(t.image, '.'));
             }


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


[tomcat] 03/12: Use method references instead of lambda expressions 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 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 490f3fca007c06ccf28c8a1cc2aa2e0578958ba0
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Wed Dec 2 00:55:34 2020 +0100

    Use method references instead of lambda expressions when possible
---
 .../apache/catalina/filters/RestCsrfPreventionFilter.java  | 14 +++++---------
 java/org/apache/catalina/users/MemoryGroup.java            |  2 +-
 java/org/apache/coyote/http2/Http2UpgradeHandler.java      |  2 +-
 java/org/apache/tomcat/util/modeler/ManagedBean.java       |  2 +-
 .../xreflection/ObjectReflectionPropertyInspector.java     |  2 +-
 5 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/java/org/apache/catalina/filters/RestCsrfPreventionFilter.java b/java/org/apache/catalina/filters/RestCsrfPreventionFilter.java
index 44f5da1..a33b68e 100644
--- a/java/org/apache/catalina/filters/RestCsrfPreventionFilter.java
+++ b/java/org/apache/catalina/filters/RestCsrfPreventionFilter.java
@@ -129,16 +129,13 @@ public class RestCsrfPreventionFilter extends CsrfPreventionFilterBase {
     }
 
     private static interface RestCsrfPreventionStrategy {
-        static final NonceSupplier<HttpServletRequest, String> nonceFromRequestHeader = (r, k) -> r
-                .getHeader(k);
-        static final NonceSupplier<HttpServletRequest, String[]> nonceFromRequestParams = (r, k) -> r
-                .getParameterValues(k);
+        static final NonceSupplier<HttpServletRequest, String> nonceFromRequestHeader = HttpServletRequest::getHeader;
+        static final NonceSupplier<HttpServletRequest, String[]> nonceFromRequestParams = ServletRequest::getParameterValues;
         static final NonceSupplier<HttpSession, String> nonceFromSession = (s, k) -> Objects
                 .isNull(s) ? null : (String) s.getAttribute(k);
 
-        static final NonceConsumer<HttpServletResponse> nonceToResponse = (r, k, v) -> r.setHeader(
-                k, v);
-        static final NonceConsumer<HttpSession> nonceToSession = (s, k, v) -> s.setAttribute(k, v);
+        static final NonceConsumer<HttpServletResponse> nonceToResponse = HttpServletResponse::setHeader;
+        static final NonceConsumer<HttpSession> nonceToSession = HttpSession::setAttribute;
 
         boolean apply(HttpServletRequest request, HttpServletResponse response) throws IOException;
     }
@@ -194,8 +191,7 @@ public class RestCsrfPreventionFilter extends CsrfPreventionFilterBase {
     }
 
     private class FetchRequest implements RestCsrfPreventionStrategy {
-        private final Predicate<String> fetchRequest = s -> Constants.CSRF_REST_NONCE_HEADER_FETCH_VALUE
-                .equalsIgnoreCase(s);
+        private final Predicate<String> fetchRequest = Constants.CSRF_REST_NONCE_HEADER_FETCH_VALUE::equalsIgnoreCase;
 
         @Override
         public boolean apply(HttpServletRequest request, HttpServletResponse response) {
diff --git a/java/org/apache/catalina/users/MemoryGroup.java b/java/org/apache/catalina/users/MemoryGroup.java
index 2d793e6..5a8a12c 100644
--- a/java/org/apache/catalina/users/MemoryGroup.java
+++ b/java/org/apache/catalina/users/MemoryGroup.java
@@ -187,7 +187,7 @@ public class MemoryGroup extends AbstractGroup {
         synchronized (roles) {
             if (roles.size() > 0) {
                 sb.append(" roles=\"");
-                StringUtils.join(roles, ',', (x) -> x.getRolename(), sb);
+                StringUtils.join(roles, ',', Role::getRolename, sb);
                 sb.append("\"");
             }
         }
diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
index 79f2bad..3da15af 100644
--- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
@@ -1839,7 +1839,7 @@ class Http2UpgradeHandler extends AbstractStream implements InternalHttpUpgradeH
         }
 
         public long getRoundTripTimeNano() {
-            return (long) roundTripTimes.stream().mapToLong(x -> x.longValue()).average().orElse(0);
+            return (long) roundTripTimes.stream().mapToLong(Long::longValue).average().orElse(0);
         }
     }
 
diff --git a/java/org/apache/tomcat/util/modeler/ManagedBean.java b/java/org/apache/tomcat/util/modeler/ManagedBean.java
index 6215200..36084ad 100644
--- a/java/org/apache/tomcat/util/modeler/ManagedBean.java
+++ b/java/org/apache/tomcat/util/modeler/ManagedBean.java
@@ -559,7 +559,7 @@ public class ManagedBean implements java.io.Serializable {
     private String createOperationKey(OperationInfo operation) {
         StringBuilder key = new StringBuilder(operation.getName());
         key.append('(');
-        StringUtils.join(operation.getSignature(), ',', (x) -> x.getType(), key);
+        StringUtils.join(operation.getSignature(), ',', FeatureInfo::getType, key);
         key.append(')');
 
         return key.toString().intern();
diff --git a/java/org/apache/tomcat/util/xreflection/ObjectReflectionPropertyInspector.java b/java/org/apache/tomcat/util/xreflection/ObjectReflectionPropertyInspector.java
index f2ca6fe..dc101cb 100644
--- a/java/org/apache/tomcat/util/xreflection/ObjectReflectionPropertyInspector.java
+++ b/java/org/apache/tomcat/util/xreflection/ObjectReflectionPropertyInspector.java
@@ -52,7 +52,7 @@ public final class ObjectReflectionPropertyInspector {
 
         Set<SetPropertyClass> baseClasses = getKnownClasses()
             .stream()
-            .map(c -> processClass(c))
+            .map(ObjectReflectionPropertyInspector::processClass)
             .collect(Collectors.toSet());
         generateCode(
             baseClasses,


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


[tomcat] 06/12: Replace Collections.sort() with List.sort()

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

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

commit 14f24d1c60bd61b3002120b2b6da1e67a9d4a688
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Wed Dec 2 01:28:25 2020 +0100

    Replace Collections.sort() with List.sort()
---
 java/org/apache/catalina/manager/HTMLManagerServlet.java | 2 +-
 java/org/apache/catalina/tribes/group/AbsoluteOrder.java | 2 +-
 java/org/apache/el/stream/Stream.java                    | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/java/org/apache/catalina/manager/HTMLManagerServlet.java b/java/org/apache/catalina/manager/HTMLManagerServlet.java
index 9447c29..df24a7c 100644
--- a/java/org/apache/catalina/manager/HTMLManagerServlet.java
+++ b/java/org/apache/catalina/manager/HTMLManagerServlet.java
@@ -957,7 +957,7 @@ public final class HTMLManagerServlet extends ManagerServlet {
                     orderBy = "DESC";
                 }
                 try {
-                    Collections.sort(sessions, comparator);
+                    sessions.sort(comparator);
                 } catch (IllegalStateException ise) {
                     // at least 1 of the sessions is invalidated
                     req.setAttribute(APPLICATION_ERROR, "Can't sort session list: one session is invalidated");
diff --git a/java/org/apache/catalina/tribes/group/AbsoluteOrder.java b/java/org/apache/catalina/tribes/group/AbsoluteOrder.java
index 974c606..20e8b43 100644
--- a/java/org/apache/catalina/tribes/group/AbsoluteOrder.java
+++ b/java/org/apache/catalina/tribes/group/AbsoluteOrder.java
@@ -58,7 +58,7 @@ public class AbsoluteOrder {
 
     public static void absoluteOrder(List<Member> members) {
         if ( members == null || members.size() <= 1 ) return;
-        java.util.Collections.sort(members, comp);
+        members.sort(comp);
     }
 
     public static class AbsoluteComparator implements Comparator<Member>,
diff --git a/java/org/apache/el/stream/Stream.java b/java/org/apache/el/stream/Stream.java
index 93fd1ad..fd5d168 100644
--- a/java/org/apache/el/stream/Stream.java
+++ b/java/org/apache/el/stream/Stream.java
@@ -175,7 +175,7 @@ public class Stream {
                 while (iterator.hasNext()) {
                     list.add(iterator.next());
                 }
-                Collections.sort(list, c);
+                list.sort(c);
                 sorted = list.iterator();
             }
         };


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


[tomcat] 04/12: Replace ThreadLocal inner classes with ThreadLocal.withInitial() + lambda expression

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

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

commit 92ee90fbb0ade1513d755afac6d85cd682f8199a
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Wed Dec 2 01:07:51 2020 +0100

    Replace ThreadLocal inner classes with ThreadLocal.withInitial() + lambda expression
---
 java/org/apache/catalina/connector/CoyoteAdapter.java     |  9 +--------
 java/org/apache/catalina/filters/RequestDumperFilter.java |  8 +-------
 .../apache/catalina/valves/AbstractAccessLogValve.java    | 15 ++-------------
 .../apache/catalina/valves/ExtendedAccessLogValve.java    | 14 ++------------
 java/org/apache/juli/ClassLoaderLogManager.java           |  7 +------
 java/org/apache/juli/OneLineFormatter.java                | 15 +++------------
 java/org/apache/naming/factory/LookupFactory.java         |  8 +-------
 java/org/apache/tomcat/util/http/CookieProcessorBase.java | 14 +++++---------
 8 files changed, 16 insertions(+), 74 deletions(-)

diff --git a/java/org/apache/catalina/connector/CoyoteAdapter.java b/java/org/apache/catalina/connector/CoyoteAdapter.java
index 4303620..740fa94 100644
--- a/java/org/apache/catalina/connector/CoyoteAdapter.java
+++ b/java/org/apache/catalina/connector/CoyoteAdapter.java
@@ -83,14 +83,7 @@ public class CoyoteAdapter implements Adapter {
 
 
     private static final ThreadLocal<String> THREAD_NAME =
-            new ThreadLocal<String>() {
-
-                @Override
-                protected String initialValue() {
-                    return Thread.currentThread().getName();
-                }
-
-    };
+            ThreadLocal.withInitial(() -> Thread.currentThread().getName());
 
     // ----------------------------------------------------------- Constructors
 
diff --git a/java/org/apache/catalina/filters/RequestDumperFilter.java b/java/org/apache/catalina/filters/RequestDumperFilter.java
index 20dcdcc..b8e9796 100644
--- a/java/org/apache/catalina/filters/RequestDumperFilter.java
+++ b/java/org/apache/catalina/filters/RequestDumperFilter.java
@@ -57,13 +57,7 @@ public class RequestDumperFilter extends GenericFilter {
     private static final String NON_HTTP_RES_MSG =
         "Not available. Non-http response.";
 
-    private static final ThreadLocal<Timestamp> timestamp =
-            new ThreadLocal<Timestamp>() {
-        @Override
-        protected Timestamp initialValue() {
-            return new Timestamp();
-        }
-    };
+    private static final ThreadLocal<Timestamp> timestamp = ThreadLocal.withInitial(Timestamp::new);
 
     // Log must be non-static as loggers are created per class-loader and this
     // Filter may be used in multiple class loaders
diff --git a/java/org/apache/catalina/valves/AbstractAccessLogValve.java b/java/org/apache/catalina/valves/AbstractAccessLogValve.java
index 1d113ed..77ff9b8 100644
--- a/java/org/apache/catalina/valves/AbstractAccessLogValve.java
+++ b/java/org/apache/catalina/valves/AbstractAccessLogValve.java
@@ -405,25 +405,14 @@ public abstract class AbstractAccessLogValve extends ValveBase implements Access
      * Thread local date format cache.
      */
     private static final ThreadLocal<DateFormatCache> localDateCache =
-            new ThreadLocal<DateFormatCache>() {
-        @Override
-        protected DateFormatCache initialValue() {
-            return new DateFormatCache(localCacheSize, Locale.getDefault(), globalDateCache);
-        }
-    };
+            ThreadLocal.withInitial(() -> new DateFormatCache(localCacheSize, Locale.getDefault(), globalDateCache));
 
 
     /**
      * The system time when we last updated the Date that this valve
      * uses for log lines.
      */
-    private static final ThreadLocal<Date> localDate =
-            new ThreadLocal<Date>() {
-        @Override
-        protected Date initialValue() {
-            return new Date();
-        }
-    };
+    private static final ThreadLocal<Date> localDate = ThreadLocal.withInitial(Date::new);
 
     /**
      * Are we doing conditional logging. default null.
diff --git a/java/org/apache/catalina/valves/ExtendedAccessLogValve.java b/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
index 5a9fc0d..bc0097c 100644
--- a/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
+++ b/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
@@ -207,12 +207,7 @@ public class ExtendedAccessLogValve extends AccessLogValve {
         private static final long INTERVAL = (1000 * 60 * 60 * 24);
 
         private static final ThreadLocal<ElementTimestampStruct> currentDate =
-                new ThreadLocal<ElementTimestampStruct>() {
-            @Override
-            protected ElementTimestampStruct initialValue() {
-                return new ElementTimestampStruct("yyyy-MM-dd");
-            }
-        };
+                ThreadLocal.withInitial(() -> new ElementTimestampStruct("yyyy-MM-dd"));
 
         @Override
         public void addElement(CharArrayWriter buf, Date date, Request request,
@@ -235,12 +230,7 @@ public class ExtendedAccessLogValve extends AccessLogValve {
         private static final long INTERVAL = 1000;
 
         private static final ThreadLocal<ElementTimestampStruct> currentTime =
-                new ThreadLocal<ElementTimestampStruct>() {
-            @Override
-            protected ElementTimestampStruct initialValue() {
-                return new ElementTimestampStruct("HH:mm:ss");
-            }
-        };
+                ThreadLocal.withInitial(() -> new ElementTimestampStruct("HH:mm:ss"));
 
         @Override
         public void addElement(CharArrayWriter buf, Date date, Request request,
diff --git a/java/org/apache/juli/ClassLoaderLogManager.java b/java/org/apache/juli/ClassLoaderLogManager.java
index 5672761..43f7e65 100644
--- a/java/org/apache/juli/ClassLoaderLogManager.java
+++ b/java/org/apache/juli/ClassLoaderLogManager.java
@@ -52,12 +52,7 @@ public class ClassLoaderLogManager extends LogManager {
 
     private static final boolean isJava9;
 
-    private static ThreadLocal<Boolean> addingLocalRootLogger = new ThreadLocal<Boolean>() {
-        @Override
-        protected Boolean initialValue() {
-            return Boolean.FALSE;
-        }
-    };
+    private static ThreadLocal<Boolean> addingLocalRootLogger = ThreadLocal.withInitial(() -> Boolean.FALSE);
 
     public static final String DEBUG_PROPERTY =
             ClassLoaderLogManager.class.getName() + ".debug";
diff --git a/java/org/apache/juli/OneLineFormatter.java b/java/org/apache/juli/OneLineFormatter.java
index 968a692..ba340bd 100644
--- a/java/org/apache/juli/OneLineFormatter.java
+++ b/java/org/apache/juli/OneLineFormatter.java
@@ -43,12 +43,8 @@ public class OneLineFormatter extends Formatter {
     private static final Object threadMxBeanLock = new Object();
     private static volatile ThreadMXBean threadMxBean = null;
     private static final int THREAD_NAME_CACHE_SIZE = 10000;
-    private static ThreadLocal<ThreadNameCache> threadNameCache = new ThreadLocal<ThreadNameCache>() {
-        @Override
-        protected ThreadNameCache initialValue() {
-            return new ThreadNameCache(THREAD_NAME_CACHE_SIZE);
-        }
-    };
+    private static ThreadLocal<ThreadNameCache> threadNameCache =
+            ThreadLocal.withInitial(() -> new ThreadNameCache(THREAD_NAME_CACHE_SIZE));
 
     /* Timestamp format */
     private static final String DEFAULT_TIME_FORMAT = "dd-MMM-yyyy HH:mm:ss.SSS";
@@ -109,12 +105,7 @@ public class OneLineFormatter extends Formatter {
 
         final DateFormatCache globalDateCache =
                 new DateFormatCache(globalCacheSize, cachedTimeFormat, null);
-        localDateCache = new ThreadLocal<DateFormatCache>() {
-            @Override
-            protected DateFormatCache initialValue() {
-                return new DateFormatCache(localCacheSize, cachedTimeFormat, globalDateCache);
-            }
-        };
+        localDateCache = ThreadLocal.withInitial(() -> new DateFormatCache(localCacheSize, cachedTimeFormat, globalDateCache));
     }
 
 
diff --git a/java/org/apache/naming/factory/LookupFactory.java b/java/org/apache/naming/factory/LookupFactory.java
index 6e7455c..40bbafe 100644
--- a/java/org/apache/naming/factory/LookupFactory.java
+++ b/java/org/apache/naming/factory/LookupFactory.java
@@ -41,13 +41,7 @@ public class LookupFactory implements ObjectFactory {
     private static final Log log = LogFactory.getLog(LookupFactory.class);
     private static final StringManager sm = StringManager.getManager(LookupFactory.class);
 
-    private static final ThreadLocal<Set<String>> names = new ThreadLocal<Set<String>>() {
-
-        @Override
-        protected Set<String> initialValue() {
-            return new HashSet<>();
-        }
-    };
+    private static final ThreadLocal<Set<String>> names = ThreadLocal.withInitial(HashSet::new);
 
     /**
      * Create a new Resource env instance.
diff --git a/java/org/apache/tomcat/util/http/CookieProcessorBase.java b/java/org/apache/tomcat/util/http/CookieProcessorBase.java
index 589df47..47fbe58 100644
--- a/java/org/apache/tomcat/util/http/CookieProcessorBase.java
+++ b/java/org/apache/tomcat/util/http/CookieProcessorBase.java
@@ -27,15 +27,11 @@ public abstract class CookieProcessorBase implements CookieProcessor {
     private static final String COOKIE_DATE_PATTERN = "EEE, dd-MMM-yyyy HH:mm:ss z";
 
     protected static final ThreadLocal<DateFormat> COOKIE_DATE_FORMAT =
-        new ThreadLocal<DateFormat>() {
-        @Override
-        protected DateFormat initialValue() {
-            DateFormat df =
-                new SimpleDateFormat(COOKIE_DATE_PATTERN, Locale.US);
-            df.setTimeZone(TimeZone.getTimeZone("GMT"));
-            return df;
-        }
-    };
+            ThreadLocal.withInitial(() -> {
+                DateFormat df = new SimpleDateFormat(COOKIE_DATE_PATTERN, Locale.US);
+                df.setTimeZone(TimeZone.getTimeZone("GMT"));
+                return df;
+            });
 
     protected static final String ANCIENT_DATE;
 


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


[tomcat] 11/12: 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 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit fe36ceef496d1b59dd8d133a62ad213f48474969
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 f32d08b..83da544 100644
--- a/java/org/apache/catalina/ssi/ExpressionParseTree.java
+++ b/java/org/apache/catalina/ssi/ExpressionParseTree.java
@@ -213,7 +213,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.
          */
@@ -266,7 +266,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.
          */
@@ -295,7 +295,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();
@@ -322,7 +322,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
@@ -342,7 +342,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 fd539a7..2a5f346 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 872ba06..14198bd 100644
--- a/test/org/apache/catalina/valves/rewrite/TestResolverSSL.java
+++ b/test/org/apache/catalina/valves/rewrite/TestResolverSSL.java
@@ -111,7 +111,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 1d1fee5..7e04cfc 100644
--- a/test/org/apache/coyote/http2/Http2TestBase.java
+++ b/test/org/apache/coyote/http2/Http2TestBase.java
@@ -591,7 +591,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 0507231..df70006 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] 09/12: 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 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit fd478f52423753b1c7a3118fe147e253fb4bf17c
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 +---
 .../catalina/valves/JsonErrorReportValve.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 +++-------
 24 files changed, 42 insertions(+), 147 deletions(-)

diff --git a/java/org/apache/catalina/core/ApplicationDispatcher.java b/java/org/apache/catalina/core/ApplicationDispatcher.java
index a640177..b846919 100644
--- a/java/org/apache/catalina/core/ApplicationDispatcher.java
+++ b/java/org/apache/catalina/core/ApplicationDispatcher.java
@@ -412,9 +412,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 0cacd3f..d57df74 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 1ac8676..fa213f7 100644
--- a/java/org/apache/catalina/core/StandardServer.java
+++ b/java/org/apache/catalina/core/StandardServer.java
@@ -1031,9 +1031,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 2877539..ceb1d93 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;
@@ -978,9 +974,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 f898ab4..2e02b7f 100644
--- a/java/org/apache/catalina/startup/ContextConfig.java
+++ b/java/org/apache/catalina/startup/ContextConfig.java
@@ -1925,12 +1925,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()));
             }
         }
     }
@@ -2248,10 +2245,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);
             }
@@ -2296,10 +2290,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);
                     }
@@ -2332,10 +2323,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);
             }
@@ -2519,10 +2507,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 2b9bf4f..a187805 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 3128233..8c4199e 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 d20147e..6f19e89 100644
--- a/java/org/apache/catalina/util/LifecycleMBeanBase.java
+++ b/java/org/apache/catalina/util/LifecycleMBeanBase.java
@@ -156,12 +156,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 c8201e2..ab97bc6 100644
--- a/java/org/apache/catalina/valves/ErrorReportValve.java
+++ b/java/org/apache/catalina/valves/ErrorReportValve.java
@@ -320,9 +320,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/catalina/valves/JsonErrorReportValve.java b/java/org/apache/catalina/valves/JsonErrorReportValve.java
index 5233bff..bde4c57 100644
--- a/java/org/apache/catalina/valves/JsonErrorReportValve.java
+++ b/java/org/apache/catalina/valves/JsonErrorReportValve.java
@@ -102,9 +102,7 @@ public class JsonErrorReportValve extends ErrorReportValve {
                 response.finishResponse();
                 return;
             }
-        } 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 dbbe8d6..7094133 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;
@@ -1167,10 +1168,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 4722a4a..4c7d3bd 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;
@@ -203,9 +204,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(Localizer.getMessage("jsp.error.compilation.dependent", className), exc);
-                    } catch (org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException exc) {
+                    } catch (IOException | ClassFormatException exc) {
                         log.error(Localizer.getMessage("jsp.error.compilation.dependent", className), exc);
                     }
                     return null;
diff --git a/java/org/apache/jasper/servlet/JspServlet.java b/java/org/apache/jasper/servlet/JspServlet.java
index 63c0243..de069ef 100644
--- a/java/org/apache/jasper/servlet/JspServlet.java
+++ b/java/org/apache/jasper/servlet/JspServlet.java
@@ -324,11 +324,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 dbfd731..4f682b1 100644
--- a/java/org/apache/jasper/servlet/JspServletWrapper.java
+++ b/java/org/apache/jasper/servlet/JspServletWrapper.java
@@ -418,20 +418,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);
             }
@@ -495,7 +485,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);
             }
@@ -505,11 +495,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 df3dac5..7081d9e 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 13f5223..cd6006e 100644
--- a/test/org/apache/catalina/valves/TestRequestFilterValve.java
+++ b/test/org/apache/catalina/valves/TestRequestFilterValve.java
@@ -142,9 +142,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 f3ddb8b..96b25dd 100644
--- a/test/org/apache/coyote/http11/TestHttp11Processor.java
+++ b/test/org/apache/coyote/http11/TestHttp11Processor.java
@@ -353,9 +353,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 f036931..3907d74 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


[tomcat] 05/12: Replace Runnable inner classes with lambda expressions

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

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

commit d3e9253e4d20f416f9f73b64c4169f9b15ca1e94
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Wed Dec 2 01:16:12 2020 +0100

    Replace Runnable inner classes with lambda expressions
---
 java/org/apache/catalina/core/StandardServer.java  | 14 +---
 java/org/apache/catalina/servlets/CGIServlet.java  |  7 +-
 .../apache/catalina/tribes/group/GroupChannel.java |  8 +-
 .../interceptors/MessageDispatchInterceptor.java   |  8 +-
 .../interceptors/StaticMembershipInterceptor.java  | 11 +--
 .../tribes/membership/McastServiceImpl.java        | 91 ++++++++++------------
 .../membership/StaticMembershipProvider.java       | 34 ++++----
 .../membership/cloud/CloudMembershipProvider.java  | 34 ++++----
 .../tribes/transport/nio/NioReplicationTask.java   | 46 +++++------
 java/org/apache/coyote/AbstractProtocol.java       | 20 ++---
 java/org/apache/tomcat/util/net/Nio2Endpoint.java  | 21 +++--
 11 files changed, 112 insertions(+), 182 deletions(-)

diff --git a/java/org/apache/catalina/core/StandardServer.java b/java/org/apache/catalina/core/StandardServer.java
index cfbdc09..1ac8676 100644
--- a/java/org/apache/catalina/core/StandardServer.java
+++ b/java/org/apache/catalina/core/StandardServer.java
@@ -933,12 +933,7 @@ public final class StandardServer extends LifecycleMBeanBase implements Server {
 
         if (periodicEventDelay > 0) {
             monitorFuture = getUtilityExecutor().scheduleWithFixedDelay(
-                    new Runnable() {
-                        @Override
-                        public void run() {
-                            startPeriodicLifecycleEvent();
-                        }
-                    }, 0, 60, TimeUnit.SECONDS);
+                    () -> startPeriodicLifecycleEvent(), 0, 60, TimeUnit.SECONDS);
         }
     }
 
@@ -954,12 +949,7 @@ public final class StandardServer extends LifecycleMBeanBase implements Server {
                 }
             }
             periodicLifecycleEventFuture = getUtilityExecutor().scheduleAtFixedRate(
-                    new Runnable() {
-                        @Override
-                        public void run() {
-                            fireLifecycleEvent(Lifecycle.PERIODIC_EVENT, null);
-                        }
-                    }, periodicEventDelay, periodicEventDelay, TimeUnit.SECONDS);
+                    () -> fireLifecycleEvent(Lifecycle.PERIODIC_EVENT, null), periodicEventDelay, periodicEventDelay, TimeUnit.SECONDS);
         }
     }
 
diff --git a/java/org/apache/catalina/servlets/CGIServlet.java b/java/org/apache/catalina/servlets/CGIServlet.java
index e24c871..98672ad 100644
--- a/java/org/apache/catalina/servlets/CGIServlet.java
+++ b/java/org/apache/catalina/servlets/CGIServlet.java
@@ -1666,12 +1666,7 @@ public final class CGIServlet extends HttpServlet {
                     (new InputStreamReader(proc.getErrorStream()));
                 final BufferedReader stdErrRdr = commandsStdErr ;
 
-                errReaderThread = new Thread() {
-                    @Override
-                    public void run () {
-                        sendToLog(stdErrRdr);
-                    }
-                };
+                errReaderThread = new Thread(() -> sendToLog(stdErrRdr));
                 errReaderThread.start();
 
                 InputStream cgiHeaderStream =
diff --git a/java/org/apache/catalina/tribes/group/GroupChannel.java b/java/org/apache/catalina/tribes/group/GroupChannel.java
index 1bb558a..abd9303 100644
--- a/java/org/apache/catalina/tribes/group/GroupChannel.java
+++ b/java/org/apache/catalina/tribes/group/GroupChannel.java
@@ -476,13 +476,7 @@ public class GroupChannel extends ChannelInterceptorBase
             ownExecutor = true;
         }
         super.start(svc);
-        monitorFuture = utilityExecutor.scheduleWithFixedDelay(
-                new Runnable() {
-                    @Override
-                    public void run() {
-                        startHeartbeat();
-                    }
-                }, 0, 60, TimeUnit.SECONDS);
+        monitorFuture = utilityExecutor.scheduleWithFixedDelay(this::startHeartbeat, 0, 60, TimeUnit.SECONDS);
     }
 
     protected void startHeartbeat() {
diff --git a/java/org/apache/catalina/tribes/group/interceptors/MessageDispatchInterceptor.java b/java/org/apache/catalina/tribes/group/interceptors/MessageDispatchInterceptor.java
index ef869a6..18b9775 100644
--- a/java/org/apache/catalina/tribes/group/interceptors/MessageDispatchInterceptor.java
+++ b/java/org/apache/catalina/tribes/group/interceptors/MessageDispatchInterceptor.java
@@ -97,13 +97,7 @@ public class MessageDispatchInterceptor extends ChannelInterceptorBase
 
     public boolean addToQueue(final ChannelMessage msg, final Member[] destination,
             final InterceptorPayload payload) {
-        Runnable r = new Runnable() {
-            @Override
-            public void run() {
-                sendAsyncData(msg, destination, payload);
-            }
-        };
-        executor.execute(r);
+        executor.execute(() -> sendAsyncData(msg, destination, payload));
         return true;
     }
 
diff --git a/java/org/apache/catalina/tribes/group/interceptors/StaticMembershipInterceptor.java b/java/org/apache/catalina/tribes/group/interceptors/StaticMembershipInterceptor.java
index cd8e9e2..c7c70c8 100644
--- a/java/org/apache/catalina/tribes/group/interceptors/StaticMembershipInterceptor.java
+++ b/java/org/apache/catalina/tribes/group/interceptors/StaticMembershipInterceptor.java
@@ -159,13 +159,10 @@ public class StaticMembershipInterceptor extends ChannelInterceptorBase
         final ChannelInterceptorBase base = this;
         ScheduledExecutorService executor = getChannel().getUtilityExecutor();
         for (final Member member : members) {
-            Runnable r = new Runnable() {
-                @Override
-                public void run() {
-                    base.memberAdded(member);
-                    if (getfirstInterceptor().getMember(member) != null) {
-                        sendLocalMember(new Member[]{member});
-                    }
+            Runnable r = () -> {
+                base.memberAdded(member);
+                if (getfirstInterceptor().getMember(member) != null) {
+                    sendLocalMember(new Member[]{member});
                 }
             };
             executor.execute(r);
diff --git a/java/org/apache/catalina/tribes/membership/McastServiceImpl.java b/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
index 27e4121..dc00496 100644
--- a/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
+++ b/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
@@ -368,30 +368,24 @@ public class McastServiceImpl extends MembershipProviderBase {
         if (Arrays.equals(m.getCommand(), Member.SHUTDOWN_PAYLOAD)) {
             if (log.isDebugEnabled()) log.debug("Member has shutdown:" + m);
             membership.removeMember(m);
-            t = new Runnable() {
-                @Override
-                public void run() {
-                    String name = Thread.currentThread().getName();
-                    try {
-                        Thread.currentThread().setName("Membership-MemberDisappeared");
-                        service.memberDisappeared(m);
-                    }finally {
-                        Thread.currentThread().setName(name);
-                    }
+            t = () -> {
+                String name = Thread.currentThread().getName();
+                try {
+                    Thread.currentThread().setName("Membership-MemberDisappeared");
+                    service.memberDisappeared(m);
+                }finally {
+                    Thread.currentThread().setName(name);
                 }
             };
         } else if (membership.memberAlive(m)) {
             if (log.isDebugEnabled()) log.debug("Mcast add member " + m);
-            t = new Runnable() {
-                @Override
-                public void run() {
-                    String name = Thread.currentThread().getName();
-                    try {
-                        Thread.currentThread().setName("Membership-MemberAdded");
-                        service.memberAdded(m);
-                    }finally {
-                        Thread.currentThread().setName(name);
-                    }
+            t = () -> {
+                String name = Thread.currentThread().getName();
+                try {
+                    Thread.currentThread().setName("Membership-MemberAdded");
+                    service.memberAdded(m);
+                }finally {
+                    Thread.currentThread().setName(name);
                 }
             };
         } //end if
@@ -413,30 +407,27 @@ public class McastServiceImpl extends MembershipProviderBase {
                     log.debug("Unable to decode message.",ise);
                 }
             }
-            Runnable t = new Runnable() {
-                @Override
-                public void run() {
-                    String name = Thread.currentThread().getName();
-                    try {
-                        Thread.currentThread().setName("Membership-MemberAdded");
-                        for (ChannelData datum : data) {
-                            try {
-                                if (datum != null && !member.equals(datum.getAddress())) {
-                                    msgservice.messageReceived(datum);
-                                }
-                            } catch (Throwable t) {
-                                if (t instanceof ThreadDeath) {
-                                    throw (ThreadDeath) t;
-                                }
-                                if (t instanceof VirtualMachineError) {
-                                    throw (VirtualMachineError) t;
-                                }
-                                log.error(sm.getString("mcastServiceImpl.unableReceive.broadcastMessage"), t);
+            Runnable t = () -> {
+                String name = Thread.currentThread().getName();
+                try {
+                    Thread.currentThread().setName("Membership-MemberAdded");
+                    for (ChannelData datum : data) {
+                        try {
+                            if (datum != null && !member.equals(datum.getAddress())) {
+                                msgservice.messageReceived(datum);
+                            }
+                        } catch (Throwable t1) {
+                            if (t1 instanceof ThreadDeath) {
+                                throw (ThreadDeath) t1;
                             }
+                            if (t1 instanceof VirtualMachineError) {
+                                throw (VirtualMachineError) t1;
+                            }
+                            log.error(sm.getString("mcastServiceImpl.unableReceive.broadcastMessage"), t1);
                         }
-                    }finally {
-                        Thread.currentThread().setName(name);
                     }
+                }finally {
+                    Thread.currentThread().setName(name);
                 }
             };
             executor.execute(t);
@@ -451,17 +442,13 @@ public class McastServiceImpl extends MembershipProviderBase {
                 if (log.isDebugEnabled())
                     log.debug("Mcast expire  member " + member);
                 try {
-                    Runnable t = new Runnable() {
-                        @Override
-                        public void run() {
-                            String name = Thread.currentThread().getName();
-                            try {
-                                Thread.currentThread().setName("Membership-MemberExpired");
-                                service.memberDisappeared(member);
-                            } finally {
-                                Thread.currentThread().setName(name);
-                            }
-
+                    Runnable t = () -> {
+                        String name = Thread.currentThread().getName();
+                        try {
+                            Thread.currentThread().setName("Membership-MemberExpired");
+                            service.memberDisappeared(member);
+                        } finally {
+                            Thread.currentThread().setName(name);
                         }
                     };
                     executor.execute(t);
diff --git a/java/org/apache/catalina/tribes/membership/StaticMembershipProvider.java b/java/org/apache/catalina/tribes/membership/StaticMembershipProvider.java
index 4bd09f1..155cf29 100644
--- a/java/org/apache/catalina/tribes/membership/StaticMembershipProvider.java
+++ b/java/org/apache/catalina/tribes/membership/StaticMembershipProvider.java
@@ -157,16 +157,13 @@ public class StaticMembershipProvider extends MembershipProviderBase implements
     protected void memberAdded(Member member) {
         Member mbr = setupMember(member);
         if(membership.memberAlive(mbr)) {
-            Runnable r = new Runnable() {
-                @Override
-                public void run(){
-                    String name = Thread.currentThread().getName();
-                    try {
-                        Thread.currentThread().setName("StaticMembership-memberAdded");
-                        membershipListener.memberAdded(mbr);
-                    } finally {
-                        Thread.currentThread().setName(name);
-                    }
+            Runnable r = () -> {
+                String name = Thread.currentThread().getName();
+                try {
+                    Thread.currentThread().setName("StaticMembership-memberAdded");
+                    membershipListener.memberAdded(mbr);
+                } finally {
+                    Thread.currentThread().setName(name);
                 }
             };
             executor.execute(r);
@@ -175,16 +172,13 @@ public class StaticMembershipProvider extends MembershipProviderBase implements
 
     protected void memberDisappeared(Member member) {
         membership.removeMember(member);
-        Runnable r = new Runnable() {
-            @Override
-            public void run(){
-                String name = Thread.currentThread().getName();
-                try {
-                    Thread.currentThread().setName("StaticMembership-memberDisappeared");
-                    membershipListener.memberDisappeared(member);
-                } finally {
-                    Thread.currentThread().setName(name);
-                }
+        Runnable r = () -> {
+            String name = Thread.currentThread().getName();
+            try {
+                Thread.currentThread().setName("StaticMembership-memberDisappeared");
+                membershipListener.memberDisappeared(member);
+            } finally {
+                Thread.currentThread().setName(name);
             }
         };
         executor.execute(r);
diff --git a/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java b/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java
index 22f9a95..3c6315d 100644
--- a/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java
+++ b/java/org/apache/catalina/tribes/membership/cloud/CloudMembershipProvider.java
@@ -131,16 +131,13 @@ public abstract class CloudMembershipProvider extends MembershipProviderBase imp
                 if (log.isDebugEnabled()) {
                     log.debug("Member added: " + member);
                 }
-                Runnable r = new Runnable() {
-                    @Override
-                    public void run(){
-                        String name = Thread.currentThread().getName();
-                        try {
-                            Thread.currentThread().setName("CloudMembership-memberAdded");
-                            membershipListener.memberAdded(member);
-                        } finally {
-                            Thread.currentThread().setName(name);
-                        }
+                Runnable r = () -> {
+                    String name = Thread.currentThread().getName();
+                    try {
+                        Thread.currentThread().setName("CloudMembership-memberAdded");
+                        membershipListener.memberAdded(member);
+                    } finally {
+                        Thread.currentThread().setName(name);
                     }
                 };
                 executor.execute(r);
@@ -152,16 +149,13 @@ public abstract class CloudMembershipProvider extends MembershipProviderBase imp
             if (log.isDebugEnabled()) {
                 log.debug("Member disappeared: " + member);
             }
-            Runnable r = new Runnable() {
-                @Override
-                public void run(){
-                    String name = Thread.currentThread().getName();
-                    try {
-                        Thread.currentThread().setName("CloudMembership-memberDisappeared");
-                        membershipListener.memberDisappeared(member);
-                    } finally {
-                        Thread.currentThread().setName(name);
-                    }
+            Runnable r = () -> {
+                String name = Thread.currentThread().getName();
+                try {
+                    Thread.currentThread().setName("CloudMembership-memberDisappeared");
+                    membershipListener.memberDisappeared(member);
+                } finally {
+                    Thread.currentThread().setName(name);
                 }
             };
             executor.execute(r);
diff --git a/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java b/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java
index 221d691..0cb3bbd 100644
--- a/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java
+++ b/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java
@@ -252,27 +252,24 @@ public class NioReplicationTask extends AbstractRxTask {
             log.trace("Adding key for read event:"+key);
         reader.finish();
         //register our OP_READ interest
-        Runnable r = new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    if (key.isValid()) {
-                        // cycle the selector so this key is active again
-                        key.selector().wakeup();
-                        // resume interest in OP_READ, OP_WRITE
-                        int resumeOps = key.interestOps() | SelectionKey.OP_READ;
-                        key.interestOps(resumeOps);
-                        if ( log.isTraceEnabled() )
-                            log.trace("Registering key for read:"+key);
-                    }
-                } catch (CancelledKeyException ckx ) {
-                    NioReceiver.cancelledKey(key);
+        Runnable r = () -> {
+            try {
+                if (key.isValid()) {
+                    // cycle the selector so this key is active again
+                    key.selector().wakeup();
+                    // resume interest in OP_READ, OP_WRITE
+                    int resumeOps = key.interestOps() | SelectionKey.OP_READ;
+                    key.interestOps(resumeOps);
                     if ( log.isTraceEnabled() )
-                        log.trace("CKX Cancelling key:"+key);
-
-                } catch (Exception x) {
-                    log.error(sm.getString("nioReplicationTask.error.register.key", key),x);
+                        log.trace("Registering key for read:"+key);
                 }
+            } catch (CancelledKeyException ckx ) {
+                NioReceiver.cancelledKey(key);
+                if ( log.isTraceEnabled() )
+                    log.trace("CKX Cancelling key:"+key);
+
+            } catch (Exception x) {
+                log.error(sm.getString("nioReplicationTask.error.register.key", key),x);
             }
         };
         receiver.addEvent(r);
@@ -287,14 +284,11 @@ public class NioReplicationTask extends AbstractRxTask {
             reader.setCancelled(true);
             reader.finish();
         }
-        Runnable cx = new Runnable() {
-            @Override
-            public void run() {
-                if ( log.isTraceEnabled() )
-                    log.trace("Cancelling key:"+key);
+        Runnable cx = () -> {
+            if ( log.isTraceEnabled() )
+                log.trace("Cancelling key:"+key);
 
-                NioReceiver.cancelledKey(key);
-            }
+            NioReceiver.cancelledKey(key);
         };
         receiver.addEvent(cx);
     }
diff --git a/java/org/apache/coyote/AbstractProtocol.java b/java/org/apache/coyote/AbstractProtocol.java
index 089a07c..61dcffa 100644
--- a/java/org/apache/coyote/AbstractProtocol.java
+++ b/java/org/apache/coyote/AbstractProtocol.java
@@ -602,12 +602,9 @@ public abstract class AbstractProtocol<S> implements ProtocolHandler,
 
         endpoint.start();
         monitorFuture = getUtilityExecutor().scheduleWithFixedDelay(
-                new Runnable() {
-                    @Override
-                    public void run() {
-                        if (!isPaused()) {
-                            startAsyncTimeout();
-                        }
+                () -> {
+                    if (!isPaused()) {
+                        startAsyncTimeout();
                     }
                 }, 0, 60, TimeUnit.SECONDS);
     }
@@ -629,13 +626,10 @@ public abstract class AbstractProtocol<S> implements ProtocolHandler,
                 }
             }
             timeoutFuture = getUtilityExecutor().scheduleAtFixedRate(
-                    new Runnable() {
-                        @Override
-                        public void run() {
-                            long now = System.currentTimeMillis();
-                            for (Processor processor : waitingProcessors) {
-                                processor.timeoutAsync(now);
-                            }
+                    () -> {
+                        long now = System.currentTimeMillis();
+                        for (Processor processor : waitingProcessors) {
+                            processor.timeoutAsync(now);
                         }
                     }, 1, 1, TimeUnit.SECONDS);
         }
diff --git a/java/org/apache/tomcat/util/net/Nio2Endpoint.java b/java/org/apache/tomcat/util/net/Nio2Endpoint.java
index 5775473..56d7295 100644
--- a/java/org/apache/tomcat/util/net/Nio2Endpoint.java
+++ b/java/org/apache/tomcat/util/net/Nio2Endpoint.java
@@ -206,19 +206,16 @@ public class Nio2Endpoint extends AbstractJsseEndpoint<Nio2Channel,AsynchronousS
             acceptor.stop(10);
             // Use the executor to avoid binding the main thread if something bad
             // occurs and unbind will also wait for a bit for it to complete
-            getExecutor().execute(new Runnable() {
-                @Override
-                public void run() {
-                    // Then close all active connections if any remain
-                    try {
-                        for (SocketWrapperBase<Nio2Channel> wrapper : getConnections()) {
-                            wrapper.close();
-                        }
-                    } catch (Throwable t) {
-                        ExceptionUtils.handleThrowable(t);
-                    } finally {
-                        allClosed = true;
+            getExecutor().execute(() -> {
+                // Then close all active connections if any remain
+                try {
+                    for (SocketWrapperBase<Nio2Channel> wrapper : getConnections()) {
+                        wrapper.close();
                     }
+                } catch (Throwable t) {
+                    ExceptionUtils.handleThrowable(t);
+                } finally {
+                    allClosed = true;
                 }
             });
             if (nioChannels != null) {


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


[tomcat] 08/12: Replace explicit types with <>

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

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

commit cf0d33c11e6bf15598530c2a2e811b2be3104c89
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Thu Dec 3 23:43:49 2020 +0100

    Replace explicit types with <>
---
 java/org/apache/catalina/ha/tcp/ReplicationValve.java        |  2 +-
 java/org/apache/catalina/startup/ContextConfig.java          |  2 +-
 java/org/apache/catalina/valves/rewrite/RewriteRule.java     |  2 +-
 java/org/apache/catalina/webresources/StandardRoot.java      |  2 +-
 java/org/apache/coyote/AbstractProtocol.java                 |  2 +-
 java/org/apache/coyote/http11/AbstractHttp11Protocol.java    |  2 +-
 java/org/apache/naming/NamingContext.java                    |  2 +-
 java/org/apache/tomcat/websocket/AsyncChannelGroupUtil.java  |  2 +-
 java/org/apache/tomcat/websocket/Constants.java              |  2 +-
 .../apache/tomcat/websocket/server/WsServerContainer.java    |  2 +-
 .../loader/TestWebappClassLoaderExecutorMemoryLeak.java      |  2 +-
 .../apache/catalina/startup/TestContextConfigAnnotation.java | 12 +++++-------
 test/org/apache/tomcat/websocket/TestUtil.java               |  4 ++--
 13 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/java/org/apache/catalina/ha/tcp/ReplicationValve.java b/java/org/apache/catalina/ha/tcp/ReplicationValve.java
index 6eed956..0a5850d 100644
--- a/java/org/apache/catalina/ha/tcp/ReplicationValve.java
+++ b/java/org/apache/catalina/ha/tcp/ReplicationValve.java
@@ -325,7 +325,7 @@ public class ReplicationValve
                     log.debug(sm.getString("ReplicationValve.crossContext.add"));
                 }
                 //FIXME add Pool of Arraylists
-                crossContextSessions.set(new ArrayList<DeltaSession>());
+                crossContextSessions.set(new ArrayList<>());
             }
             getNext().invoke(request, response);
             if(context != null && cluster != null
diff --git a/java/org/apache/catalina/startup/ContextConfig.java b/java/org/apache/catalina/startup/ContextConfig.java
index 355dea3..f898ab4 100644
--- a/java/org/apache/catalina/startup/ContextConfig.java
+++ b/java/org/apache/catalina/startup/ContextConfig.java
@@ -1847,7 +1847,7 @@ public class ContextConfig implements LifecycleListener {
         }
 
         for (ServletContainerInitializer sci : detectedScis) {
-            initializerClassMap.put(sci, new HashSet<Class<?>>());
+            initializerClassMap.put(sci, new HashSet<>());
 
             HandlesTypes ht;
             try {
diff --git a/java/org/apache/catalina/valves/rewrite/RewriteRule.java b/java/org/apache/catalina/valves/rewrite/RewriteRule.java
index 833a12c..ca29223 100644
--- a/java/org/apache/catalina/valves/rewrite/RewriteRule.java
+++ b/java/org/apache/catalina/valves/rewrite/RewriteRule.java
@@ -63,7 +63,7 @@ public class RewriteRule {
                 newEnvSubstitution.setSub(s);
                 newEnvSubstitution.parse(maps);
                 envSubstitution.add(newEnvSubstitution);
-                envResult.add(new ThreadLocal<String>());
+                envResult.add(new ThreadLocal<>());
             }
         }
         if (isCookie()) {
diff --git a/java/org/apache/catalina/webresources/StandardRoot.java b/java/org/apache/catalina/webresources/StandardRoot.java
index cc401f2..0aad50e 100644
--- a/java/org/apache/catalina/webresources/StandardRoot.java
+++ b/java/org/apache/catalina/webresources/StandardRoot.java
@@ -81,7 +81,7 @@ public class StandardRoot extends LifecycleMBeanBase implements WebResourceRoot
 
     private boolean trackLockedFiles = false;
     private final Set<TrackedWebResource> trackedResources =
-            Collections.newSetFromMap(new ConcurrentHashMap<TrackedWebResource,Boolean>());
+            Collections.newSetFromMap(new ConcurrentHashMap<>());
 
     // Constructs to make iteration over all WebResourceSets simpler
     private final List<WebResourceSet> mainResources = new ArrayList<>();
diff --git a/java/org/apache/coyote/AbstractProtocol.java b/java/org/apache/coyote/AbstractProtocol.java
index 61dcffa..092fcf3 100644
--- a/java/org/apache/coyote/AbstractProtocol.java
+++ b/java/org/apache/coyote/AbstractProtocol.java
@@ -87,7 +87,7 @@ public abstract class AbstractProtocol<S> implements ProtocolHandler,
 
 
     private final Set<Processor> waitingProcessors =
-            Collections.newSetFromMap(new ConcurrentHashMap<Processor, Boolean>());
+            Collections.newSetFromMap(new ConcurrentHashMap<>());
 
     /**
      * Controller for the timeout scheduling.
diff --git a/java/org/apache/coyote/http11/AbstractHttp11Protocol.java b/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
index 0c82380..4c64197 100644
--- a/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
+++ b/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
@@ -474,7 +474,7 @@ public abstract class AbstractHttp11Protocol<S> extends AbstractProtocol<S> {
      * chunked encoding. They are stored in lower case.
      */
     private Set<String> allowedTrailerHeaders =
-            Collections.newSetFromMap(new ConcurrentHashMap<String, Boolean>());
+            Collections.newSetFromMap(new ConcurrentHashMap<>());
     public void setAllowedTrailerHeaders(String commaSeparatedHeaders) {
         // Jump through some hoops so we don't end up with an empty set while
         // doing updates.
diff --git a/java/org/apache/naming/NamingContext.java b/java/org/apache/naming/NamingContext.java
index a064421..e1ddeff 100644
--- a/java/org/apache/naming/NamingContext.java
+++ b/java/org/apache/naming/NamingContext.java
@@ -74,7 +74,7 @@ public class NamingContext implements Context {
      * @param name The name of the associated Catalina Context
      */
     public NamingContext(Hashtable<String,Object> env, String name) {
-        this(env, name, new HashMap<String,NamingEntry>());
+        this(env, name, new HashMap<>());
     }
 
 
diff --git a/java/org/apache/tomcat/websocket/AsyncChannelGroupUtil.java b/java/org/apache/tomcat/websocket/AsyncChannelGroupUtil.java
index fe0136e..6d1413b 100644
--- a/java/org/apache/tomcat/websocket/AsyncChannelGroupUtil.java
+++ b/java/org/apache/tomcat/websocket/AsyncChannelGroupUtil.java
@@ -87,7 +87,7 @@ public class AsyncChannelGroupUtil {
                     0,
                     Integer.MAX_VALUE,
                     Long.MAX_VALUE, TimeUnit.MILLISECONDS,
-                    new SynchronousQueue<Runnable>(),
+                    new SynchronousQueue<>(),
                     new AsyncIOThreadFactory());
 
             try {
diff --git a/java/org/apache/tomcat/websocket/Constants.java b/java/org/apache/tomcat/websocket/Constants.java
index 09dbc73..466a541 100644
--- a/java/org/apache/tomcat/websocket/Constants.java
+++ b/java/org/apache/tomcat/websocket/Constants.java
@@ -146,7 +146,7 @@ public class Constants {
 
     static {
         if (DISABLE_BUILTIN_EXTENSIONS) {
-            INSTALLED_EXTENSIONS = Collections.unmodifiableList(new ArrayList<Extension>());
+            INSTALLED_EXTENSIONS = Collections.unmodifiableList(new ArrayList<>());
         } else {
             List<Extension> installed = new ArrayList<>(1);
             installed.add(new WsExtension("permessage-deflate"));
diff --git a/java/org/apache/tomcat/websocket/server/WsServerContainer.java b/java/org/apache/tomcat/websocket/server/WsServerContainer.java
index 3221ddf..3b9708b 100644
--- a/java/org/apache/tomcat/websocket/server/WsServerContainer.java
+++ b/java/org/apache/tomcat/websocket/server/WsServerContainer.java
@@ -429,7 +429,7 @@ public class WsServerContainer extends WsWebSocketContainer
         Set<WsSession> wsSessions = authenticatedSessions.get(httpSessionId);
         if (wsSessions == null) {
             wsSessions = Collections.newSetFromMap(
-                     new ConcurrentHashMap<WsSession,Boolean>());
+                     new ConcurrentHashMap<>());
              authenticatedSessions.putIfAbsent(httpSessionId, wsSessions);
              wsSessions = authenticatedSessions.get(httpSessionId);
         }
diff --git a/test/org/apache/catalina/loader/TestWebappClassLoaderExecutorMemoryLeak.java b/test/org/apache/catalina/loader/TestWebappClassLoaderExecutorMemoryLeak.java
index 5f8e22b..63120ba 100644
--- a/test/org/apache/catalina/loader/TestWebappClassLoaderExecutorMemoryLeak.java
+++ b/test/org/apache/catalina/loader/TestWebappClassLoaderExecutorMemoryLeak.java
@@ -92,7 +92,7 @@ public class TestWebappClassLoaderExecutorMemoryLeak extends TomcatBaseTest {
             resp.getWriter().println(
                     "The current thread served " + this + " servlet");
             tpe = new ThreadPoolExecutor(tpSize, tpSize, 50000L,
-                    TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>());
+                    TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>());
 
             Task[] tasks = new Task[nTasks];
             for (int i = 0; i < nTasks; i++) {
diff --git a/test/org/apache/catalina/startup/TestContextConfigAnnotation.java b/test/org/apache/catalina/startup/TestContextConfigAnnotation.java
index 1321c9b..0521cbf 100644
--- a/test/org/apache/catalina/startup/TestContextConfigAnnotation.java
+++ b/test/org/apache/catalina/startup/TestContextConfigAnnotation.java
@@ -284,20 +284,18 @@ public class TestContextConfigAnnotation {
 
         // Add an SCI that has no interest in any type
         SCI sciNone = new SCI();
-        config.initializerClassMap.put(sciNone, new HashSet<Class<?>>());
+        config.initializerClassMap.put(sciNone, new HashSet<>());
 
         // Add an SCI with an interest in Servlets
         SCI sciServlet = new SCI();
-        config.initializerClassMap.put(sciServlet, new HashSet<Class<?>>());
-        config.typeInitializerMap.put(Servlet.class,
-                new HashSet<ServletContainerInitializer>());
+        config.initializerClassMap.put(sciServlet, new HashSet<>());
+        config.typeInitializerMap.put(Servlet.class, new HashSet<>());
         config.typeInitializerMap.get(Servlet.class).add(sciServlet);
 
         // Add an SCI with an interest in Objects - i.e. everything
         SCI sciObject = new SCI();
-        config.initializerClassMap.put(sciObject, new HashSet<Class<?>>());
-        config.typeInitializerMap.put(Object.class,
-                new HashSet<ServletContainerInitializer>());
+        config.initializerClassMap.put(sciObject, new HashSet<>());
+        config.typeInitializerMap.put(Object.class, new HashSet<>());
         config.typeInitializerMap.get(Object.class).add(sciObject);
 
         // Scan Servlet, Filter, Servlet, Listener
diff --git a/test/org/apache/tomcat/websocket/TestUtil.java b/test/org/apache/tomcat/websocket/TestUtil.java
index 9c64417..c433403 100644
--- a/test/org/apache/tomcat/websocket/TestUtil.java
+++ b/test/org/apache/tomcat/websocket/TestUtil.java
@@ -459,11 +459,11 @@ public class TestUtil {
 
     @Test(expected=IllegalArgumentException.class)
     public void testParseExtensionHeaderInvalid01() {
-        Util.parseExtensionHeader(new ArrayList<Extension>(), "ext;a=\"1;b=2");
+        Util.parseExtensionHeader(new ArrayList<>(), "ext;a=\"1;b=2");
     }
 
     @Test(expected=IllegalArgumentException.class)
     public void testParseExtensionHeaderInvalid02() {
-        Util.parseExtensionHeader(new ArrayList<Extension>(), "ext;a=1\";b=2");
+        Util.parseExtensionHeader(new ArrayList<>(), "ext;a=1\";b=2");
     }
 }


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