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

Reply via email to