You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ch...@apache.org on 2014/05/27 11:07:42 UTC

svn commit: r1597727 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParameters.java test/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParametersTest.java

Author: chetanm
Date: Tue May 27 09:07:42 2014
New Revision: 1597727

URL: http://svn.apache.org/r1597727
Log:
OAK-1857 - Support collection object conversion to String[] in ConfigurationParameters

If target type is String[] then source value is converted using PropertiesUtil which internally handles all the possible cases

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParameters.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParametersTest.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParameters.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParameters.java?rev=1597727&r1=1597726&r2=1597727&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParameters.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParameters.java Tue May 27 09:07:42 2014
@@ -31,6 +31,7 @@ import javax.annotation.CheckForNull;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
+import org.apache.jackrabbit.oak.commons.PropertiesUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -246,6 +247,8 @@ public final class ConfigurationParamete
                 return (T) Double.valueOf(str);
             } else if (clazz == Boolean.class || clazz == boolean.class) {
                 return (T) Boolean.valueOf(str);
+            } else if (clazz == String[].class){
+                return (T) PropertiesUtil.toStringArray(configProperty, (String[]) defaultValue);
             } else {
                 // unsupported target type
                 log.warn("Unsupported target type {} for value {}", clazz.getName(), str);

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParametersTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParametersTest.java?rev=1597727&r1=1597726&r2=1597727&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParametersTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/spi/security/ConfigurationParametersTest.java Tue May 27 09:07:42 2014
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.spi.security;
 
+import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Collections;
 import java.util.HashMap;
@@ -154,6 +155,13 @@ public class ConfigurationParametersTest
     }
 
     @Test
+    public void testCollectionAsArray() throws Exception{
+        String[] testArray = {"t"};
+        ConfigurationParameters options = ConfigurationParameters.of(Collections.singletonMap("test", Arrays.asList(testArray)));
+        assertArrayEquals(testArray, options.getConfigValue("test", null, String[].class));
+    }
+
+    @Test
     public void testConversion() {
         TestObject testObject = new TestObject("t");
         Integer int1000 = 1000;