Author: mattsicker
Date: Tue Apr 15 05:52:16 2014
New Revision: 1587431
URL: http://svn.apache.org/r1587431
Log:
Use Loader.loadClass
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/FactoryMethodConnectionSource.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/JPAAppender.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ThrowableAttributeConverter.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/couchdb/CouchDBProvider.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/mongodb/MongoDBProvider.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/FactoryMethodConnectionSource.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/FactoryMethodConnectionSource.java?rev=1587431&r1=1587430&r2=1587431&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/FactoryMethodConnectionSource.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/FactoryMethodConnectionSource.java
Tue Apr 15 05:52:16 2014
@@ -27,6 +27,7 @@ import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.core.helpers.Loader;
import org.apache.logging.log4j.core.helpers.Strings;
import org.apache.logging.log4j.status.StatusLogger;
@@ -78,7 +79,7 @@ public final class FactoryMethodConnecti
final Method method;
try {
- final Class<?> factoryClass = Class.forName(className);
+ final Class<?> factoryClass = Loader.loadClass(className);
method = factoryClass.getMethod(methodName);
} catch (final Exception e) {
LOGGER.error(e.toString(), e);
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/JPAAppender.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/JPAAppender.java?rev=1587431&r1=1587430&r2=1587431&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/JPAAppender.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/JPAAppender.java
Tue Apr 15 05:52:16 2014
@@ -27,6 +27,7 @@ import org.apache.logging.log4j.core.con
import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.helpers.Booleans;
+import org.apache.logging.log4j.core.helpers.Loader;
import org.apache.logging.log4j.core.helpers.Strings;
/**
@@ -84,7 +85,7 @@ public final class JPAAppender extends A
try {
@SuppressWarnings("unchecked")
final Class<? extends AbstractLogEventWrapperEntity> entityClass =
- (Class<? extends AbstractLogEventWrapperEntity>)
Class.forName(entityClassName);
+ (Class<? extends AbstractLogEventWrapperEntity>)
Loader.loadClass(entityClassName);
if
(!AbstractLogEventWrapperEntity.class.isAssignableFrom(entityClass)) {
LOGGER.error("Entity class [{}] does not extend
AbstractLogEventWrapperEntity.", entityClassName);
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ThrowableAttributeConverter.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ThrowableAttributeConverter.java?rev=1587431&r1=1587430&r2=1587431&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ThrowableAttributeConverter.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ThrowableAttributeConverter.java
Tue Apr 15 05:52:16 2014
@@ -26,6 +26,7 @@ import java.util.ListIterator;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
+import org.apache.logging.log4j.core.helpers.Loader;
import org.apache.logging.log4j.core.helpers.Strings;
/**
@@ -124,8 +125,7 @@ public class ThrowableAttributeConverter
final StackTraceElement[] stackTrace) {
try {
@SuppressWarnings("unchecked")
- final
- Class<Throwable> throwableClass = (Class<Throwable>)
Class.forName(throwableClassName);
+ final Class<Throwable> throwableClass = (Class<Throwable>)
Loader.loadClass(throwableClassName);
if (!Throwable.class.isAssignableFrom(throwableClass)) {
return null;
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/couchdb/CouchDBProvider.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/couchdb/CouchDBProvider.java?rev=1587431&r1=1587430&r2=1587431&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/couchdb/CouchDBProvider.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/couchdb/CouchDBProvider.java
Tue Apr 15 05:52:16 2014
@@ -24,6 +24,7 @@ import org.apache.logging.log4j.core.app
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.core.helpers.Loader;
import org.apache.logging.log4j.core.helpers.NameUtil;
import org.apache.logging.log4j.core.helpers.Strings;
import org.apache.logging.log4j.status.StatusLogger;
@@ -93,7 +94,7 @@ public final class CouchDBProvider imple
if (factoryClassName != null && factoryClassName.length() > 0 &&
factoryMethodName != null && factoryMethodName.length() > 0) {
try {
- final Class<?> factoryClass = Class.forName(factoryClassName);
+ final Class<?> factoryClass =
Loader.loadClass(factoryClassName);
final Method method =
factoryClass.getMethod(factoryMethodName);
final Object object = method.invoke(null);
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/mongodb/MongoDBProvider.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/mongodb/MongoDBProvider.java?rev=1587431&r1=1587430&r2=1587431&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/mongodb/MongoDBProvider.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/mongodb/MongoDBProvider.java
Tue Apr 15 05:52:16 2014
@@ -26,6 +26,7 @@ import org.apache.logging.log4j.core.app
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.core.helpers.Loader;
import org.apache.logging.log4j.core.helpers.NameUtil;
import org.apache.logging.log4j.status.StatusLogger;
@@ -104,7 +105,7 @@ public final class MongoDBProvider imple
if (factoryClassName != null && factoryClassName.length() > 0 &&
factoryMethodName != null && factoryMethodName.length() > 0) {
try {
- final Class<?> factoryClass = Class.forName(factoryClassName);
+ final Class<?> factoryClass =
Loader.loadClass(factoryClassName);
final Method method =
factoryClass.getMethod(factoryMethodName);
final Object object = method.invoke(null);
@@ -191,7 +192,7 @@ public final class MongoDBProvider imple
if (writeConcernConstant != null && writeConcernConstant.length() > 0)
{
if (writeConcernConstantClassName != null &&
writeConcernConstantClassName.length() > 0) {
try {
- final Class<?> writeConcernConstantClass =
Class.forName(writeConcernConstantClassName);
+ final Class<?> writeConcernConstantClass =
Loader.loadClass(writeConcernConstantClassName);
final Field field =
writeConcernConstantClass.getField(writeConcernConstant);
writeConcern = (WriteConcern) field.get(null);
} catch (final Exception e) {
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java?rev=1587431&r1=1587430&r2=1587431&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java
Tue Apr 15 05:52:16 2014
@@ -115,6 +115,7 @@ public abstract class ConfigurationFacto
// volatile works in Java 1.6+, so double-checked locking also works
properly
//noinspection DoubleCheckedLocking
if (factories == null) {
+ // TODO: synchronize on a real lock
synchronized(TEST_PREFIX) {
if (factories == null) {
final List<ConfigurationFactory> list = new
ArrayList<ConfigurationFactory>();
@@ -153,7 +154,7 @@ public abstract class ConfigurationFacto
@SuppressWarnings("unchecked")
private static void addFactory(final Collection<ConfigurationFactory>
list, final String factoryClass) {
try {
- addFactory(list, (Class<ConfigurationFactory>)
Class.forName(factoryClass));
+ addFactory(list, (Class<ConfigurationFactory>)
Loader.loadClass(factoryClass));
} catch (final ClassNotFoundException ex) {
LOGGER.error("Unable to load class {}", factoryClass, ex);
} catch (final Exception ex) {
@@ -164,7 +165,7 @@ public abstract class ConfigurationFacto
private static void addFactory(final Collection<ConfigurationFactory> list,
final Class<ConfigurationFactory>
factoryClass) {
try {
- list.add(factoryClass.newInstance());
+ list.add(factoryClass.getConstructor().newInstance());
} catch (final Exception ex) {
LOGGER.error("Unable to create instance of {}",
factoryClass.getName(), ex);
}