You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by mb...@apache.org on 2021/08/08 21:50:38 UTC
[roller] 01/19: Class.newInstance() deprecation.
This is an automated email from the ASF dual-hosted git repository.
mbien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/roller.git
commit 2191f796c648a9422fd355bcdcaf0ae84d1318b0
Author: Michael Bien <mb...@gmail.com>
AuthorDate: Sat Jul 10 10:22:35 2021 +0200
Class.newInstance() deprecation.
---
.../weblogger/business/GuiceWebloggerProvider.java | 27 +++-------
.../weblogger/business/WebloggerFactory.java | 5 +-
.../business/plugins/PluginManagerImpl.java | 63 +++++++++-------------
.../weblogger/business/runnable/TaskRunner.java | 3 +-
.../business/runnable/ThreadManagerImpl.java | 5 +-
.../roller/weblogger/ui/core/RollerContext.java | 16 +++---
.../ui/core/plugins/UIPluginManagerImpl.java | 4 +-
.../weblogger/ui/rendering/RendererManager.java | 14 +++--
.../ui/rendering/filters/RequestMappingFilter.java | 12 ++---
.../weblogger/ui/rendering/model/ModelLoader.java | 18 ++-----
.../plugins/comments/CommentValidationManager.java | 18 +++----
.../servlets/CommentAuthenticatorServlet.java | 15 +++---
.../ui/rendering/servlets/CommentServlet.java | 13 ++---
.../roller/weblogger/util/cache/CacheManager.java | 23 ++++----
14 files changed, 92 insertions(+), 144 deletions(-)
diff --git a/app/src/main/java/org/apache/roller/weblogger/business/GuiceWebloggerProvider.java b/app/src/main/java/org/apache/roller/weblogger/business/GuiceWebloggerProvider.java
index 63290ba..021ccfb 100644
--- a/app/src/main/java/org/apache/roller/weblogger/business/GuiceWebloggerProvider.java
+++ b/app/src/main/java/org/apache/roller/weblogger/business/GuiceWebloggerProvider.java
@@ -21,6 +21,7 @@ package org.apache.roller.weblogger.business;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module;
+import java.util.Objects;
import org.apache.roller.weblogger.config.WebloggerConfig;
@@ -41,22 +42,9 @@ public class GuiceWebloggerProvider implements WebloggerProvider {
* configured in WebloggerConfig via 'guice.backend.module' property.
*/
public GuiceWebloggerProvider() {
-
- String moduleClassname = WebloggerConfig.getProperty("guice.backend.module");
- if(moduleClassname == null) {
- throw new NullPointerException("unable to lookup default guice module via property 'guice.backend.module'");
- }
-
- try {
- Class moduleClass = Class.forName(moduleClassname);
- Module module = (Module)moduleClass.newInstance();
- injector = Guice.createInjector(module);
- } catch (ThreadDeath t) {
- throw t;
- } catch (Throwable e) {
- // Fatal misconfiguration, cannot recover
- throw new RuntimeException("Error instantiating backend module " + moduleClassname + "; exception message: " + e.getMessage(), e);
- }
+ this(Objects.requireNonNull(
+ WebloggerConfig.getProperty("guice.backend.module"),
+ "unable to lookup default guice module via property 'guice.backend.module'"));
}
@@ -67,13 +55,10 @@ public class GuiceWebloggerProvider implements WebloggerProvider {
*/
public GuiceWebloggerProvider(String moduleClassname) {
- if(moduleClassname == null) {
- throw new NullPointerException("moduleClassname cannot be null");
- }
+ Objects.requireNonNull(moduleClassname, "moduleClassname cannot be null");
try {
- Class moduleClass = Class.forName(moduleClassname);
- Module module = (Module)moduleClass.newInstance();
+ Module module = (Module) Class.forName(moduleClassname).getDeclaredConstructor().newInstance();
injector = Guice.createInjector(module);
} catch (ThreadDeath t) {
throw t;
diff --git a/app/src/main/java/org/apache/roller/weblogger/business/WebloggerFactory.java b/app/src/main/java/org/apache/roller/weblogger/business/WebloggerFactory.java
index a287b02..12303fe 100644
--- a/app/src/main/java/org/apache/roller/weblogger/business/WebloggerFactory.java
+++ b/app/src/main/java/org/apache/roller/weblogger/business/WebloggerFactory.java
@@ -84,9 +84,8 @@ public final class WebloggerFactory {
String providerClassname = WebloggerConfig.getProperty("weblogger.provider.class");
if(providerClassname != null) {
try {
- Class providerClass = Class.forName(providerClassname);
- defaultProvider = (WebloggerProvider) providerClass.newInstance();
- } catch (Exception ex) {
+ defaultProvider = (WebloggerProvider) Class.forName(providerClassname).getDeclaredConstructor().newInstance();
+ } catch (ReflectiveOperationException ex) {
throw new BootstrapException("Error instantiating default provider: " + providerClassname + "; exception message: " + ex.getMessage(), ex);
}
} else {
diff --git a/app/src/main/java/org/apache/roller/weblogger/business/plugins/PluginManagerImpl.java b/app/src/main/java/org/apache/roller/weblogger/business/plugins/PluginManagerImpl.java
index 37ac7db..2ac1a24 100644
--- a/app/src/main/java/org/apache/roller/weblogger/business/plugins/PluginManagerImpl.java
+++ b/app/src/main/java/org/apache/roller/weblogger/business/plugins/PluginManagerImpl.java
@@ -29,6 +29,7 @@ import org.apache.roller.weblogger.config.WebloggerConfig;
import org.apache.roller.weblogger.pojos.WeblogEntry;
import org.apache.roller.weblogger.pojos.Weblog;
import org.apache.commons.lang3.StringUtils;
+import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.business.plugins.comment.WeblogEntryCommentPlugin;
import org.apache.roller.weblogger.pojos.WeblogEntryComment;
import org.apache.roller.weblogger.util.HTMLSanitizer;
@@ -39,13 +40,13 @@ import org.apache.roller.weblogger.util.HTMLSanitizer;
*/
public class PluginManagerImpl implements PluginManager {
- private static Log log = LogFactory.getLog(PluginManagerImpl.class);
+ private static final Log log = LogFactory.getLog(PluginManagerImpl.class);
// Plugin classes keyed by plugin name
- static Map<String, Class> mPagePlugins = new LinkedHashMap<>();
+ static Map<String, Class<? extends WeblogEntryPlugin>> mPagePlugins = new LinkedHashMap<>();
// Comment plugins
- private List<WeblogEntryCommentPlugin> commentPlugins = new ArrayList<>();
+ private final List<WeblogEntryCommentPlugin> commentPlugins = new ArrayList<>();
/**
@@ -72,13 +73,15 @@ public class PluginManagerImpl implements PluginManager {
*/
@Override
public Map<String, WeblogEntryPlugin> getWeblogEntryPlugins(Weblog website) {
+
Map<String, WeblogEntryPlugin> ret = new LinkedHashMap<>();
- for (Class pluginClass : PluginManagerImpl.mPagePlugins.values()) {
+
+ for (Class<? extends WeblogEntryPlugin> pluginClass : mPagePlugins.values()) {
try {
- WeblogEntryPlugin plugin = (WeblogEntryPlugin)pluginClass.newInstance();
+ WeblogEntryPlugin plugin = pluginClass.getDeclaredConstructor().newInstance();
plugin.init(website);
ret.put(plugin.getName(), plugin);
- } catch (Exception e) {
+ } catch (ReflectiveOperationException | WebloggerException e) {
log.error("Unable to init() PagePlugin: ", e);
}
}
@@ -163,19 +166,18 @@ public class PluginManagerImpl implements PluginManager {
log.debug("try " + plugin);
}
try {
- Class pluginClass = Class.forName(plugin);
- if (isPagePlugin(pluginClass)) {
- WeblogEntryPlugin weblogEntryPlugin = (WeblogEntryPlugin)pluginClass.newInstance();
+ Class<?> clazz = Class.forName(plugin);
+
+ if (isPagePlugin(clazz)) {
+ @SuppressWarnings("unchecked")
+ Class<? extends WeblogEntryPlugin> pluginClass = (Class<? extends WeblogEntryPlugin>)clazz;
+ WeblogEntryPlugin weblogEntryPlugin = pluginClass.getDeclaredConstructor().newInstance();
mPagePlugins.put(weblogEntryPlugin.getName(), pluginClass);
} else {
- log.warn(pluginClass + " is not a PagePlugin");
+ log.warn(clazz + " is not a PagePlugin");
}
- } catch (ClassNotFoundException e) {
- log.error("ClassNotFoundException for " + plugin);
- } catch (InstantiationException e) {
- log.error("InstantiationException for " + plugin);
- } catch (IllegalAccessException e) {
- log.error("IllegalAccessException for " + plugin);
+ } catch (ReflectiveOperationException e) {
+ log.error("unable to create " + plugin);
}
}
}
@@ -196,43 +198,28 @@ public class PluginManagerImpl implements PluginManager {
log.debug("trying " + plugins[i]);
try {
- Class pluginClass = Class.forName(plugins[i]);
- WeblogEntryCommentPlugin plugin =
- (WeblogEntryCommentPlugin) pluginClass.newInstance();
+ WeblogEntryCommentPlugin plugin = (WeblogEntryCommentPlugin) Class.forName(plugins[i]).getDeclaredConstructor().newInstance();
// make sure and maintain ordering
commentPlugins.add(i, plugin);
log.debug("Configured comment plugin: "+plugins[i]);
- } catch (ClassCastException e) {
- log.error("ClassCastException for " + plugins[i]);
- } catch (ClassNotFoundException e) {
- log.error("ClassNotFoundException for " + plugins[i]);
- } catch (InstantiationException e) {
- log.error("InstantiationException for " + plugins[i]);
- } catch (IllegalAccessException e) {
- log.error("IllegalAccessException for " + plugins[i]);
+ } catch (ReflectiveOperationException e) {
+ log.error("unable to create " + plugins[i]);
}
}
}
}
-
- private static boolean isPagePlugin(Class pluginClass) {
- Class[] interfaces = pluginClass.getInterfaces();
- if (interfaces != null) {
- for (Class clazz : interfaces) {
- if (clazz.equals(WeblogEntryPlugin.class)) {
- return true;
- }
- }
- }
+ private static boolean isPagePlugin(Class<?> clazz) {
+ for (Class<?> inter : clazz.getInterfaces())
+ if (inter.equals(WeblogEntryPlugin.class))
+ return true;
return false;
}
-
@Override
public void release() {
// no op
diff --git a/app/src/main/java/org/apache/roller/weblogger/business/runnable/TaskRunner.java b/app/src/main/java/org/apache/roller/weblogger/business/runnable/TaskRunner.java
index f4dd66b..8cd3494 100644
--- a/app/src/main/java/org/apache/roller/weblogger/business/runnable/TaskRunner.java
+++ b/app/src/main/java/org/apache/roller/weblogger/business/runnable/TaskRunner.java
@@ -57,8 +57,7 @@ public class TaskRunner {
Thread.currentThread().setContextClassLoader(cl);
// Go!
- Class taskClass = cl.loadClass(taskClassName);
- Runnable task = (Runnable)taskClass.newInstance();
+ Runnable task = (Runnable)Class.forName(taskClassName).getDeclaredConstructor().newInstance();
task.run();
}
}
diff --git a/app/src/main/java/org/apache/roller/weblogger/business/runnable/ThreadManagerImpl.java b/app/src/main/java/org/apache/roller/weblogger/business/runnable/ThreadManagerImpl.java
index 6f3d98b..a0280c1 100644
--- a/app/src/main/java/org/apache/roller/weblogger/business/runnable/ThreadManagerImpl.java
+++ b/app/src/main/java/org/apache/roller/weblogger/business/runnable/ThreadManagerImpl.java
@@ -75,8 +75,7 @@ public abstract class ThreadManagerImpl implements ThreadManager {
LOG.info("Initializing task: " + taskName);
try {
- Class taskClass = Class.forName(taskClassName);
- RollerTask task = (RollerTask) taskClass.newInstance();
+ RollerTask task = (RollerTask) Class.forName(taskClassName).getDeclaredConstructor().newInstance();
task.init(taskName);
// make sure there is a tasklock record in the db
@@ -102,7 +101,7 @@ public abstract class ThreadManagerImpl implements ThreadManager {
LOG.warn("Task does not extend RollerTask class", ex);
} catch (WebloggerException ex) {
LOG.error("Error scheduling task", ex);
- } catch (Exception ex) {
+ } catch (ReflectiveOperationException ex) {
LOG.error("Error instantiating task", ex);
}
}
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/core/RollerContext.java b/app/src/main/java/org/apache/roller/weblogger/ui/core/RollerContext.java
index fb5ec25..cc0f749 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/core/RollerContext.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/core/RollerContext.java
@@ -63,7 +63,7 @@ import org.springframework.web.context.support.WebApplicationContextUtils;
public class RollerContext extends ContextLoaderListener
implements ServletContextListener {
- private static Log log = LogFactory.getLog(RollerContext.class);
+ private static final Log log = LogFactory.getLog(RollerContext.class);
private static ServletContext servletContext = null;
private static DelegatingPasswordEncoder encoder;
@@ -357,7 +357,7 @@ public class RollerContext extends ContextLoaderListener
return null;
}
- Class clazz;
+ Class<?> clazz;
try {
clazz = Class.forName(clazzName);
} catch (ClassNotFoundException e) {
@@ -365,15 +365,13 @@ public class RollerContext extends ContextLoaderListener
return null;
}
- Class[] interfaces = clazz.getInterfaces();
- for (Class clazz2 : interfaces) {
+ Class<?>[] interfaces = clazz.getInterfaces();
+ for (Class<?> clazz2 : interfaces) {
if (clazz2.equals(AutoProvision.class)) {
try {
- return (AutoProvision) clazz.newInstance();
- } catch (InstantiationException e) {
- log.warn("InstantiationException while creating: " + clazzName, e);
- } catch (IllegalAccessException e) {
- log.warn("IllegalAccessException while creating: " + clazzName, e);
+ return (AutoProvision) clazz.getDeclaredConstructor().newInstance();
+ } catch (ReflectiveOperationException e) {
+ log.warn("ReflectiveOperationException while creating: " + clazzName, e);
}
}
}
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/core/plugins/UIPluginManagerImpl.java b/app/src/main/java/org/apache/roller/weblogger/ui/core/plugins/UIPluginManagerImpl.java
index ffc4f8f..cc5f6cd 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/core/plugins/UIPluginManagerImpl.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/core/plugins/UIPluginManagerImpl.java
@@ -100,8 +100,8 @@ public final class UIPluginManagerImpl implements UIPluginManager {
log.debug("trying editor " + editorList[i]);
try {
- Class editorClass = Class.forName(editorList[i]);
- WeblogEntryEditor editor = (WeblogEntryEditor) editorClass.newInstance();
+ WeblogEntryEditor editor = (WeblogEntryEditor) Class.forName(editorList[i])
+ .getDeclaredConstructor().newInstance();
// looks okay, add it to the map
this.editors.put(editor.getId(), editor);
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/RendererManager.java b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/RendererManager.java
index a86f9d4..4a1defc 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/RendererManager.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/RendererManager.java
@@ -36,9 +36,9 @@ import org.apache.roller.weblogger.ui.rendering.mobile.MobileDeviceRepository;
*/
public final class RendererManager {
- private static Log log = LogFactory.getLog(RendererManager.class);
+ private static final Log log = LogFactory.getLog(RendererManager.class);
// a set of all renderer factories we are consulting
- private static Set<RendererFactory> rendererFactories = new HashSet<>();
+ private static final Set<RendererFactory> rendererFactories = new HashSet<>();
static {
// lookup set of renderer factories we are going to use
@@ -52,13 +52,12 @@ public final class RendererManager {
String[] uFactories = userFactories.split(",");
for (String uFactory :uFactories) {
try {
- Class factoryClass = Class.forName(uFactory);
- rendererFactory = (RendererFactory) factoryClass.newInstance();
+ rendererFactory = (RendererFactory) Class.forName(uFactory).getDeclaredConstructor().newInstance();
rendererFactories.add(rendererFactory);
} catch (ClassCastException cce) {
log.error("It appears that your factory does not implement "
+ "the RendererFactory interface", cce);
- } catch (Exception e) {
+ } catch (ReflectiveOperationException e) {
log.error("Unable to instantiate renderer factory [" + uFactory + "]", e);
}
}
@@ -71,13 +70,12 @@ public final class RendererManager {
String[] rFactories = rollerFactories.split(",");
for (String rFactory : rFactories) {
try {
- Class factoryClass = Class.forName(rFactory);
- rendererFactory = (RendererFactory) factoryClass.newInstance();
+ rendererFactory = (RendererFactory) Class.forName(rFactory).getDeclaredConstructor().newInstance();
rendererFactories.add(rendererFactory);
} catch (ClassCastException cce) {
log.error("It appears that your factory does not implement "
+ "the RendererFactory interface", cce);
- } catch (Exception e) {
+ } catch (ReflectiveOperationException e) {
log.error("Unable to instantiate renderer factory [" + rFactory + "]", e);
}
}
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/filters/RequestMappingFilter.java b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/filters/RequestMappingFilter.java
index fc64b5a..46d828c 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/filters/RequestMappingFilter.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/filters/RequestMappingFilter.java
@@ -44,7 +44,7 @@ import org.apache.roller.weblogger.ui.rendering.RequestMapper;
*/
public class RequestMappingFilter implements Filter {
- private static Log log = LogFactory.getLog(RequestMappingFilter.class);
+ private static final Log log = LogFactory.getLog(RequestMappingFilter.class);
// list of RequestMappers that want to inspect the request
private final List<RequestMapper> requestMappers = new ArrayList<>();
@@ -62,13 +62,12 @@ public class RequestMappingFilter implements Filter {
String[] uMappers = userMappers.split(",");
for (String uMapper : uMappers) {
try {
- Class mapperClass = Class.forName(uMapper);
- requestMapper = (RequestMapper) mapperClass.newInstance();
+ requestMapper = (RequestMapper) Class.forName(uMapper).getDeclaredConstructor().newInstance();
requestMappers.add(requestMapper);
} catch(ClassCastException cce) {
log.error("It appears that your mapper does not implement "+
"the RequestMapper interface", cce);
- } catch(Exception e) {
+ } catch(ReflectiveOperationException e) {
log.error("Unable to instantiate request mapper ["+uMapper+"]", e);
}
}
@@ -80,13 +79,12 @@ public class RequestMappingFilter implements Filter {
String[] rMappers = rollerMappers.split(",");
for (String rMapper : rMappers) {
try {
- Class mapperClass = Class.forName(rMapper);
- requestMapper = (RequestMapper) mapperClass.newInstance();
+ requestMapper = (RequestMapper) Class.forName(rMapper).getDeclaredConstructor().newInstance();
requestMappers.add(requestMapper);
} catch(ClassCastException cce) {
log.error("It appears that your mapper does not implement "+
"the RequestMapper interface", cce);
- } catch(Exception e) {
+ } catch(ReflectiveOperationException e) {
log.error("Unable to instantiate request mapper ["+rMapper+"]", e);
}
}
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/ModelLoader.java b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/ModelLoader.java
index 672ba5d..330d133 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/ModelLoader.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/ModelLoader.java
@@ -30,7 +30,7 @@ import org.apache.roller.weblogger.util.Utilities;
*/
public class ModelLoader {
- private static Log log = LogFactory.getLog(ModelLoader.class);
+ private static final Log log = LogFactory.getLog(ModelLoader.class);
/**
* Convenience method to load a comma-separated list of page models.
@@ -39,15 +39,13 @@ public class ModelLoader {
* the Model instances.
*/
public static void loadModels(String modelsString, Map<String, Object> modelMap,
- Map initData, boolean fail)
- throws WebloggerException {
+ Map initData, boolean fail) throws WebloggerException {
String[] models = Utilities.stringToStringArray(modelsString, ",");
if (models != null) {
for (String model : models) {
try {
- Class modelClass = Class.forName(model);
- Model pageModel = (Model) modelClass.newInstance();
+ Model pageModel = (Model) Class.forName(model).getDeclaredConstructor().newInstance();
pageModel.init(initData);
modelMap.put(pageModel.getModelName(), pageModel);
} catch (WebloggerException re) {
@@ -62,18 +60,12 @@ public class ModelLoader {
} else {
log.warn("Error finding model: " + model);
}
- } catch (InstantiationException ie) {
+ } catch (ReflectiveOperationException ex) {
if(fail) {
- throw new WebloggerException("Error instantiating model: " + model, ie);
+ throw new WebloggerException("Error instantiating model: " + model, ex);
} else {
log.warn("Error instantiating model: " + model);
}
- } catch (IllegalAccessException iae) {
- if(fail) {
- throw new WebloggerException("Error accessing model: " + model, iae);
- } else {
- log.warn("Error accessing model: " + model);
- }
}
}
}
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/plugins/comments/CommentValidationManager.java b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/plugins/comments/CommentValidationManager.java
index 043801f..162d615 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/plugins/comments/CommentValidationManager.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/plugins/comments/CommentValidationManager.java
@@ -32,8 +32,9 @@ import org.apache.roller.weblogger.util.Utilities;
* Responsible for loading validators and using them to validate comments.
*/
public class CommentValidationManager {
- private static Log log = LogFactory.getLog(CommentValidationManager.class);
- private List<CommentValidator> validators = new ArrayList<>();
+
+ private static final Log log = LogFactory.getLog(CommentValidationManager.class);
+ private final List<CommentValidator> validators = new ArrayList<>();
public CommentValidationManager() {
@@ -43,16 +44,11 @@ public class CommentValidationManager {
String[] valsarray = Utilities.stringToStringArray(vals, ",");
for (String arrayVal : valsarray) {
try {
- Class valClass = Class.forName(arrayVal);
- CommentValidator val = (CommentValidator) valClass.newInstance();
+ CommentValidator val = (CommentValidator) Class.forName(arrayVal).getDeclaredConstructor().newInstance();
validators.add(val);
- log.info("Configured CommentValidator: " + val.getName() + " / " + valClass.getName());
- } catch (ClassNotFoundException cnfe) {
- log.warn("Error finding comment validator: " + arrayVal);
- } catch (InstantiationException ie) {
- log.warn("Error insantiating comment validator: " + arrayVal);
- } catch (IllegalAccessException iae) {
- log.warn("Error accessing comment validator: " + arrayVal);
+ log.info("Configured CommentValidator: " + val.getName() + " / " + val.getClass().getName());
+ } catch (ReflectiveOperationException ex) {
+ log.warn("Error creating comment validator: " + arrayVal, ex);
}
}
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/CommentAuthenticatorServlet.java b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/CommentAuthenticatorServlet.java
index b54836a..860fc93 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/CommentAuthenticatorServlet.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/CommentAuthenticatorServlet.java
@@ -40,8 +40,7 @@ import org.apache.roller.weblogger.ui.rendering.plugins.comments.DefaultCommentA
*/
public class CommentAuthenticatorServlet extends HttpServlet {
- private static Log mLogger =
- LogFactory.getLog(CommentAuthenticatorServlet.class);
+ private static final Log mLogger = LogFactory.getLog(CommentAuthenticatorServlet.class);
private CommentAuthenticator authenticator = null;
@@ -78,14 +77,16 @@ public class CommentAuthenticatorServlet extends HttpServlet {
// lookup the authenticator we are going to use and instantiate it
try {
String name = WebloggerConfig.getProperty("comment.authenticator.classname");
+ this.authenticator = (CommentAuthenticator) Class.forName(name).getDeclaredConstructor().newInstance();
- Class clazz = Class.forName(name);
- this.authenticator = (CommentAuthenticator) clazz.newInstance();
-
- } catch(Exception e) {
+ } catch(ReflectiveOperationException e) {
mLogger.error(e);
- this.authenticator = new DefaultCommentAuthenticator();
+ } finally {
+ if(authenticator == null) {
+ this.authenticator = new DefaultCommentAuthenticator();
+ }
}
+
}
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/CommentServlet.java b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/CommentServlet.java
index da50356..8be89ad 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/CommentServlet.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/CommentServlet.java
@@ -91,13 +91,14 @@ public class CommentServlet extends HttpServlet {
// lookup the authenticator we are going to use and instantiate it
try {
- String name = WebloggerConfig
- .getProperty("comment.authenticator.classname");
- Class clazz = Class.forName(name);
- this.authenticator = (CommentAuthenticator) clazz.newInstance();
- } catch (Exception e) {
+ String name = WebloggerConfig.getProperty("comment.authenticator.classname");
+ this.authenticator = (CommentAuthenticator) Class.forName(name).getDeclaredConstructor().newInstance();
+ } catch (ReflectiveOperationException e) {
log.error(e);
- this.authenticator = new DefaultCommentAuthenticator();
+ } finally {
+ if(this.authenticator == null) {
+ this.authenticator = new DefaultCommentAuthenticator();
+ }
}
// instantiate a comment validation manager for comment spam checking
diff --git a/app/src/main/java/org/apache/roller/weblogger/util/cache/CacheManager.java b/app/src/main/java/org/apache/roller/weblogger/util/cache/CacheManager.java
index 15a7490..23b4d1b 100644
--- a/app/src/main/java/org/apache/roller/weblogger/util/cache/CacheManager.java
+++ b/app/src/main/java/org/apache/roller/weblogger/util/cache/CacheManager.java
@@ -50,7 +50,7 @@ import org.apache.roller.weblogger.pojos.Weblog;
*/
public final class CacheManager {
- private static Log log = LogFactory.getLog(CacheManager.class);
+ private final static Log log = LogFactory.getLog(CacheManager.class);
private static final String DEFAULT_FACTORY =
"org.apache.roller.weblogger.util.cache.ExpiringLRUCacheFactoryImpl";
@@ -71,12 +71,11 @@ public final class CacheManager {
// use reflection to instantiate our factory class
try {
- Class factoryClass = Class.forName(classname);
- cacheFactory = (CacheFactory) factoryClass.newInstance();
+ cacheFactory = (CacheFactory) Class.forName(classname).getDeclaredConstructor().newInstance();
} catch(ClassCastException cce) {
log.error("It appears that your factory does not implement "+
"the CacheFactory interface",cce);
- } catch(Exception e) {
+ } catch(ReflectiveOperationException e) {
log.error("Unable to instantiate cache factory ["+classname+"]"+
" falling back on default", e);
}
@@ -85,9 +84,8 @@ public final class CacheManager {
try {
// hmm ... failed to load the specified cache factory
// lets try our default
- Class factoryClass = Class.forName(DEFAULT_FACTORY);
- cacheFactory = (CacheFactory) factoryClass.newInstance();
- } catch(Exception e) {
+ cacheFactory = (CacheFactory) Class.forName(DEFAULT_FACTORY).getDeclaredConstructor().newInstance();
+ } catch(ReflectiveOperationException e) {
log.fatal("Failed to instantiate a cache factory", e);
throw new RuntimeException(e);
}
@@ -105,15 +103,13 @@ public final class CacheManager {
for (String cHandler : cHandlers) {
// use reflection to instantiate the handler class
try {
- Class handlerClass = Class.forName(cHandler);
- CacheHandler customHandler =
- (CacheHandler) handlerClass.newInstance();
+ CacheHandler customHandler = (CacheHandler) Class.forName(cHandler).getDeclaredConstructor().newInstance();
cacheHandlers.add(customHandler);
} catch(ClassCastException cce) {
log.error("It appears that your handler does not implement "+
"the CacheHandler interface",cce);
- } catch(Exception e) {
+ } catch(ReflectiveOperationException e) {
log.error("Unable to instantiate cache handler ["+cHandler+"]", e);
}
}
@@ -155,15 +151,14 @@ public final class CacheManager {
try {
// use reflection to instantiate the factory class
- Class factoryClass = Class.forName(classname);
- CacheFactory factory = (CacheFactory) factoryClass.newInstance();
+ CacheFactory factory = (CacheFactory) Class.forName(classname).getDeclaredConstructor().newInstance();
// now ask for a new cache
cache = factory.constructCache(properties);
} catch(ClassCastException cce) {
log.error("It appears that your factory ["+classname+
"] does not implement the CacheFactory interface",cce);
- } catch(Exception e) {
+ } catch(ReflectiveOperationException e) {
log.error("Unable to instantiate cache factory ["+classname+
"] falling back on default", e);
}