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 2014/03/01 21:11:09 UTC

svn commit: r1573217 - in /commons/proper/configuration/branches/immutableNodes/src: main/java/org/apache/commons/configuration/ main/java/org/apache/commons/configuration/convert/ test/java/org/apache/commons/configuration/convert/

Author: oheger
Date: Sat Mar  1 20:11:09 2014
New Revision: 1573217

URL: http://svn.apache.org/r1573217
Log:
Changed ListDelimiterHandler.parse() to return an Iterable.

Changed return type from Iterator to Iterable. This is more flexible. The
NodeModel interface expects an Iterable to be passed in.

Modified:
    commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/AbstractConfiguration.java
    commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java
    commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/convert/AbstractListDelimiterHandler.java
    commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/convert/ListDelimiterHandler.java
    commons/proper/configuration/branches/immutableNodes/src/test/java/org/apache/commons/configuration/convert/TestDisabledListDelimiterHandler.java

Modified: commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/AbstractConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/AbstractConfiguration.java?rev=1573217&r1=1573216&r2=1573217&view=diff
==============================================================================
--- commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/AbstractConfiguration.java (original)
+++ commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/AbstractConfiguration.java Sat Mar  1 20:11:09 2014
@@ -719,10 +719,9 @@ public abstract class AbstractConfigurat
      */
     protected void addPropertyInternal(String key, Object value)
     {
-        for (Iterator<?> it = getListDelimiterHandler().parse(value); it
-                .hasNext();)
+        for (Object obj : getListDelimiterHandler().parse(value))
         {
-            addPropertyDirect(key, it.next());
+            addPropertyDirect(key, obj);
         }
     }
 

Modified: commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java?rev=1573217&r1=1573216&r2=1573217&view=diff
==============================================================================
--- commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java (original)
+++ commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java Sat Mar  1 20:11:09 2014
@@ -17,6 +17,7 @@
 
 package org.apache.commons.configuration;
 
+import javax.sql.DataSource;
 import java.sql.Clob;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
@@ -28,8 +29,6 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import javax.sql.DataSource;
-
 import org.apache.commons.configuration.convert.DisabledListDelimiterHandler;
 import org.apache.commons.configuration.convert.ListDelimiterHandler;
 import org.apache.commons.lang3.StringUtils;
@@ -329,10 +328,9 @@ public class DatabaseConfiguration exten
                 {
                     Object value = extractPropertyValue(rs);
                     // Split value if it contains the list delimiter
-                    Iterator<?> it = getListDelimiterHandler().parse(value);
-                    while (it.hasNext())
+                    for (Object o : getListDelimiterHandler().parse(value))
                     {
-                        results.add(it.next());
+                        results.add(o);
                     }
                 }
 

Modified: commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/convert/AbstractListDelimiterHandler.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/convert/AbstractListDelimiterHandler.java?rev=1573217&r1=1573216&r2=1573217&view=diff
==============================================================================
--- commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/convert/AbstractListDelimiterHandler.java (original)
+++ commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/convert/AbstractListDelimiterHandler.java Sat Mar  1 20:11:09 2014
@@ -58,9 +58,9 @@ public abstract class AbstractListDelimi
      * primitive objects.</li>
      * </ul>
      */
-    public Iterator<?> parse(Object value)
+    public Iterable<?> parse(Object value)
     {
-        return flatten(value).iterator();
+        return flatten(value);
     }
 
     /**

Modified: commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/convert/ListDelimiterHandler.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/convert/ListDelimiterHandler.java?rev=1573217&r1=1573216&r2=1573217&view=diff
==============================================================================
--- commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/convert/ListDelimiterHandler.java (original)
+++ commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/convert/ListDelimiterHandler.java Sat Mar  1 20:11:09 2014
@@ -17,7 +17,6 @@
 package org.apache.commons.configuration.convert;
 
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -73,13 +72,13 @@ public interface ListDelimiterHandler
      * Parses the specified value for list delimiters and splits it if
      * necessary. The passed in object can be either a single value or a complex
      * one, e.g. a collection, an array, or an {@code Iterable}. It is the
-     * responsibility of this method to return an {@code Iterator} which
+     * responsibility of this method to return an {@code Iterable} which
      * contains all extracted values.
      *
      * @param value the value to be parsed
-     * @return an {@code Iterator} allowing access to all extracted values
+     * @return an {@code Iterable} allowing access to all extracted values
      */
-    Iterator<?> parse(Object value);
+    Iterable<?> parse(Object value);
 
     /**
      * Splits the specified string at the list delimiter and returns a

Modified: commons/proper/configuration/branches/immutableNodes/src/test/java/org/apache/commons/configuration/convert/TestDisabledListDelimiterHandler.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/immutableNodes/src/test/java/org/apache/commons/configuration/convert/TestDisabledListDelimiterHandler.java?rev=1573217&r1=1573216&r2=1573217&view=diff
==============================================================================
--- commons/proper/configuration/branches/immutableNodes/src/test/java/org/apache/commons/configuration/convert/TestDisabledListDelimiterHandler.java (original)
+++ commons/proper/configuration/branches/immutableNodes/src/test/java/org/apache/commons/configuration/convert/TestDisabledListDelimiterHandler.java Sat Mar  1 20:11:09 2014
@@ -54,12 +54,13 @@ public class TestDisabledListDelimiterHa
     }
 
     /**
-     * Checks whether the passed in iterator contains the expected values.
+     * Checks whether the passed in container contains the expected values.
      *
-     * @param it the iterator to test
+     * @param container the iterator to test
      */
-    private static void checkIterator(Iterator<?> it)
+    private static void checkIterator(Iterable<?> container)
     {
+        Iterator<?> it = container.iterator();
         for (Object o : VALUES)
         {
             assertEquals("Wrong value", o, it.next());
@@ -100,7 +101,7 @@ public class TestDisabledListDelimiterHa
     @Test
     public void testParseSimpleValue()
     {
-        Iterator<?> it = handler.parse(STR_VALUE);
+        Iterator<?> it = handler.parse(STR_VALUE).iterator();
         assertEquals("Wrong value", STR_VALUE, it.next());
         assertFalse("Too many values", it.hasNext());
     }
@@ -111,7 +112,7 @@ public class TestDisabledListDelimiterHa
     @Test
     public void testParseNull()
     {
-        assertFalse("Got a value", handler.parse(null).hasNext());
+        assertFalse("Got a value", handler.parse(null).iterator().hasNext());
     }
 
     /**