Repository: logging-log4j2
Updated Branches:
  refs/heads/master df1d3544c -> 0bca4ca03


Add primitive types for Class type converter


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

Branch: refs/heads/master
Commit: dd657505cc85a2a1410d1b79e394f716b0c8bdf2
Parents: df1d354
Author: Matt Sicker <[email protected]>
Authored: Sat Jan 7 01:48:54 2017 -0600
Committer: Matt Sicker <[email protected]>
Committed: Sat Jan 7 01:48:54 2017 -0600

----------------------------------------------------------------------
 .../config/plugins/convert/TypeConverters.java  | 24 +++++++++++++++++++-
 .../plugins/convert/TypeConvertersTest.java     | 10 ++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/dd657505/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
index 03ec2ca..4802a33 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
@@ -178,7 +178,29 @@ public final class TypeConverters {
     public static class ClassConverter implements TypeConverter<Class<?>> {
         @Override
         public Class<?> convert(final String s) throws ClassNotFoundException {
-            return LoaderUtil.loadClass(s);
+            switch (s.toLowerCase()) {
+                case "boolean":
+                    return boolean.class;
+                case "byte":
+                    return byte.class;
+                case "char":
+                    return char.class;
+                case "double":
+                    return double.class;
+                case "float":
+                    return float.class;
+                case "int":
+                    return int.class;
+                case "long":
+                    return long.class;
+                case "short":
+                    return short.class;
+                case "void":
+                    return void.class;
+                default:
+                    return LoaderUtil.loadClass(s);
+            }
+
         }
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/dd657505/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConvertersTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConvertersTest.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConvertersTest.java
index 0c54345..35a3855 100644
--- 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConvertersTest.java
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConvertersTest.java
@@ -163,6 +163,16 @@ public class TypeConvertersTest {
                 { "c:/temp", new File("c:/temp"), null, File.class },
                 // JRE Class
                 { TypeConvertersTest.class.getName(), 
TypeConvertersTest.class, null, Class.class },
+                { "boolean", boolean.class, null, Class.class },
+                { "byte", byte.class, null, Class.class },
+                { "char", char.class, null, Class.class },
+                { "double", double.class, null, Class.class },
+                { "float", float.class, null, Class.class },
+                { "int", int.class, null, Class.class },
+                { "long", long.class, null, Class.class },
+                { "short", short.class, null, Class.class },
+                { "void", void.class, null, Class.class },
+                { "\t", Object.class, Object.class.getName(), Class.class },
                 { "\n", null, null, Class.class },
                 // JRE URL
                 { "http://locahost";, new URL("http://locahost";), null, 
URL.class },

Reply via email to