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]>
