You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2007/08/11 16:51:30 UTC
svn commit: r564927 - in /commons/proper/configuration/trunk:
src/java/org/apache/commons/configuration/AbstractHierarchicalFileConfiguration.java
src/test/org/apache/commons/configuration/TestXMLConfiguration.java
xdocs/changes.xml
Author: oheger
Date: Sat Aug 11 07:51:29 2007
New Revision: 564927
URL: http://svn.apache.org/viewvc?view=rev&rev=564927
Log:
CONFIGURATION-291: AbstractHierarchicalFileConfiguration.addNodes() now correctly triggers the auto save mechanism
Modified:
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractHierarchicalFileConfiguration.java
commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java
commons/proper/configuration/trunk/xdocs/changes.xml
Modified: commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractHierarchicalFileConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractHierarchicalFileConfiguration.java?view=diff&rev=564927&r1=564926&r2=564927
==============================================================================
--- commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractHierarchicalFileConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractHierarchicalFileConfiguration.java Sat Aug 11 07:51:29 2007
@@ -23,6 +23,7 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
+import java.util.Collection;
import java.util.Iterator;
import java.util.List;
@@ -323,6 +324,20 @@
{
reload();
return super.isEmpty();
+ }
+
+ /**
+ * Directly adds sub nodes to this configuration. This implementation checks
+ * whether auto save is necessary after executing the operation.
+ *
+ * @param the key where the nodes are to be added
+ * @param nodes a collection with the nodes to be added
+ * @since 1.5
+ */
+ public void addNodes(String key, Collection nodes)
+ {
+ super.addNodes(key, nodes);
+ delegate.possiblySave();
}
/**
Modified: commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java?view=diff&rev=564927&r1=564926&r2=564927
==============================================================================
--- commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestXMLConfiguration.java Sat Aug 11 07:51:29 2007
@@ -26,6 +26,8 @@
import java.io.StringReader;
import java.io.StringWriter;
import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.Iterator;
import java.util.List;
@@ -1155,6 +1157,23 @@
XMLConfiguration checkConf = new XMLConfiguration();
checkConf.setFile(testSaveConf);
checkSavedConfig(checkConf);
+ }
+
+ /**
+ * Tests whether the addNodes() method triggers an auto save.
+ */
+ public void testAutoSaveAddNodes() throws ConfigurationException
+ {
+ conf.setFile(testSaveConf);
+ conf.setAutoSave(true);
+ HierarchicalConfiguration.Node node = new HierarchicalConfiguration.Node(
+ "addNodesTest", Boolean.TRUE);
+ Collection nodes = new ArrayList(1);
+ nodes.add(node);
+ conf.addNodes("test.autosave", nodes);
+ XMLConfiguration c2 = new XMLConfiguration(testSaveConf);
+ assertTrue("Added nodes are not saved", c2
+ .getBoolean("test.autosave.addNodesTest"));
}
/**
Modified: commons/proper/configuration/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/xdocs/changes.xml?view=diff&rev=564927&r1=564926&r2=564927
==============================================================================
--- commons/proper/configuration/trunk/xdocs/changes.xml (original)
+++ commons/proper/configuration/trunk/xdocs/changes.xml Sat Aug 11 07:51:29 2007
@@ -23,6 +23,10 @@
<body>
<release version="1.5-SNAPSHOT" date="in SVN" description="">
+ <action dev="oheger" type="fix" issue="CONFIGURATION-291">
+ The addNodes() method of hierarchical file-based configurations now
+ correctly triggers an auto save.
+ </action>
<action dev="oheger" type="fix" issue="CONFIGURATION-287">
HierarchicalConfiguration.addNodes() now resets the reference property
of all nodes to be added. This fixes a problem with XMLConfiguration,