Try it... ;-) Gary
<div>-------- Original message --------</div><div>From: Matt Sicker <[email protected]> </div><div>Date:05/27/2014 23:53 (GMT-05:00) </div><div>To: Log4J Developers List <[email protected]> </div><div>Subject: Fwd: svn commit: r1597922 - in /logging/log4j/log4j2/trunk/log4j-core/src: main/java/org/apache/logging/log4j/core/config/plugins/util/TypeConverters.java test/java/org/apache/logging/log4j/core/config/plugins/util/TypeConvertersTest.java </div><div> </div>You could just do expected.getClass().isArray() ---------- Forwarded message ---------- From: <[email protected]> Date: 27 May 2014 22:48 Subject: svn commit: r1597922 - in /logging/log4j/log4j2/trunk/log4j-core/src: main/java/org/apache/logging/log4j/core/config/plugins/util/TypeConverters.java test/java/org/apache/logging/log4j/core/config/plugins/util/TypeConvertersTest.java To: [email protected] Author: ggregory Date: Wed May 28 03:48:26 2014 New Revision: 1597922 URL: http://svn.apache.org/r1597922 Log: Add type converters for char[] and byte[]. Modified: logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/TypeConverters.java logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/util/TypeConvertersTest.java Modified: logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/TypeConverters.java URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/TypeConverters.java?rev=1597922&r1=1597921&r2=1597922&view=diff ============================================================================== --- logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/TypeConverters.java (original) +++ logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/TypeConverters.java Wed May 28 03:48:26 2014 @@ -54,6 +54,8 @@ public final class TypeConverters { */ private TypeConverters() { registry.put(String.class, new StringConverter()); + registry.put(char[].class, new CharArrayConverter()); + registry.put(byte[].class, new ByteArrayConverter()); registry.put(Boolean.class, new BooleanConverter()); registry.put(boolean.class, registry.get(Boolean.class)); registry.put(Integer.class, new IntegerConverter()); @@ -155,6 +157,26 @@ public final class TypeConverters { } /** + * Parses Strings into char[]s. + */ + private static class CharArrayConverter implements TypeConverter<char[]> { + @Override + public char[] convert(final String s) { + return s.toCharArray(); + } + } + + /** + * Parses Strings into byte[]s. + */ + private static class ByteArrayConverter implements TypeConverter<byte[]> { + @Override + public byte[] convert(final String s) { + return s.getBytes(Charset.defaultCharset()); + } + } + + /** * Parses strings into booleans. */ private static class BooleanConverter implements TypeConverter<Boolean> { Modified: logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/util/TypeConvertersTest.java URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/util/TypeConvertersTest.java?rev=1597922&r1=1597921&r2=1597922&view=diff ============================================================================== --- logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/util/TypeConvertersTest.java (original) +++ logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/config/plugins/util/TypeConvertersTest.java Wed May 28 03:48:26 2014 @@ -113,6 +113,9 @@ public class TypeConvertersTest { { "Cron", Facility.CRON, null, Facility.class }, { "not a real facility", Facility.AUTH, "auth", Facility.class }, { null, null, null, Facility.class }, + // arrays + { "123", "123".toCharArray(), null, char[].class }, + { "123", "123".getBytes(Charset.defaultCharset()), null, byte[].class }, } ); } @@ -133,6 +136,11 @@ public class TypeConvertersTest { public void testConvert() throws Exception { final Object actual = TypeConverters.convert(value, clazz, defaultValue); final String assertionMessage = "\nGiven: " + value + "\nDefault: " + defaultValue; - assertEquals(assertionMessage, expected, actual); - } + if (expected != null && expected instanceof char[]) { + assertArrayEquals(assertionMessage, (char[]) expected, (char[]) actual); + } else if (expected != null && expected instanceof byte[]) { + assertArrayEquals(assertionMessage, (byte[]) expected, (byte[]) actual); + } else { + assertEquals(assertionMessage, expected, actual); + }} } -- Matt Sicker <[email protected]>
