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

Reply via email to