You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2025/07/25 13:30:37 UTC
(jackrabbit) 01/01: JCR-5154 Remove deprecated Class.newInstance()
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch feature/remove-deprecated-class-newinstance
in repository https://gitbox.apache.org/repos/asf/jackrabbit.git
commit 2a179e0ae23973f68c7df788bb97d247ca889e42
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Fri Jul 25 15:30:12 2025 +0200
JCR-5154 Remove deprecated Class.newInstance()
---
.../main/java/org/apache/jackrabbit/core/SearchManager.java | 2 +-
.../apache/jackrabbit/core/config/SimpleBeanFactory.java | 6 ++++--
.../apache/jackrabbit/core/query/lucene/SearchIndex.java | 12 ++++++------
.../core/security/principal/ProviderRegistryImpl.java | 13 ++++---------
.../core/query/lucene/directory/DirectoryManagerTest.java | 8 ++++----
.../apache/jackrabbit/core/util/db/ConnectionFactory.java | 10 ++++------
.../org/apache/jackrabbit/client/RepositoryFactoryImpl.java | 2 +-
.../server/remoting/davex/ProtectedRemoveManager.java | 9 +++------
.../org/apache/jackrabbit/webdav/simple/ResourceConfig.java | 2 +-
.../apache/jackrabbit/test/api/RepositoryFactoryTest.java | 2 +-
.../apache/jackrabbit/jcr2spi/Jcr2spiRepositoryFactory.java | 4 ++--
.../java/org/apache/jackrabbit/jcr2spi/RepositoryImpl.java | 2 +-
.../security/authorization/AccessControlProviderStub.java | 2 +-
.../java/org/apache/jackrabbit/vfs/ext/ds/VFSDataStore.java | 2 +-
.../org/apache/jackrabbit/vfs/ext/fs/VFSFileSystem.java | 2 +-
.../apache/jackrabbit/webdav/version/report/ReportType.java | 8 +++-----
16 files changed, 38 insertions(+), 48 deletions(-)
diff --git a/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SearchManager.java b/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SearchManager.java
index 05cd8fc40..f98a9e209 100644
--- a/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SearchManager.java
+++ b/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SearchManager.java
@@ -431,7 +431,7 @@ public class SearchManager implements SynchronousEventListener {
protected AbstractQueryImpl createQueryInstance() throws RepositoryException {
try {
String queryImplClassName = handler.getQueryClass();
- Object obj = Class.forName(queryImplClassName).newInstance();
+ Object obj = Class.forName(queryImplClassName).getDeclaredConstructor().newInstance();
if (obj instanceof AbstractQueryImpl) {
return (AbstractQueryImpl) obj;
} else {
diff --git a/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/config/SimpleBeanFactory.java b/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/config/SimpleBeanFactory.java
index d81230003..56dd2daa1 100644
--- a/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/config/SimpleBeanFactory.java
+++ b/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/config/SimpleBeanFactory.java
@@ -17,6 +17,8 @@
package org.apache.jackrabbit.core.config;
+import java.lang.reflect.InvocationTargetException;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,12 +41,12 @@ public class SimpleBeanFactory implements BeanFactory {
}
// Instantiate the object using the default constructor
- return objectClass.newInstance();
+ return objectClass.getDeclaredConstructor().newInstance();
} catch (ClassNotFoundException e) {
throw new ConfigurationException(
"Configured bean implementation class " + cname
+ " was not found.", e);
- } catch (InstantiationException e) {
+ } catch (InstantiationException|IllegalArgumentException|InvocationTargetException|NoSuchMethodException|SecurityException e) {
throw new ConfigurationException(
"Configured bean implementation class " + cname
+ " can not be instantiated.", e);
diff --git a/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java b/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java
index 8e4db22cc..0f79761fa 100644
--- a/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java
+++ b/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java
@@ -933,7 +933,7 @@ public class SearchIndex extends AbstractQueryHandler {
throws IOException {
ExcerptProvider ep;
try {
- ep = (ExcerptProvider) excerptProviderClass.newInstance();
+ ep = (ExcerptProvider) excerptProviderClass.getDeclaredConstructor().newInstance();
} catch (Exception e) {
throw Util.createIOException(e);
}
@@ -1307,7 +1307,7 @@ public class SearchIndex extends AbstractQueryHandler {
SynonymProvider sp = null;
if (synonymProviderClass != null) {
try {
- sp = (SynonymProvider) synonymProviderClass.newInstance();
+ sp = (SynonymProvider) synonymProviderClass.getDeclaredConstructor().newInstance();
sp.initialize(createSynonymProviderConfigResource());
} catch (Exception e) {
log.warn("Exception initializing synonym provider: "
@@ -1331,7 +1331,7 @@ public class SearchIndex extends AbstractQueryHandler {
throw new IOException(directoryManagerClass +
" is not a DirectoryManager implementation");
}
- DirectoryManager df = (DirectoryManager) clazz.newInstance();
+ DirectoryManager df = (DirectoryManager) clazz.getDeclaredConstructor().newInstance();
df.init(this);
return df;
} catch (IOException e) {
@@ -1356,7 +1356,7 @@ public class SearchIndex extends AbstractQueryHandler {
throw new IOException(redoLogFactoryClass +
" is not a RedoLogFactory implementation");
}
- return (RedoLogFactory) clazz.newInstance();
+ return (RedoLogFactory) clazz.getDeclaredConstructor().newInstance();
} catch (Exception e) {
IOException ex = new IOException();
ex.initCause(e);
@@ -1420,7 +1420,7 @@ public class SearchIndex extends AbstractQueryHandler {
SpellChecker spCheck = null;
if (spellCheckerClass != null) {
try {
- spCheck = (SpellChecker) spellCheckerClass.newInstance();
+ spCheck = (SpellChecker) spellCheckerClass.getDeclaredConstructor().newInstance();
spCheck.init(this);
} catch (Exception e) {
log.warn("Exception initializing spell checker: "
@@ -2422,7 +2422,7 @@ public class SearchIndex extends AbstractQueryHandler {
public void setSimilarityClass(String className) {
try {
Class<?> similarityClass = Class.forName(className);
- similarity = (Similarity) similarityClass.newInstance();
+ similarity = (Similarity) similarityClass.getDeclaredConstructor().newInstance();
} catch (Exception e) {
log.warn("Invalid Similarity class: " + className, e);
}
diff --git a/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/ProviderRegistryImpl.java b/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/ProviderRegistryImpl.java
index 6a233db45..674a5e8c0 100644
--- a/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/ProviderRegistryImpl.java
+++ b/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/ProviderRegistryImpl.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.core.security.principal;
+import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -128,17 +129,11 @@ public class ProviderRegistryImpl implements PrincipalProviderRegistry {
}
try {
- Class pc = Class.forName(className, true, BeanConfig.getDefaultClassLoader());
- PrincipalProvider pp = (PrincipalProvider) pc.newInstance();
+ Class<?> pc = Class.forName(className, true, BeanConfig.getDefaultClassLoader());
+ PrincipalProvider pp = (PrincipalProvider) pc.getDeclaredConstructor().newInstance();
pp.init(config);
return pp;
- } catch (ClassNotFoundException e) {
- throw new RepositoryException("Unable to create new principal provider.", e);
- } catch (IllegalAccessException e) {
- throw new RepositoryException("Unable to create new principal provider.", e);
- } catch (InstantiationException e) {
- throw new RepositoryException("Unable to create new principal provider.", e);
- } catch (ClassCastException e) {
+ } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
throw new RepositoryException("Unable to create new principal provider.", e);
}
}
diff --git a/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/directory/DirectoryManagerTest.java b/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/directory/DirectoryManagerTest.java
index 5651aaef3..1b80f02c2 100644
--- a/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/directory/DirectoryManagerTest.java
+++ b/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/directory/DirectoryManagerTest.java
@@ -32,7 +32,7 @@ import junit.framework.TestCase;
*/
public class DirectoryManagerTest extends TestCase {
- private static final Collection IMPLEMENTATIONS = Arrays.asList(
+ private static final Collection<Class<?>> IMPLEMENTATIONS = Arrays.asList(
new Class[]{FSDirectoryManager.class, RAMDirectoryManager.class});
private static final SearchIndex INDEX = new SearchIndex();
@@ -91,9 +91,9 @@ public class DirectoryManagerTest extends TestCase {
}
private void execute(Callable callable) throws Exception {
- for (Iterator it = IMPLEMENTATIONS.iterator(); it.hasNext(); ) {
- Class clazz = (Class) it.next();
- DirectoryManager dirMgr = (DirectoryManager) clazz.newInstance();
+ for (Iterator<Class<?>> it = IMPLEMENTATIONS.iterator(); it.hasNext(); ) {
+ Class<?> clazz = it.next();
+ DirectoryManager dirMgr = (DirectoryManager) clazz.getDeclaredConstructor().newInstance();
dirMgr.init(INDEX);
try {
callable.call(dirMgr);
diff --git a/jackrabbit-data/src/main/java/org/apache/jackrabbit/core/util/db/ConnectionFactory.java b/jackrabbit-data/src/main/java/org/apache/jackrabbit/core/util/db/ConnectionFactory.java
index b5241e897..65f63eb56 100644
--- a/jackrabbit-data/src/main/java/org/apache/jackrabbit/core/util/db/ConnectionFactory.java
+++ b/jackrabbit-data/src/main/java/org/apache/jackrabbit/core/util/db/ConnectionFactory.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.core.util.db;
+import java.lang.reflect.InvocationTargetException;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.SQLException;
@@ -286,7 +287,7 @@ public final class ConnectionFactory {
Class<Context> contextClass, String name)
throws RepositoryException {
try {
- Object object = contextClass.newInstance().lookup(name);
+ Object object = contextClass.getDeclaredConstructor().newInstance().lookup(name);
if (object instanceof DataSource) {
return (DataSource) object;
} else {
@@ -294,10 +295,7 @@ public final class ConnectionFactory {
"Object " + object + " with JNDI name "
+ name + " is not a JDBC DataSource");
}
- } catch (InstantiationException e) {
- throw new RepositoryException(
- "Invalid JNDI context: " + contextClass.getName(), e);
- } catch (IllegalAccessException e) {
+ } catch (InstantiationException|IllegalAccessException|IllegalArgumentException|InvocationTargetException|NoSuchMethodException|SecurityException e) {
throw new RepositoryException(
"Invalid JNDI context: " + contextClass.getName(), e);
} catch (NamingException e) {
@@ -328,7 +326,7 @@ public final class ConnectionFactory {
// The JDBC specification recommends the Class.forName
// method without the .newInstance() method call,
// but it is required after a Derby 'shutdown'
- instance = (Driver) driverClass.newInstance();
+ instance = (Driver) driverClass.getDeclaredConstructor().newInstance();
} catch (Throwable e) {
// Ignore exceptions as there's no requirement for
// a JDBC driver class to have a public default constructor
diff --git a/jackrabbit-jcr-client/src/main/java/org/apache/jackrabbit/client/RepositoryFactoryImpl.java b/jackrabbit-jcr-client/src/main/java/org/apache/jackrabbit/client/RepositoryFactoryImpl.java
index a8923f4ad..924689a07 100644
--- a/jackrabbit-jcr-client/src/main/java/org/apache/jackrabbit/client/RepositoryFactoryImpl.java
+++ b/jackrabbit-jcr-client/src/main/java/org/apache/jackrabbit/client/RepositoryFactoryImpl.java
@@ -65,7 +65,7 @@ public class RepositoryFactoryImpl implements RepositoryFactory {
Class<?> repositoryFactoryClass = Class.forName(repositoryFactoryName, true,
Thread.currentThread().getContextClassLoader());
- repositoryFactory = repositoryFactoryClass.newInstance();
+ repositoryFactory = repositoryFactoryClass.getDeclaredConstructor().newInstance();
}
catch (Exception e) {
throw new RepositoryException(e);
diff --git a/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/server/remoting/davex/ProtectedRemoveManager.java b/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/server/remoting/davex/ProtectedRemoveManager.java
index f6e3f785a..3e85135c6 100644
--- a/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/server/remoting/davex/ProtectedRemoveManager.java
+++ b/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/server/remoting/davex/ProtectedRemoveManager.java
@@ -21,6 +21,7 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
@@ -91,14 +92,10 @@ class ProtectedRemoveManager {
if (!className.isEmpty()) {
Class<?> irHandlerClass = Class.forName(className);
if (ProtectedItemRemoveHandler.class.isAssignableFrom(irHandlerClass)) {
- irHandler = (ProtectedItemRemoveHandler) irHandlerClass.newInstance();
+ irHandler = (ProtectedItemRemoveHandler) irHandlerClass.getDeclaredConstructor().newInstance();
}
}
- } catch (ClassNotFoundException e) {
- log.error(e.getMessage(), e);
- } catch (InstantiationException e) {
- log.error(e.getMessage(), e);
- } catch (IllegalAccessException e) {
+ } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
log.error(e.getMessage(), e);
}
return irHandler;
diff --git a/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/ResourceConfig.java b/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/ResourceConfig.java
index 1292b129c..defe7a522 100644
--- a/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/ResourceConfig.java
+++ b/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/ResourceConfig.java
@@ -351,7 +351,7 @@ public class ResourceConfig {
String className = DomUtil.getAttribute(classElem, "name", null);
if (className != null) {
Class<?> c = Class.forName(className);
- instance = c.newInstance();
+ instance = c.getDeclaredConstructor().newInstance();
} else {
log.error("Invalid configuration: missing 'class' element");
}
diff --git a/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/RepositoryFactoryTest.java b/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/RepositoryFactoryTest.java
index 2f39caedc..16a7c1f55 100644
--- a/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/RepositoryFactoryTest.java
+++ b/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/RepositoryFactoryTest.java
@@ -47,7 +47,7 @@ public class RepositoryFactoryTest extends AbstractJCRTest {
fail("Property '" + RepositoryStub.REPOSITORY_FACTORY + "' is not defined.");
} else {
try {
- return (RepositoryFactory) Class.forName(className).newInstance();
+ return (RepositoryFactory) Class.forName(className).getDeclaredConstructor().newInstance();
} catch (Exception e) {
fail(e.toString());
}
diff --git a/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/Jcr2spiRepositoryFactory.java b/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/Jcr2spiRepositoryFactory.java
index b4e00ee38..7200b74fc 100644
--- a/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/Jcr2spiRepositoryFactory.java
+++ b/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/Jcr2spiRepositoryFactory.java
@@ -191,7 +191,7 @@ public class Jcr2spiRepositoryFactory implements RepositoryFactory {
serviceFactoryClass = Class.forName(serviceFactoryName);
}
- Object serviceFactory = serviceFactoryClass.newInstance();
+ Object serviceFactory = serviceFactoryClass.getDeclaredConstructor().newInstance();
if (serviceFactory instanceof RepositoryServiceFactory) {
log.debug("Found RepositoryServiceFactory {}", serviceFactory);
@@ -248,7 +248,7 @@ public class Jcr2spiRepositoryFactory implements RepositoryFactory {
public <T> T getConfiguration(String name, T defaultValue) {
if (parameters.containsKey(name)) {
Object value = parameters.get(name);
- Class clazz = (defaultValue == null)
+ Class<?> clazz = (defaultValue == null)
? value.getClass()
: defaultValue.getClass();
if (clazz.isAssignableFrom(value.getClass())) {
diff --git a/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/RepositoryImpl.java b/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/RepositoryImpl.java
index 712cb5cbe..5dd6d9ce7 100644
--- a/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/RepositoryImpl.java
+++ b/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/RepositoryImpl.java
@@ -243,7 +243,7 @@ public class RepositoryImpl extends AbstractRepository implements Referenceable
}
String repositoryConfigClassName = (String)((StringRefAddr)rclas).getContent();
- Object rof = Class.forName(configFactoryClassName).newInstance();
+ Object rof = Class.forName(configFactoryClassName).getDeclaredConstructor().newInstance();
if (! (rof instanceof ObjectFactory)) {
throw new Exception(rof + " must implement ObjectFactory");
diff --git a/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/security/authorization/AccessControlProviderStub.java b/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/security/authorization/AccessControlProviderStub.java
index 23ace3a6c..fcb2c2b8c 100644
--- a/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/security/authorization/AccessControlProviderStub.java
+++ b/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/security/authorization/AccessControlProviderStub.java
@@ -69,7 +69,7 @@ public class AccessControlProviderStub {
try {
Class<?> acProviderClass = Class.forName(className);
if (AccessControlProvider.class.isAssignableFrom(acProviderClass)) {
- AccessControlProvider acProvider = (AccessControlProvider) acProviderClass.newInstance();
+ AccessControlProvider acProvider = (AccessControlProvider) acProviderClass.getDeclaredConstructor().newInstance();
acProvider.init(config);
return acProvider;
} else {
diff --git a/jackrabbit-vfs-ext/src/main/java/org/apache/jackrabbit/vfs/ext/ds/VFSDataStore.java b/jackrabbit-vfs-ext/src/main/java/org/apache/jackrabbit/vfs/ext/ds/VFSDataStore.java
index 5e03d66ad..8dd9cfe96 100644
--- a/jackrabbit-vfs-ext/src/main/java/org/apache/jackrabbit/vfs/ext/ds/VFSDataStore.java
+++ b/jackrabbit-vfs-ext/src/main/java/org/apache/jackrabbit/vfs/ext/ds/VFSDataStore.java
@@ -300,7 +300,7 @@ public class VFSDataStore extends CachingDataStore {
fileSystemManager = new StandardFileSystemManager();
} else {
final Class<?> mgrClass = Class.forName(getFileSystemManagerClassName());
- fileSystemManager = (FileSystemManager) mgrClass.newInstance();
+ fileSystemManager = (FileSystemManager) mgrClass.getDeclaredConstructor().newInstance();
}
if (fileSystemManager instanceof DefaultFileSystemManager) {
diff --git a/jackrabbit-vfs-ext/src/main/java/org/apache/jackrabbit/vfs/ext/fs/VFSFileSystem.java b/jackrabbit-vfs-ext/src/main/java/org/apache/jackrabbit/vfs/ext/fs/VFSFileSystem.java
index 8eb1ea195..21f08a4b6 100755
--- a/jackrabbit-vfs-ext/src/main/java/org/apache/jackrabbit/vfs/ext/fs/VFSFileSystem.java
+++ b/jackrabbit-vfs-ext/src/main/java/org/apache/jackrabbit/vfs/ext/fs/VFSFileSystem.java
@@ -528,7 +528,7 @@ public class VFSFileSystem implements FileSystem {
fileSystemManager = new StandardFileSystemManager();
} else {
final Class<?> mgrClass = Class.forName(getFileSystemManagerClassName());
- fileSystemManager = (FileSystemManager) mgrClass.newInstance();
+ fileSystemManager = (FileSystemManager) mgrClass.getDeclaredConstructor().newInstance();
}
if (fileSystemManager instanceof DefaultFileSystemManager) {
diff --git a/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/version/report/ReportType.java b/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/version/report/ReportType.java
index 36bbe30b6..8366814ba 100644
--- a/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/version/report/ReportType.java
+++ b/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/version/report/ReportType.java
@@ -28,6 +28,7 @@ import org.slf4j.LoggerFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
/**
@@ -68,13 +69,10 @@ public class ReportType implements DeltaVConstants, XmlSerializable {
*/
public Report createReport(DeltaVResource resource, ReportInfo info) throws DavException {
try {
- Report report = reportClass.newInstance();
+ Report report = reportClass.getDeclaredConstructor().newInstance();
report.init(resource, info);
return report;
- } catch (IllegalAccessException e) {
- // should never occur
- throw new DavException(DavServletResponse.SC_INTERNAL_SERVER_ERROR, "Failed to create new report (" + reportClass.getName() + ") from class: " + e.getMessage());
- } catch (InstantiationException e) {
+ } catch (IllegalAccessException|InstantiationException|IllegalArgumentException|InvocationTargetException|NoSuchMethodException|SecurityException e) {
// should never occur
throw new DavException(DavServletResponse.SC_INTERNAL_SERVER_ERROR, "Failed to create new report (" + reportClass.getName() + ") from class: " + e.getMessage());
}