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 23:38:51 UTC

[2/2] git commit: Fix compile-time warnings.

Fix compile-time 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/58794c35
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/58794c35
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/58794c35

Branch: refs/heads/master
Commit: 58794c35550ce597c32a7799b5b8020f5e8f4fe0
Parents: cda9b78
Author: Matt Sicker <ma...@apache.org>
Authored: Tue Sep 30 15:26:58 2014 -0500
Committer: Matt Sicker <ma...@apache.org>
Committed: Tue Sep 30 16:38:43 2014 -0500

----------------------------------------------------------------------
 .../plugins/convert/TypeConverterRegistry.java   | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/58794c35/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 f19276f..ac9a869 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
@@ -81,8 +81,14 @@ public class TypeConverterRegistry {
             return primary;
         }
         // dynamic enum support
-        if (type instanceof Class<?> && ((Class<?>) type).isEnum()) {
-            return registerEnumType(((Class<?>) type).asSubclass(Enum.class));
+        if (type instanceof Class<?>) {
+            final Class<?> clazz = (Class<?>) type;
+            if (clazz.isEnum()) {
+                @SuppressWarnings({"unchecked","rawtypes"})
+                final EnumConverter<? extends Enum> converter = new EnumConverter(clazz.asSubclass(Enum.class));
+                registry.putIfAbsent(type, converter);
+                return converter;
+            }
         }
         // look for compatible converters
         for (final Map.Entry<Type, TypeConverter<?>> entry : registry.entrySet()) {
@@ -109,6 +115,7 @@ public class TypeConverterRegistry {
         for (final PluginType<?> knownType : knownTypes) {
             final Class<?> clazz = knownType.getPluginClass();
             if (TypeConverter.class.isAssignableFrom(clazz)) {
+                @SuppressWarnings("rawtypes")
                 final Class<? extends TypeConverter> pluginClass =  clazz.asSubclass(TypeConverter.class);
                 final Type conversionType = getTypeConverterSupportedType(pluginClass);
                 final TypeConverter<?> converter = ReflectionUtil.instantiate(pluginClass);
@@ -120,7 +127,7 @@ public class TypeConverterRegistry {
         }
     }
 
-    private static Type getTypeConverterSupportedType(final Class<? extends TypeConverter> typeConverterClass) {
+    private static Type getTypeConverterSupportedType(@SuppressWarnings("rawtypes") final Class<? extends TypeConverter> typeConverterClass) {
         for (final Type type : typeConverterClass.getGenericInterfaces()) {
             if (type instanceof ParameterizedType) {
                 final ParameterizedType pType = (ParameterizedType) type;
@@ -148,10 +155,4 @@ public class TypeConverterRegistry {
         registry.putIfAbsent(aliasType, registry.get(knownType));
     }
 
-    private <E extends Enum<E>> TypeConverter<? extends E> registerEnumType(final Class<E> type) {
-        final TypeConverter<E> converter = new EnumConverter<E>(type);
-        registry.putIfAbsent(type, converter);
-        return converter;
-    }
-
 }