Author: markt
Date: Thu Oct  5 12:44:21 2017
New Revision: 1811198

URL: http://svn.apache.org/viewvc?rev=1811198&view=rev
Log:
Fix some more deprecation warnings when building with Java 9.
Use of Class.newInstance() in o.a.catalina

Modified:
    tomcat/trunk/java/org/apache/catalina/filters/CsrfPreventionFilterBase.java
    tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java
    tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java
    tomcat/trunk/java/org/apache/catalina/mbeans/BaseCatalinaMBean.java
    tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java
    tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
    tomcat/trunk/java/org/apache/catalina/realm/JDBCRealm.java
    tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java
    tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java
    tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java
    tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java
    tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java
    tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java
    tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
    tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java
    tomcat/trunk/java/org/apache/catalina/startup/LifecycleListenerRule.java
    tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java
    tomcat/trunk/java/org/apache/catalina/startup/UserConfig.java
    tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java
    tomcat/trunk/java/org/apache/catalina/storeconfig/StoreAppender.java
    
tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java
    tomcat/trunk/java/org/apache/catalina/storeconfig/StoreContextAppender.java
    tomcat/trunk/java/org/apache/catalina/storeconfig/StoreFactoryRule.java
    tomcat/trunk/java/org/apache/catalina/util/SessionIdGeneratorBase.java
    tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java
    tomcat/trunk/java/org/apache/catalina/valves/rewrite/RewriteValve.java

Modified: 
tomcat/trunk/java/org/apache/catalina/filters/CsrfPreventionFilterBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/CsrfPreventionFilterBase.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/filters/CsrfPreventionFilterBase.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/filters/CsrfPreventionFilterBase.java 
Thu Oct  5 12:44:21 2017
@@ -78,8 +78,8 @@ public abstract class CsrfPreventionFilt
 
         try {
             Class<?> clazz = Class.forName(randomClass);
-            randomSource = (Random) clazz.newInstance();
-        } catch (ClassNotFoundException | InstantiationException | 
IllegalAccessException e) {
+            randomSource = (Random) 
clazz.getDeclaredConstructor().newInstance();
+        } catch (ReflectiveOperationException e) {
             ServletException se = new ServletException(sm.getString(
                     "csrfPrevention.invalidRandomClass", randomClass), e);
             throw se;

Modified: 
tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/ha/session/ClusterManagerBase.java 
Thu Oct  5 12:44:21 2017
@@ -153,12 +153,12 @@ public abstract class ClusterManagerBase
         copy.setSecureRandomAlgorithm(getSecureRandomAlgorithm());
         if (getSessionIdGenerator() != null) {
             try {
-                SessionIdGenerator copyIdGenerator = 
sessionIdGeneratorClass.newInstance();
+                SessionIdGenerator copyIdGenerator = 
sessionIdGeneratorClass.getDeclaredConstructor().newInstance();
                 
copyIdGenerator.setSessionIdLength(getSessionIdGenerator().getSessionIdLength());
                 
copyIdGenerator.setJvmRoute(getSessionIdGenerator().getJvmRoute());
                 copy.setSessionIdGenerator(copyIdGenerator);
-            } catch (InstantiationException | IllegalAccessException e) {
-             // Ignore
+            } catch (ReflectiveOperationException e) {
+                // Ignore
             }
         }
         copy.setRecordAllActions(isRecordAllActions());

Modified: 
tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java Thu 
Oct  5 12:44:21 2017
@@ -1576,7 +1576,7 @@ public abstract class WebappClassLoaderB
             Class<?> lpClass =
                 defineClass("org.apache.catalina.loader.JdbcLeakPrevention",
                     classBytes, 0, offset, 
this.getClass().getProtectionDomain());
-            Object obj = lpClass.newInstance();
+            Object obj = lpClass.getDeclaredConstructor().newInstance();
             @SuppressWarnings("unchecked")
             List<String> driverNames = (List<String>) obj.getClass().getMethod(
                     "clearJdbcDriverRegistrations").invoke(obj);

Modified: tomcat/trunk/java/org/apache/catalina/mbeans/BaseCatalinaMBean.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mbeans/BaseCatalinaMBean.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/mbeans/BaseCatalinaMBean.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/mbeans/BaseCatalinaMBean.java Thu Oct 
 5 12:44:21 2017
@@ -39,8 +39,8 @@ public abstract class BaseCatalinaMBean<
 
     protected static Object newInstance(String type) throws MBeanException {
         try {
-            return Class.forName(type).newInstance();
-        } catch (InstantiationException | IllegalAccessException | 
ClassNotFoundException e) {
+            return Class.forName(type).getDeclaredConstructor().newInstance();
+        } catch (ReflectiveOperationException e) {
             throw new MBeanException(e);
         }
     }

Modified: tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java (original)
+++ tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java Thu Oct  5 
12:44:21 2017
@@ -631,7 +631,7 @@ public class MBeanFactory {
             throw new IllegalArgumentException();
         }
 
-        Valve valve = (Valve) Class.forName(className).newInstance();
+        Valve valve = (Valve) 
Class.forName(className).getDeclaredConstructor().newInstance();
 
         container.getPipeline().addValve(valve);
 

Modified: tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java Thu 
Oct  5 12:44:21 2017
@@ -243,8 +243,8 @@ public class JAASMemoryLoginModule exten
         if (option instanceof String) {
             try {
                 Class<?> clazz = Class.forName((String) option);
-                credentialHandler = (CredentialHandler) clazz.newInstance();
-            } catch (InstantiationException | IllegalAccessException | 
ClassNotFoundException e) {
+                credentialHandler = (CredentialHandler) 
clazz.getDeclaredConstructor().newInstance();
+            } catch (ReflectiveOperationException e) {
                 throw new IllegalArgumentException(e);
             }
         }

Modified: tomcat/trunk/java/org/apache/catalina/realm/JDBCRealm.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/JDBCRealm.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/realm/JDBCRealm.java (original)
+++ tomcat/trunk/java/org/apache/catalina/realm/JDBCRealm.java Thu Oct  5 
12:44:21 2017
@@ -639,7 +639,7 @@ public class JDBCRealm
         if (driver == null) {
             try {
                 Class<?> clazz = Class.forName(driverName);
-                driver = (Driver) clazz.newInstance();
+                driver = (Driver) clazz.getDeclaredConstructor().newInstance();
             } catch (Throwable e) {
                 ExceptionUtils.handleThrowable(e);
                 throw new SQLException(e.getMessage(), e);

Modified: tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java (original)
+++ tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java Thu Oct  5 
12:44:21 2017
@@ -1201,8 +1201,7 @@ public class JNDIRealm extends RealmBase
                         "jndiRealm.invalidHostnameVerifier",
                         hostNameVerifierClassName));
             }
