You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2014/04/15 07:52:16 UTC

svn commit: r1587431 - in /logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core: appender/db/jdbc/ appender/db/jpa/ appender/db/jpa/converter/ appender/db/nosql/couchdb/ appender/db/nosql/mongodb/ config/

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);
         }