Author: oheger
Date: Wed Jul 27 11:18:32 2005
New Revision: 225563
URL: http://svn.apache.org/viewcvs?rev=225563&view=rev
Log:
Fixed a bug in HierarchicalConfiguration.CloneVisitor
Modified:
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/HierarchicalConfiguration.java
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java
Modified:
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/HierarchicalConfiguration.java
URL:
http://svn.apache.org/viewcvs/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/HierarchicalConfiguration.java?rev=225563&r1=225562&r2=225563&view=diff
==============================================================================
---
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/HierarchicalConfiguration.java
(original)
+++
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/HierarchicalConfiguration.java
Wed Jul 27 11:18:32 2005
@@ -1023,7 +1023,9 @@
{
try
{
- return super.clone();
+ Node copy = (Node) super.clone();
+ copy.children = null;
+ return copy;
}
catch (CloneNotSupportedException cex)
{
@@ -1263,10 +1265,10 @@
*/
public void visitAfterChildren(Node node, ConfigurationKey key)
{
- copyStack.pop();
+ Node copy = (Node) copyStack.pop();
if (copyStack.isEmpty())
{
- result = node;
+ result = copy;
}
}
@@ -1279,7 +1281,6 @@
public void visitBeforeChildren(Node node, ConfigurationKey key)
{
Node copy = (Node) node.clone();
- copy.removeChildren();
if (!copyStack.isEmpty())
{
Modified:
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java
URL:
http://svn.apache.org/viewcvs/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java?rev=225563&r1=225562&r2=225563&view=diff
==============================================================================
---
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java
(original)
+++
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java
Wed Jul 27 11:18:32 2005
@@ -547,5 +547,25 @@
assertNull(copy.getDocument());
assertNotNull(conf.getFileName());
assertNull(copy.getFileName());
+
+ copy.setProperty("element3", "clonedValue");
+ assertEquals("value", conf.getString("element3"));
+ conf.setProperty("[EMAIL PROTECTED]", "originalFoo");
+ assertEquals("foo", copy.getString("[EMAIL PROTECTED]"));
+ }
+
+ public void testSubset() throws ConfigurationException
+ {
+ conf = new XMLConfiguration();
+ conf.load(new File("conf/testHierarchicalXMLConfiguration.xml"));
+ conf.subset("tables.table(0)");
+ if(testSaveConf.exists())
+ {
+ assertTrue(testSaveConf.delete());
+ }
+ conf.save(testSaveConf);
+
+ conf = new XMLConfiguration(testSaveConf);
+ assertEquals("users", conf.getString("tables.table(0).name"));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]