-        } catch (ClassNotFoundException | SecurityException
-                | InstantiationException | IllegalAccessException e) {
+        } catch (ReflectiveOperationException | SecurityException e) {
             throw new IllegalArgumentException(sm.getString(
                     "jndiRealm.invalidHostnameVerifier",
                     hostNameVerifierClassName), e);
@@ -1246,10 +1245,9 @@ public class JNDIRealm extends RealmBase
     }
 
     private Object constructInstance(String className)
-            throws ClassNotFoundException, InstantiationException,
-            IllegalAccessException {
+            throws ReflectiveOperationException {
         Class<?> clazz = Class.forName(className);
-        return clazz.newInstance();
+        return clazz.getDeclaredConstructor().newInstance();
     }
 
     // ---------------------------------------------------------- Realm Methods
@@ -2439,8 +2437,7 @@ public class JNDIRealm extends RealmBase
                         "jndiRealm.invalidSslSocketFactory",
                         className));
             }
-        } catch (ClassNotFoundException | SecurityException
-                | InstantiationException | IllegalAccessException e) {
+        } catch (ReflectiveOperationException | SecurityException e) {
             throw new IllegalArgumentException(sm.getString(
                     "jndiRealm.invalidSslSocketFactory",
                     className), e);

Modified: tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties Thu Oct 
 5 12:44:21 2017
@@ -68,9 +68,7 @@ realmBase.authenticateSuccess=Username [
 realmBase.gssNameFail=Failed to extract name from established GSSContext
 realmBase.gotX509Username=Got user name from X509 certificate: [{0}]
 realmBase.createUsernameRetriever.ClassCastException=Class [{0}] is not an 
X509UsernameRetriever.
-realmBase.createUsernameRetriever.ClassNotFoundException=Cannot find class 
[{0}].
-realmBase.createUsernameRetriever.InstantiationException=Cannot create object 
of type [{0}].
-realmBase.createUsernameRetriever.IllegalAccessException=Cannot create object 
of type [{0}].
+realmBase.createUsernameRetriever.newInstance=Cannot create object of type 
[{0}].
 realmBase.credentialHandler.customCredentialHandler=Unable to set the property 
[{0}] to value [{1}] as a custom CredentialHandler has been configured
 realmBase.cannotGetRoles=Cannot get roles from principal [{0}]
 realmBase.gssContextNotEstablished=Authenticator implementation error: the 
passed security context is not fully established

Modified: tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java Thu Oct  5 
12:44:21 2017
@@ -1402,11 +1402,11 @@ public abstract class RealmBase extends
         if (handlerClassName == null) {
             for (Class<? extends DigestCredentialHandlerBase> clazz : 
credentialHandlerClasses) {
                 try {
-                    handler = clazz.newInstance();
+                    handler = clazz.getDeclaredConstructor().newInstance();
                     if (IntrospectionUtils.setProperty(handler, "algorithm", 
algorithm)) {
                         break;
                     }
-                } catch (InstantiationException | IllegalAccessException e) {
+                } catch (ReflectiveOperationException e) {
                     // This isn't good.
                     throw new RuntimeException(e);
                 }
@@ -1414,10 +1414,9 @@ public abstract class RealmBase extends
         } else {
             try {
                 Class<?> clazz = Class.forName(handlerClassName);
-                handler = (DigestCredentialHandlerBase) clazz.newInstance();
+                handler = (DigestCredentialHandlerBase) 
clazz.getDeclaredConstructor().newInstance();
                 IntrospectionUtils.setProperty(handler, "algorithm", 
algorithm);
-            } catch (InstantiationException | IllegalAccessException
-                    | ClassNotFoundException e) {
+            } catch (ReflectiveOperationException e) {
                 throw new RuntimeException(e);
             }
         }
@@ -1548,13 +1547,9 @@ public abstract class RealmBase extends
         try {
             @SuppressWarnings("unchecked")
             Class<? extends X509UsernameRetriever> clazz = (Class<? extends 
X509UsernameRetriever>)Class.forName(className);
-            return clazz.newInstance();
-        } catch (ClassNotFoundException e) {
-            throw new 
LifecycleException(sm.getString("realmBase.createUsernameRetriever.ClassNotFoundException",
 className), e);
-        } catch (InstantiationException e) {
-            throw new 
LifecycleException(sm.getString("realmBase.createUsernameRetriever.InstantiationException",
 className), e);
-        } catch (IllegalAccessException e) {
-            throw new 
LifecycleException(sm.getString("realmBase.createUsernameRetriever.IllegalAccessException",
 className), e);
+            return clazz.getDeclaredConstructor().newInstance();
+        } catch (ReflectiveOperationException e) {
+            throw new 
LifecycleException(sm.getString("realmBase.createUsernameRetriever.newInstance",
 className), e);
         } catch (ClassCastException e) {
             throw new 
LifecycleException(sm.getString("realmBase.createUsernameRetriever.ClassCastException",
 className), e);
         }

Modified: tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java Thu 
Oct  5 12:44:21 2017
@@ -115,7 +115,7 @@ public final class SecurityClassLoad {
         loader.loadClass(basePackage + "http11.Constants");
         // Make sure system property is read at this point
         Class<?> clazz = loader.loadClass(basePackage + "Constants");
-        clazz.newInstance();
+        clazz.getDeclaredConstructor().newInstance();
         loader.loadClass(basePackage + "http2.Stream$PrivilegedPush");
     }
 
@@ -178,7 +178,7 @@ public final class SecurityClassLoad {
         loader.loadClass(basePackage + "util.http.NamesEnumerator");
         // Make sure system property is read at this point
         Class<?> clazz = loader.loadClass(basePackage + 
"util.http.FastHttpDateFormat");
-        clazz.newInstance();
+        clazz.getDeclaredConstructor().newInstance();
         loader.loadClass(basePackage + "util.http.parser.HttpParser");
         loader.loadClass(basePackage + "util.http.parser.MediaType");
         loader.loadClass(basePackage + "util.http.parser.MediaTypeCache");

Modified: tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java (original)
+++ tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java Thu Oct  5 
12:44:21 2017
@@ -920,8 +920,8 @@ public class JDBCStore extends StoreBase
         if (driver == null) {
             try {
                 Class<?> clazz = Class.forName(driverName);
-                driver = (Driver) clazz.newInstance();
-            } catch (ClassNotFoundException | InstantiationException | 
IllegalAccessException e) {
+                driver = (Driver) clazz.getDeclaredConstructor().newInstance();
+            } catch (ReflectiveOperationException e) {
                 manager.getContext().getLogger().error(
                         sm.getString(getStoreName() + 
".checkConnectionClassNotFoundException",
                         e.toString()));

Modified: tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java Thu Oct  5 
12:44:21 2017
@@ -377,11 +377,9 @@ public abstract class ManagerBase extend
             return sessionIdGenerator;
         } else if (sessionIdGeneratorClass != null) {
             try {
-                sessionIdGenerator = sessionIdGeneratorClass.newInstance();
+                sessionIdGenerator = 
sessionIdGeneratorClass.getDeclaredConstructor().newInstance();
                 return sessionIdGenerator;
-            } catch(IllegalAccessException ex) {
-                // Ignore
-            } catch(InstantiationException ex) {
+            } catch(ReflectiveOperationException ex) {
                 // Ignore
             }
         }

Modified: tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java Thu Oct  5 
12:44:21 2017
@@ -266,7 +266,7 @@ public final class Bootstrap {
         Class<?> startupClass =
             catalinaLoader.loadClass
             ("org.apache.catalina.startup.Catalina");
-        Object startupInstance = startupClass.newInstance();
+        Object startupInstance = 
startupClass.getDeclaredConstructor().newInstance();
 
         // Set the shared extensions class loader
         if (log.isDebugEnabled())

Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Thu Oct  5 
12:44:21 2017
@@ -399,7 +399,7 @@ public class ContextConfig implements Li
             // Instantiate and install an Authenticator of the requested class
             try {
                 Class<?> authenticatorClass = Class.forName(authenticatorName);
-                authenticator = (Valve) authenticatorClass.newInstance();
+                authenticator = (Valve) 
authenticatorClass.getDeclaredConstructor().newInstance();
             } catch (Throwable t) {
                 ExceptionUtils.handleThrowable(t);
                 log.error(sm.getString(

Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Thu Oct  5 
12:44:21 2017
@@ -584,7 +584,7 @@ public class HostConfig implements Lifec
 
             Class<?> clazz = Class.forName(host.getConfigClass());
             LifecycleListener listener =
-                (LifecycleListener) clazz.newInstance();
+                (LifecycleListener) 
clazz.getDeclaredConstructor().newInstance();
             context.addLifecycleListener(listener);
 
             context.setConfigFile(contextXml.toURI().toURL());
@@ -891,7 +891,8 @@ public class HostConfig implements Lifec
                         cn.getPath(), Constants.ApplicationContextXml,
                         new File(host.getConfigBaseFile(), cn.getBaseName() + 
".xml")));
             } else {
-                context = (Context) Class.forName(contextClass).newInstance();
+                context = (Context) Class.forName(
+                        contextClass).getDeclaredConstructor().newInstance();
             }
         } catch (Throwable t) {
             ExceptionUtils.handleThrowable(t);
@@ -968,7 +969,7 @@ public class HostConfig implements Lifec
 
             Class<?> clazz = Class.forName(host.getConfigClass());
             LifecycleListener listener =
-                (LifecycleListener) clazz.newInstance();
+                (LifecycleListener) 
clazz.getDeclaredConstructor().newInstance();
             context.addLifecycleListener(listener);
 
             context.setName(cn.getName());
@@ -1119,12 +1120,13 @@ public class HostConfig implements Lifec
                         cn.getPath(), xml, xmlCopy));
                 context = new FailedContext();
             } else {
-                context = (Context) Class.forName(contextClass).newInstance();
+                context = (Context) Class.forName(
+                        contextClass).getDeclaredConstructor().newInstance();
             }
 
             Class<?> clazz = Class.forName(host.getConfigClass());
             LifecycleListener listener =
-                (LifecycleListener) clazz.newInstance();
+                    (LifecycleListener) 
clazz.getDeclaredConstructor().newInstance();
             context.addLifecycleListener(listener);
 
             context.setName(cn.getName());

Modified: 
tomcat/trunk/java/org/apache/catalina/startup/LifecycleListenerRule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/LifecycleListenerRule.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/LifecycleListenerRule.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/startup/LifecycleListenerRule.java 
Thu Oct  5 12:44:21 2017
@@ -125,7 +125,7 @@ public class LifecycleListenerRule exten
         // Instantiate a new LifecycleListener implementation object
         Class<?> clazz = Class.forName(className);
         LifecycleListener listener =
-            (LifecycleListener) clazz.newInstance();
+            (LifecycleListener) clazz.getDeclaredConstructor().newInstance();
 
         // Add this LifecycleListener to our associated component
         c.addLifecycleListener(listener);

Modified: tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java Thu Oct  5 
12:44:21 2017
@@ -598,8 +598,8 @@ public class Tomcat {
         LifecycleListener listener = null;
         try {
             Class<?> clazz = Class.forName(getHost().getConfigClass());
-            listener = (LifecycleListener) clazz.newInstance();
-        } catch (ClassNotFoundException | InstantiationException | 
IllegalAccessException e) {
+            listener = (LifecycleListener) 
clazz.getDeclaredConstructor().newInstance();
+        } catch (ReflectiveOperationException e) {
             // Wrap in IAE since we can't easily change the method signature to
             // to throw the specific checked exceptions
             throw new IllegalArgumentException(e);
@@ -1030,10 +1030,8 @@ public class Tomcat {
             if (singleThreadModel) {
                 Servlet instance;
                 try {
-                    instance = existing.getClass().newInstance();
-                } catch (InstantiationException e) {
-                    throw new ServletException(e);
-                } catch (IllegalAccessException e) {
+                    instance = 
existing.getClass().getDeclaredConstructor().newInstance();
+                } catch (ReflectiveOperationException e) {
                     throw new ServletException(e);
                 }
                 instance.init(facade);

Modified: tomcat/trunk/java/org/apache/catalina/startup/UserConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/UserConfig.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/UserConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/UserConfig.java Thu Oct  5 
12:44:21 2017
@@ -289,7 +289,7 @@ public final class UserConfig
         UserDatabase database = null;
         try {
             Class<?> clazz = Class.forName(userClass);
-            database = (UserDatabase) clazz.newInstance();
+            database = (UserDatabase) 
clazz.getDeclaredConstructor().newInstance();
             database.setUserConfig(this);
         } catch (Exception e) {
             host.getLogger().error(sm.getString("userConfig.database"), e);
@@ -340,13 +340,12 @@ public final class UserConfig
         // Deploy the web application for this user
         try {
             Class<?> clazz = Class.forName(contextClass);
-            Context context =
-              (Context) clazz.newInstance();
+            Context context = (Context) 
clazz.getDeclaredConstructor().newInstance();
             context.setPath(contextPath);
             context.setDocBase(app.toString());
             clazz = Class.forName(configClass);
             LifecycleListener listener =
-                (LifecycleListener) clazz.newInstance();
+                (LifecycleListener) 
clazz.getDeclaredConstructor().newInstance();
             context.addLifecycleListener(listener);
             host.addChild(context);
         } catch (Exception e) {

Modified: tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java Thu 
Oct  5 12:44:21 2017
@@ -186,9 +186,8 @@ public class WebappServiceLoader<T> {
         for (String serviceClass : servicesFound) {
             try {
                 Class<?> clazz = Class.forName(serviceClass, true, loader);
-                services.add(serviceType.cast(clazz.newInstance()));
-            } catch (ClassNotFoundException | InstantiationException |
-                    IllegalAccessException | ClassCastException e) {
+                
services.add(serviceType.cast(clazz.getDeclaredConstructor().newInstance()));
+            } catch (ReflectiveOperationException | ClassCastException e) {
                 throw new IOException(e);
             }
         }

Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/StoreAppender.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/StoreAppender.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/storeconfig/StoreAppender.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/storeconfig/StoreAppender.java Thu 
Oct  5 12:44:21 2017
@@ -318,12 +318,10 @@ public class StoreAppender {
      *
      * @param bean The bean
      * @return an object from same class as bean parameter
-     * @throws InstantiationException Error creating a new instance
-     * @throws IllegalAccessException Another error occurred
+     * @throws ReflectiveOperationException Error creating a new instance
      */
-    public Object defaultInstance(Object bean) throws InstantiationException,
-            IllegalAccessException {
-        return bean.getClass().newInstance();
+    public Object defaultInstance(Object bean) throws 
ReflectiveOperationException {
+        return bean.getClass().getDeclaredConstructor().newInstance();
     }
 
     /**

Modified: 
tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java
 Thu Oct  5 12:44:21 2017
@@ -84,7 +84,7 @@ public class StoreConfigLifecycleListene
         try {
             Class<?> clazz = Class.forName(getStoreConfigClass(), true, this
                     .getClass().getClassLoader());
-            storeConfig = (IStoreConfig) clazz.newInstance();
+            storeConfig = (IStoreConfig) 
clazz.getDeclaredConstructor().newInstance();
             if (null == getStoreRegistry())
                 // default Loading
                 loader.load();

Modified: 
tomcat/trunk/java/org/apache/catalina/storeconfig/StoreContextAppender.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/StoreContextAppender.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/storeconfig/StoreContextAppender.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/storeconfig/StoreContextAppender.java 
Thu Oct  5 12:44:21 2017
@@ -152,8 +152,7 @@ public class StoreContextAppender extend
      * @see 
org.apache.catalina.storeconfig.StoreAppender#defaultInstance(java.lang.Object)
      */
     @Override
-    public Object defaultInstance(Object bean) throws InstantiationException,
-            IllegalAccessException {
+    public Object defaultInstance(Object bean) throws 
ReflectiveOperationException {
         if (bean instanceof StandardContext) {
             StandardContext defaultContext = new StandardContext();
             /*

Modified: 
tomcat/trunk/java/org/apache/catalina/storeconfig/StoreFactoryRule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/StoreFactoryRule.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/storeconfig/StoreFactoryRule.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/storeconfig/StoreFactoryRule.java Thu 
Oct  5 12:44:21 2017
@@ -107,13 +107,10 @@ public class StoreFactoryRule extends Ru
      * @param defaultName Default Class
      * @param attributes current digester attribute elements
      * @return new configured object instance
-     * @throws ClassNotFoundException Class was not found
-     * @throws InstantiationException Error creating an instance
-     * @throws IllegalAccessException Security exception
+     * @throws ReflectiveOperationException Error creating an instance
      */
     protected Object newInstance(String attr, String defaultName,
-            Attributes attributes) throws ClassNotFoundException,
-            InstantiationException, IllegalAccessException {
+            Attributes attributes) throws ReflectiveOperationException {
         String className = defaultName;
         if (attr != null) {
             String value = attributes.getValue(attr);
@@ -121,6 +118,6 @@ public class StoreFactoryRule extends Ru
                 className = value;
         }
         Class<?> clazz = Class.forName(className);
-        return clazz.newInstance();
+        return clazz.getDeclaredConstructor().newInstance();
     }
 }
\ No newline at end of file

Modified: tomcat/trunk/java/org/apache/catalina/util/SessionIdGeneratorBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/SessionIdGeneratorBase.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/util/SessionIdGeneratorBase.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/util/SessionIdGeneratorBase.java Thu 
Oct  5 12:44:21 2017
@@ -220,7 +220,7 @@ public abstract class SessionIdGenerator
             try {
                 // Construct and seed a new random number generator
                 Class<?> clazz = Class.forName(secureRandomClass);
-                result = (SecureRandom) clazz.newInstance();
+                result = (SecureRandom) 
clazz.getDeclaredConstructor().newInstance();
             } catch (Exception e) {
                 log.error(sm.getString("sessionIdGeneratorBase.random",
                         secureRandomClass), e);

Modified: tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java Thu 
Oct  5 12:44:21 2017
@@ -568,7 +568,7 @@ public final class JDBCAccessLogValve ex
         if (driver == null) {
             try {
                 Class<?> clazz = Class.forName(driverName);
-                driver = (Driver) clazz.newInstance();
+                driver = (Driver) clazz.getDeclaredConstructor().newInstance();
             } catch (Throwable e) {
                 ExceptionUtils.handleThrowable(e);
                 throw new SQLException(e.getMessage(), e);

Modified: tomcat/trunk/java/org/apache/catalina/valves/rewrite/RewriteValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/rewrite/RewriteValve.java?rev=1811198&r1=1811197&r2=1811198&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/valves/rewrite/RewriteValve.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/valves/rewrite/RewriteValve.java Thu 
Oct  5 12:44:21 2017
@@ -650,7 +650,8 @@ public class RewriteValve extends ValveB
                 String rewriteMapClassName = tokenizer.nextToken();
                 RewriteMap map = null;
                 try {
-                    map = (RewriteMap) 
(Class.forName(rewriteMapClassName).newInstance());
+                    map = (RewriteMap) (Class.forName(
+                            
rewriteMapClassName).getDeclaredConstructor().newInstance());
                 } catch (Exception e) {
                     throw new IllegalArgumentException("Invalid map className: 
" + line);
                 }



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

Reply via email to