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 2005/07/27 20:18:50 UTC
svn commit: r225563 - in /jakarta/commons/proper/configuration/trunk/src:
java/org/apache/commons/configuration/HierarchicalConfiguration.java
test/org/apache/commons/configuration/TestXMLConfiguration.java
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("element3[@name]", "originalFoo");
+ assertEquals("foo", copy.getString("element3[@name]"));
+ }
+
+ 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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org