You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2011/05/22 21:09:08 UTC

svn commit: r1126169 - in /tapestry/tapestry5/trunk/tapestry-func/src: main/java/org/apache/tapestry5/func/ test/java/org/apache/tapestry5/func/

Author: hlship
Date: Sun May 22 19:09:07 2011
New Revision: 1126169

URL: http://svn.apache.org/viewvc?rev=1126169&view=rev
Log:
TAP5-1428: Previous commit duplicated F.iterate()
Rewrite F.series() in terms of F.iterate()

Removed:
    tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/LazyIterate.java
    tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/LazySeries.java
Modified:
    tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java
    tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java

Modified: tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java?rev=1126169&r1=1126168&r2=1126169&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java (original)
+++ tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java Sun May 22 19:09:07 2011
@@ -402,7 +402,6 @@ public class F
      * Creates an infinite lazy flow from an initial value and a function to map from the current value to the
      * next value.
      * 
-     * @since 5.3.0
      * @param <T>
      * @param initial
      *            initial value in flow
@@ -410,7 +409,7 @@ public class F
      *            maps from current value in flow to next value in flow
      * @return lazy flow
      */
-    public static <T> Flow<T> lazy(final T initial, final Mapper<T, T> function)
+    public static <T> Flow<T> iterate(final T initial, final Mapper<T, T> function)
     {
         LazyFunction<T> head = new LazyFunction<T>()
         {
@@ -428,27 +427,13 @@ public class F
      * <p>
      * Attempting to get the {@linkplain Flow#count()} of the series will form an infinite loop.
      */
-    public static Flow<Integer> series(int start, int delta)
+    public static Flow<Integer> series(int start, final int delta)
     {
-        return lazy(new LazySeries(start, delta));
-    }
-
-    /**
-     * Creates a lazy, infinte Flow consisting of the initial value, then the result of passing
-     * the initial value through the Mapper, and so forth, which each step value passed through the
-     * mapper
-     * to form the next step value.
-     */
-    public static <T> Flow<T> iterate(final T initial, final Mapper<T, T> mapper)
-    {
-        assert mapper != null;
-
-        return F.lazy(new LazyFunction<T>()
+        return iterate(start, new Mapper<Integer, Integer>()
         {
-
-            public LazyContinuation<T> next()
+            public Integer map(Integer element)
             {
-                return new LazyContinuation<T>(initial, new LazyIterate<T>(initial, mapper));
+                return element + delta;
             }
         });
     }

Modified: tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java?rev=1126169&r1=1126168&r2=1126169&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java Sun May 22 19:09:07 2011
@@ -603,21 +603,4 @@ public class FuncTest extends BaseFuncTe
 
         assertFlowValues(flow, 9, 7, 1);
     }
-
-    @Test
-    public void lazy_flow_from_mapper()
-    {
-        Mapper<Integer, Integer> mapper = new Mapper<Integer, Integer>()
-        {
-            public Integer map(Integer element)
-            {
-
-                return 2 * element.intValue();
-            }
-        };
-
-        Flow<Integer> flow = F.lazy(3, mapper);
-
-        assertFlowValues(flow.take(5), 3, 6, 12, 24, 48);
-    }
 }