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