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