You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by oh...@apache.org on 2007/01/09 21:40:03 UTC

svn commit: r494562 - in /jakarta/commons/proper/configuration/trunk/src: java/org/apache/commons/configuration/SubsetConfiguration.java test/org/apache/commons/configuration/TestSubsetConfiguration.java

Author: oheger
Date: Tue Jan  9 12:40:02 2007
New Revision: 494562

URL: http://svn.apache.org/viewvc?view=rev&rev=494562
Log:
CONFIGURATION-155: Incorporate instance list delimiters to SubsetConfiguration

Modified:
    jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/SubsetConfiguration.java
    jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestSubsetConfiguration.java

Modified: jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/SubsetConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/SubsetConfiguration.java?view=diff&rev=494562&r1=494561&r2=494562
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/SubsetConfiguration.java (original)
+++ jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/SubsetConfiguration.java Tue Jan  9 12:40:02 2007
@@ -282,4 +282,37 @@
             return super.isThrowExceptionOnMissing();
         }
     }
+
+    /**
+     * Returns the list delimiter. This property will be fetched from the parent
+     * configuration if supported.
+     *
+     * @return the list delimiter
+     * @since 1.4
+     */
+    public char getListDelimiter()
+    {
+        return (parent instanceof AbstractConfiguration) ? ((AbstractConfiguration) parent)
+                .getListDelimiter()
+                : super.getListDelimiter();
+    }
+
+    /**
+     * Sets the list delimiter. If the parent configuration supports this
+     * feature, the delimiter will be set at the parent.
+     *
+     * @param delim the new list delimiter
+     * @since 1.4
+     */
+    public void setListDelimiter(char delim)
+    {
+        if (parent instanceof AbstractConfiguration)
+        {
+            ((AbstractConfiguration) parent).setListDelimiter(delim);
+        }
+        else
+        {
+            super.setListDelimiter(delim);
+        }
+    }
 }

Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestSubsetConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestSubsetConfiguration.java?view=diff&rev=494562&r1=494561&r2=494562
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestSubsetConfiguration.java (original)
+++ jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestSubsetConfiguration.java Tue Jan  9 12:40:02 2007
@@ -225,4 +225,32 @@
         assertTrue("the subset is not empty", subset.isEmpty());
         assertFalse("the parent configuration is empty", config.isEmpty());
     }
+
+    public void testSetListDelimiter()
+    {
+        BaseConfiguration config = new BaseConfiguration();
+        Configuration subset = config.subset("prefix");
+        config.setListDelimiter('/');
+        subset.addProperty("list", "a/b/c");
+        assertEquals("Wrong size of list", 3, config.getList("prefix.list")
+                .size());
+
+        ((AbstractConfiguration) subset).setListDelimiter(';');
+        subset.addProperty("list2", "a;b;c");
+        assertEquals("Wrong size of list2", 3, config.getList("prefix.list2")
+                .size());
+    }
+
+    public void testGetListDelimiter()
+    {
+        BaseConfiguration config = new BaseConfiguration();
+        AbstractConfiguration subset = (AbstractConfiguration) config
+                .subset("prefix");
+        config.setListDelimiter('/');
+        assertEquals("Wrong list delimiter in subset", '/', subset
+                .getListDelimiter());
+        subset.setListDelimiter(';');
+        assertEquals("Wrong list delimiter in parent", ';', config
+                .getListDelimiter());
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org