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 22:32:45 UTC

svn commit: r494597 - 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 13:32:44 2007
New Revision: 494597

URL: http://svn.apache.org/viewvc?view=rev&rev=494597
Log:
CONFIGURATION-155: Add support for the delimiter parsing disabled flag 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=494597&r1=494596&r2=494597
==============================================================================
--- 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 13:32:44 2007
@@ -315,4 +315,41 @@
             super.setListDelimiter(delim);
         }
     }
+
+    /**
+     * Returns a flag whether string properties should be checked for list
+     * delimiter characters. This implementation ensures that this flag is kept
+     * in sync with the parent configuration if this object supports this
+     * feature.
+     *
+     * @return the delimiter parsing disabled flag
+     * @since 1.4
+     */
+    public boolean isDelimiterParsingDisabled()
+    {
+        return (parent instanceof AbstractConfiguration) ? ((AbstractConfiguration) parent)
+                .isDelimiterParsingDisabled()
+                : super.isDelimiterParsingDisabled();
+    }
+
+    /**
+     * Sets a flag whether list parsing is disabled. This implementation will
+     * also set the flag at the parent configuration if this object supports
+     * this feature.
+     *
+     * @param delimiterParsingDisabled the delimiter parsing disabled flag
+     * @since 1.4
+     */
+    public void setDelimiterParsingDisabled(boolean delimiterParsingDisabled)
+    {
+        if (parent instanceof AbstractConfiguration)
+        {
+            ((AbstractConfiguration) parent)
+                    .setDelimiterParsingDisabled(delimiterParsingDisabled);
+        }
+        else
+        {
+            super.setDelimiterParsingDisabled(delimiterParsingDisabled);
+        }
+    }
 }

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=494597&r1=494596&r2=494597
==============================================================================
--- 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 13:32:44 2007
@@ -253,4 +253,32 @@
         assertEquals("Wrong list delimiter in parent", ';', config
                 .getListDelimiter());
     }
+
+    public void testSetDelimiterParsingDisabled()
+    {
+        BaseConfiguration config = new BaseConfiguration();
+        Configuration subset = config.subset("prefix");
+        config.setDelimiterParsingDisabled(true);
+        subset.addProperty("list", "a,b,c");
+        assertEquals("Wrong value of property", "a,b,c", config
+                .getString("prefix.list"));
+
+        ((AbstractConfiguration) subset).setDelimiterParsingDisabled(false);
+        subset.addProperty("list2", "a,b,c");
+        assertEquals("Wrong size of list2", 3, config.getList("prefix.list2")
+                .size());
+    }
+
+    public void testIsDelimiterParsingDisabled()
+    {
+        BaseConfiguration config = new BaseConfiguration();
+        AbstractConfiguration subset = (AbstractConfiguration) config
+                .subset("prefix");
+        config.setDelimiterParsingDisabled(true);
+        assertTrue("Wrong value of list parsing flag in subset", subset
+                .isDelimiterParsingDisabled());
+        subset.setDelimiterParsingDisabled(false);
+        assertFalse("Wrong value of list parsing flag in parent", config
+                .isDelimiterParsingDisabled());
+    }
 }



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