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/09/30 07:15:44 UTC

git commit: Fix unchecked warnings.

Repository: logging-log4j2
Updated Branches:
  refs/heads/master 7655a60c1 -> 9a6183550


Fix unchecked warnings.


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/9a618355
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/9a618355
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/9a618355

Branch: refs/heads/master
Commit: 9a6183550713fa12c3a38035be5e7999f1b1f2de
Parents: 7655a60
Author: Matt Sicker <ma...@apache.org>
Authored: Tue Sep 30 00:14:43 2014 -0500
Committer: Matt Sicker <ma...@apache.org>
Committed: Tue Sep 30 00:14:43 2014 -0500

----------------------------------------------------------------------
 .../java/org/apache/logging/log4j/spi/Provider.java    |  3 +--
 .../log4j/core/config/ConfigurationFactory.java        | 13 ++++++-------
 .../config/plugins/convert/TypeConverterRegistry.java  |  5 ++---
 .../apache/logging/log4j/core/lookup/Interpolator.java |  3 +--
 4 files changed, 10 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9a618355/log4j-api/src/main/java/org/apache/logging/log4j/spi/Provider.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/Provider.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/Provider.java
index 571d544..69c2a78 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/Provider.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/Provider.java
@@ -83,7 +83,6 @@ public class Provider {
      *
      * @return the LoggerContextFactory implementation class or {@code null} if there was an error loading it
      */
-    @SuppressWarnings("unchecked")
     public Class<? extends LoggerContextFactory> loadLoggerContextFactory() {
         if (className == null) {
             return null;
@@ -91,7 +90,7 @@ public class Provider {
         try {
             final Class<?> clazz = classLoader.loadClass(className);
             if (LoggerContextFactory.class.isAssignableFrom(clazz)) {
-                return (Class<? extends LoggerContextFactory>) clazz;
+                return clazz.asSubclass(LoggerContextFactory.class);
             }
         } catch (final Exception e) {
             LOGGER.error("Unable to create class {} specified in {}", className, url.toString(), e);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9a618355/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java
index 8c7e176..028bf43 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java
@@ -143,8 +143,8 @@ public abstract class ConfigurationFactory {
                     final Collection<WeightedFactory> ordered = new TreeSet<WeightedFactory>();
                     for (final PluginType<?> type : plugins.values()) {
                         try {
-                            @SuppressWarnings("unchecked")
-                            final Class<ConfigurationFactory> clazz = (Class<ConfigurationFactory>)type.getPluginClass();
+                            final Class<? extends ConfigurationFactory> clazz = type.getPluginClass().asSubclass(
+                                ConfigurationFactory.class);
                             final Order order = clazz.getAnnotation(Order.class);
                             if (order != null) {
                                 final int weight = order.value();
@@ -170,17 +170,16 @@ public abstract class ConfigurationFactory {
         return configFactory;
     }
 
-    @SuppressWarnings("unchecked")
     private static void addFactory(final Collection<ConfigurationFactory> list, final String factoryClass) {
         try {
-            addFactory(list, (Class<ConfigurationFactory>) LoaderUtil.loadClass(factoryClass));
+            addFactory(list, LoaderUtil.loadClass(factoryClass).asSubclass(ConfigurationFactory.class));
         } catch (final Exception ex) {
             LOGGER.error("Unable to load class {}", factoryClass, ex);
         }
     }
 
     private static void addFactory(final Collection<ConfigurationFactory> list,
-                                   final Class<ConfigurationFactory> factoryClass) {
+                                   final Class<? extends ConfigurationFactory> factoryClass) {
         try {
             list.add(ReflectionUtil.instantiate(factoryClass));
         } catch (final Exception ex) {
@@ -348,14 +347,14 @@ public abstract class ConfigurationFactory {
      */
     private static class WeightedFactory implements Comparable<WeightedFactory> {
         private final int weight;
-        private final Class<ConfigurationFactory> factoryClass;
+        private final Class<? extends ConfigurationFactory> factoryClass;
 
         /**
          * Constructor.
          * @param weight The weight.
          * @param clazz The class.
          */
-        public WeightedFactory(final int weight, final Class<ConfigurationFactory> clazz) {
+        public WeightedFactory(final int weight, final Class<? extends ConfigurationFactory> clazz) {
             this.weight = weight;
             this.factoryClass = clazz;
         }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9a618355/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverterRegistry.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverterRegistry.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverterRegistry.java
index c8171f3..f19276f 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverterRegistry.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverterRegistry.java
@@ -109,8 +109,7 @@ public class TypeConverterRegistry {
         for (final PluginType<?> knownType : knownTypes) {
             final Class<?> clazz = knownType.getPluginClass();
             if (TypeConverter.class.isAssignableFrom(clazz)) {
-                @SuppressWarnings("unchecked") // but we just DID check it!
-                final Class<? extends TypeConverter<?>> pluginClass = (Class<? extends TypeConverter<?>>) clazz;
+                final Class<? extends TypeConverter> pluginClass =  clazz.asSubclass(TypeConverter.class);
                 final Type conversionType = getTypeConverterSupportedType(pluginClass);
                 final TypeConverter<?> converter = ReflectionUtil.instantiate(pluginClass);
                 if (registry.putIfAbsent(conversionType, converter) != null) {
@@ -121,7 +120,7 @@ public class TypeConverterRegistry {
         }
     }
 
-    private static Type getTypeConverterSupportedType(final Class<? extends TypeConverter<?>> typeConverterClass) {
+    private static Type getTypeConverterSupportedType(final Class<? extends TypeConverter> typeConverterClass) {
         for (final Type type : typeConverterClass.getGenericInterfaces()) {
             if (type instanceof ParameterizedType) {
                 final ParameterizedType pType = (ParameterizedType) type;

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9a618355/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java
index 865fcf9..0cd9242 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java
@@ -60,8 +60,7 @@ public class Interpolator extends AbstractLookup {
 
         for (final Map.Entry<String, PluginType<?>> entry : plugins.entrySet()) {
             try {
-                @SuppressWarnings("unchecked")
-                final Class<? extends StrLookup> clazz = (Class<? extends StrLookup>) entry.getValue().getPluginClass();
+                final Class<? extends StrLookup> clazz = entry.getValue().getPluginClass().asSubclass(StrLookup.class);
                 lookups.put(entry.getKey(), clazz.getConstructor().newInstance());
             } catch (final Exception ex) {
                 LOGGER.error("Unable to create Lookup for {}", entry.getKey(), ex);