epugh 2004/05/04 15:27:10
Modified: configuration/xdocs changes.xml
configuration/src/test/org/apache/commons/configuration
TestSubsetConfiguration.java
configuration/src/java/org/apache/commons/configuration
AbstractConfiguration.java
Log:
Bugzilla Bug 28763
[configuration] SubsetConfiguration.getList throws exception
Revision Changes Path
1.19 +4 -0 jakarta-commons/configuration/xdocs/changes.xml
Index: changes.xml
===================================================================
RCS file: /home/cvs/jakarta-commons/configuration/xdocs/changes.xml,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- changes.xml 1 Apr 2004 18:43:04 -0000 1.18
+++ changes.xml 4 May 2004 22:27:10 -0000 1.19
@@ -7,6 +7,10 @@
<body>
<release version="1.0-dev-4" date="">
+ <action dev="epugh" type="fix">
+ SubsetConfiguration returns a List on getList(). AbstractConfiguration
wouldn't properly
+ deal with a List, only with a Container for getList()! Thanks to jschaible
for the unit test.
+ </action>
<action dev="jschaible" type="add">
Direct support of XML via DOM. New classes DOMConfiguration and
HierarchicalDOMConfiguration.
</action>
1.2 +13 -1
jakarta-commons/configuration/src/test/org/apache/commons/configuration/TestSubsetConfiguration.java
Index: TestSubsetConfiguration.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/configuration/src/test/org/apache/commons/configuration/TestSubsetConfiguration.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TestSubsetConfiguration.java 9 Mar 2004 10:31:31 -0000 1.1
+++ TestSubsetConfiguration.java 4 May 2004 22:27:10 -0000 1.2
@@ -18,7 +18,9 @@
import junit.framework.TestCase;
+import java.util.ArrayList;
import java.util.Iterator;
+import java.util.List;
/**
* Test case for the [EMAIL PROTECTED] SubsetConfiguration} class.
@@ -104,5 +106,15 @@
assertEquals("1st key", "abc", it.next());
assertEquals("2nd key", "abc.key1", it.next());
assertFalse("too many elements", it.hasNext());
+ }
+
+ public void testGetList() {
+ BaseConfiguration conf = new BaseConfiguration();
+ conf.setProperty("test.abc", "value0,value1");
+ conf.addProperty("test.abc","value3");
+
+ Configuration subset = new SubsetConfiguration(conf, "test", ".");
+ List list = subset.getList("abc", new ArrayList());
+ assertEquals(3, list.size());
}
}
1.8 +5 -1
jakarta-commons/configuration/src/java/org/apache/commons/configuration/AbstractConfiguration.java
Index: AbstractConfiguration.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/configuration/src/java/org/apache/commons/configuration/AbstractConfiguration.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- AbstractConfiguration.java 9 Mar 2004 10:31:31 -0000 1.7
+++ AbstractConfiguration.java 4 May 2004 22:27:10 -0000 1.8
@@ -1254,6 +1254,10 @@
{
list = ((Container) value).asList();
}
+ else if (value instanceof List)
+ {
+ list = (List)value;
+ }
else if (value == null)
{
list = ((defaultValue == null) ? new ArrayList() : defaultValue);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]