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