Author: bayard
Date: Mon Nov 3 14:41:09 2008
New Revision: 710200
URL: http://svn.apache.org/viewvc?rev=710200&view=rev
Log:
Applying Nathan Bubna's patch from COLLECTIONS-271 to fix the bug introduced in
the last patch where getKeys() breaks after a combine() or subset() call.
Modified:
commons/proper/collections/trunk/src/java/org/apache/commons/collections/ExtendedProperties.java
commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestExtendedProperties.java
Modified:
commons/proper/collections/trunk/src/java/org/apache/commons/collections/ExtendedProperties.java
URL:
http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/java/org/apache/commons/collections/ExtendedProperties.java?rev=710200&r1=710199&r2=710200&view=diff
==============================================================================
---
commons/proper/collections/trunk/src/java/org/apache/commons/collections/ExtendedProperties.java
(original)
+++
commons/proper/collections/trunk/src/java/org/apache/commons/collections/ExtendedProperties.java
Mon Nov 3 14:41:09 2008
@@ -820,7 +820,8 @@
public void combine(ExtendedProperties props) {
for (Iterator it = props.getKeys(); it.hasNext();) {
String key = (String) it.next();
- super.put(key, props.get(key));
+ clearProperty(key);
+ addPropertyDirect(key, props.get(key));
}
}
Modified:
commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestExtendedProperties.java
URL:
http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestExtendedProperties.java?rev=710200&r1=710199&r2=710200&view=diff
==============================================================================
---
commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestExtendedProperties.java
(original)
+++
commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestExtendedProperties.java
Mon Nov 3 14:41:09 2008
@@ -405,6 +405,15 @@
ExtendedProperties props2 = new ExtendedProperties();
props2.combine(props);
assertEquals( "\\\\192.168.1.91\\test", props2.getProperty("test") );
+
+ ExtendedProperties props3 = new ExtendedProperties();
+ props3.setProperty("sub.test", "foo");
+ props2.combine(props3);
+ assertEquals("foo", props2.getProperty("sub.test"));
+
+ ExtendedProperties subs = props2.subset("sub");
+ assertNotNull(subs);
+ assertEquals("foo", subs.getProperty("test"));
}
public void testCollections238() throws IOException {