Tried it. Was disappointed. Autoboxing doesn't work on array types? :(
On 28 May 2014 00:39, Matt Sicker <[email protected]> wrote: > I shall. Probably on the train tomorrow morning. :) > > > On 28 May 2014 00:25, Gary Gregory <[email protected]> wrote: > >> Try it... ;-) >> >> Gary >> >> >> -------- Original message -------- >> From: Matt Sicker >> Date:05/27/2014 23:53 (GMT-05:00) >> To: Log4J Developers List >> 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 >> >> >> 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]> >> > > > > -- > Matt Sicker <[email protected]> > -- Matt Sicker <[email protected]>
