You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by rg...@apache.org on 2008/12/28 09:29:42 UTC

svn commit: r729706 - in /commons/proper/configuration/branches/configuration2_experimental: src/main/java/org/apache/commons/configuration2/ src/test/java/org/apache/commons/configuration2/ xdocs/

Author: rgoers
Date: Sun Dec 28 00:29:42 2008
New Revision: 729706

URL: http://svn.apache.org/viewvc?rev=729706&view=rev
Log:
CONFIGURATION-356 Add getConfigurations and getConfigurationNameList. Correct checkstyle issue in XMLConfiguration

Modified:
    commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/CombinedConfiguration.java
    commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/XMLConfiguration.java
    commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java
    commons/proper/configuration/branches/configuration2_experimental/xdocs/changes.xml

Modified: commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/CombinedConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/CombinedConfiguration.java?rev=729706&r1=729705&r2=729706&view=diff
==============================================================================
--- commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/CombinedConfiguration.java (original)
+++ commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/CombinedConfiguration.java Sun Dec 28 00:29:42 2008
@@ -391,6 +391,39 @@
         return (Configuration) namedConfigurations.get(name);
     }
 
+
+    /**
+     * Returns a List of all the configurations that have been added.
+     * @return A List of all the configurations.
+     * @since 1.7
+     */
+    public List<AbstractConfiguration> getConfigurations()
+    {
+        List<AbstractConfiguration> list = new ArrayList<AbstractConfiguration>();
+        for (ConfigData config : configurations)
+        {
+            list.add(config.getConfiguration());
+        }
+        return list;
+    }
+
+    /**
+     * Returns a List of the names of all the configurations that have been
+     * added in the order they were added. A NULL value will be present in
+     * the list for each configuration that was added without a name.
+     * @return A List of all the configuration names.
+     * @since 1.7
+     */
+    public List<String> getConfigurationNameList()
+    {
+        List<String> list = new ArrayList<String>();
+        for (ConfigData config : configurations)
+        {
+            list.add(config.getName());
+        }
+        return list;
+    }
+
     /**
      * Removes the specified configuration from this combined configuration.
      *

Modified: commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/XMLConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/XMLConfiguration.java?rev=729706&r1=729705&r2=729706&view=diff
==============================================================================
--- commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/XMLConfiguration.java (original)
+++ commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/XMLConfiguration.java Sun Dec 28 00:29:42 2008
@@ -17,7 +17,13 @@
 
 package org.apache.commons.configuration2;
 
-import java.io.*;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.io.Writer;
+import java.io.StringWriter;
+import java.io.StringReader;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collection;

Modified: commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java?rev=729706&r1=729705&r2=729706&view=diff
==============================================================================
--- commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java (original)
+++ commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/TestCombinedConfiguration.java Sun Dec 28 00:29:42 2008
@@ -22,6 +22,7 @@
 import java.io.PrintWriter;
 import java.util.Collection;
 import java.util.Set;
+import java.util.List;
 
 import org.apache.commons.configuration2.AbstractConfiguration;
 import org.apache.commons.configuration2.CombinedConfiguration;
@@ -591,6 +592,34 @@
         assertEquals("No invalidate event fired", 1, listener.invalidateEvents);
     }
 
+    public void testGetConfigurations() throws Exception
+    {
+        config.addConfiguration(setUpTestConfiguration());
+        config.addConfiguration(setUpTestConfiguration(), TEST_NAME, "conf2");
+        AbstractConfiguration pc = new PropertiesConfiguration();
+        config.addConfiguration(pc, "props");
+        List<AbstractConfiguration> list = config.getConfigurations();
+        assertNotNull("No list of configurations returned", list);
+        assertTrue("Incorrect number of configurations", list.size() == 3);
+        AbstractConfiguration c = list.get(2);
+        assertTrue("Incorrect configuration", c == pc);
+    }
+
+
+    public void testGetConfigurationNameList() throws Exception
+    {
+        config.addConfiguration(setUpTestConfiguration());
+        config.addConfiguration(setUpTestConfiguration(), TEST_NAME, "conf2");
+        AbstractConfiguration pc = new PropertiesConfiguration();
+        config.addConfiguration(pc, "props");
+        List<String> list = config.getConfigurationNameList();
+        assertNotNull("No list of configurations returned", list);
+        assertTrue("Incorrect number of configurations", list.size() == 3);
+        String name = (list.get(1));
+        assertNotNull("No name returned", name);
+        assertTrue("Incorrect configuration name", TEST_NAME.equals(name));
+    }
+
     /**
      * Helper method for writing a file.
      *

Modified: commons/proper/configuration/branches/configuration2_experimental/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/xdocs/changes.xml?rev=729706&r1=729705&r2=729706&view=diff
==============================================================================
--- commons/proper/configuration/branches/configuration2_experimental/xdocs/changes.xml (original)
+++ commons/proper/configuration/branches/configuration2_experimental/xdocs/changes.xml Sun Dec 28 00:29:42 2008
@@ -85,6 +85,9 @@
     </release>
 
     <release version="1.7" date="in SVN" description="">
+      <action dev="rgoers" type="add" issue="CONFIGURATION-356">
+        Added getConfigurations and getConfigurationNameList.
+      </action>
       <action dev="rgoers" type="add" issue="CONFIGURATION-257">
         Allow configurations to be validated using XML Schemas.
       </action>