Author: hlship
Date: Tue Jun  1 14:24:37 2010
New Revision: 950088

URL: http://svn.apache.org/viewvc?rev=950088&view=rev
Log:
Refactor the functional Flow code from tapestry-ioc to tapestry-func

Added:
    tapestry/tapestry5/trunk/tapestry-func/src/main/
    tapestry/tapestry5/trunk/tapestry-func/src/main/java/
    tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/
    tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/
    tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/
    
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/
    
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/AbstractFlow.java
   (contents, props changed)
      - copied, changed from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/AbstractFlow.java
    
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/ArrayFlow.java
   (contents, props changed)
      - copied, changed from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/ArrayFlow.java
    
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/ConcatFlow.java
   (contents, props changed)
      - copied, changed from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/ConcatFlow.java
    
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/EmptyFlow.java
   (contents, props changed)
      - copied, changed from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/EmptyFlow.java
    
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java
   (contents, props changed)
      - copied, changed from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/F.java
    
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/FilteredFlow.java
   (contents, props changed)
      - copied, changed from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/FilteredFlow.java
    
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Flow.java
   (contents, props changed)
      - copied, changed from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Flow.java
    
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/MappedFlow.java
   (contents, props changed)
      - copied, changed from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/MappedFlow.java
    
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Mapper.java
   (contents, props changed)
      - copied, changed from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Mapper.java
    
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Predicate.java
   (contents, props changed)
      - copied, changed from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Predicate.java
    
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Reducer.java
   (contents, props changed)
      - copied, changed from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Reducer.java
    
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Worker.java
   (contents, props changed)
      - copied, changed from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Worker.java
    tapestry/tapestry5/trunk/tapestry-func/src/test/java/
    tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/
    tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/
    tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/
    
tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/
    
tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java
   (contents, props changed)
      - copied, changed from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/func/FuncTest.java
Removed:
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/AbstractFlow.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/ArrayFlow.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/ConcatFlow.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/EmptyFlow.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/F.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/FilteredFlow.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Flow.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/MappedFlow.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Mapper.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Predicate.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Reducer.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Worker.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/func/FuncTest.java

Copied: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/AbstractFlow.java
 (from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/AbstractFlow.java)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/AbstractFlow.java?p2=tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/AbstractFlow.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/AbstractFlow.java&r1=950087&r2=950088&rev=950088&view=diff
==============================================================================
    (empty)

Propchange: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/AbstractFlow.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/ArrayFlow.java
 (from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/ArrayFlow.java)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/ArrayFlow.java?p2=tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/ArrayFlow.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/ArrayFlow.java&r1=950087&r2=950088&rev=950088&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/ArrayFlow.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/ArrayFlow.java
 Tue Jun  1 14:24:37 2010
@@ -22,8 +22,6 @@ import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-
 /**
  * Implementation of {...@link Flow} based on an internal array of objects.
  * 
@@ -96,7 +94,9 @@ class ArrayFlow<T> extends AbstractFlow<
         if (values.length < 2)
             return this;
 
-        List<T> newValues = CollectionFactory.newList(values);
+        List<T> newValues = new ArrayList<T>();
+
+        newValues.addAll(Arrays.asList(values));
 
         Collections.reverse(newValues);
 

Propchange: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/ArrayFlow.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/ConcatFlow.java
 (from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/ConcatFlow.java)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/ConcatFlow.java?p2=tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/ConcatFlow.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/ConcatFlow.java&r1=950087&r2=950088&rev=950088&view=diff
==============================================================================
    (empty)

Propchange: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/ConcatFlow.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/EmptyFlow.java
 (from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/EmptyFlow.java)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/EmptyFlow.java?p2=tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/EmptyFlow.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/EmptyFlow.java&r1=950087&r2=950088&rev=950088&view=diff
==============================================================================
    (empty)

Propchange: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/EmptyFlow.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java
 (from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/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?p2=tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/F.java&r1=950087&r2=950088&rev=950088&view=diff
==============================================================================
    (empty)

Propchange: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/F.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/FilteredFlow.java
 (from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/FilteredFlow.java)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/FilteredFlow.java?p2=tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/FilteredFlow.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/FilteredFlow.java&r1=950087&r2=950088&rev=950088&view=diff
==============================================================================
    (empty)

Propchange: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/FilteredFlow.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Flow.java
 (from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Flow.java)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Flow.java?p2=tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Flow.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Flow.java&r1=950087&r2=950088&rev=950088&view=diff
==============================================================================
    (empty)

Propchange: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Flow.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/MappedFlow.java
 (from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/MappedFlow.java)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/MappedFlow.java?p2=tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/MappedFlow.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/MappedFlow.java&r1=950087&r2=950088&rev=950088&view=diff
==============================================================================
    (empty)

Propchange: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/MappedFlow.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Mapper.java
 (from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Mapper.java)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Mapper.java?p2=tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Mapper.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Mapper.java&r1=950087&r2=950088&rev=950088&view=diff
==============================================================================
    (empty)

Propchange: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Mapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Predicate.java
 (from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Predicate.java)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Predicate.java?p2=tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Predicate.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Predicate.java&r1=950087&r2=950088&rev=950088&view=diff
==============================================================================
    (empty)

Propchange: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Predicate.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Reducer.java
 (from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Reducer.java)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Reducer.java?p2=tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Reducer.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Reducer.java&r1=950087&r2=950088&rev=950088&view=diff
==============================================================================
    (empty)

Propchange: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Reducer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Worker.java
 (from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Worker.java)
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Worker.java?p2=tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Worker.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/func/Worker.java&r1=950087&r2=950088&rev=950088&view=diff
==============================================================================
    (empty)

Propchange: 
tapestry/tapestry5/trunk/tapestry-func/src/main/java/org/apache/tapestry5/func/Worker.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: 
tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java
 (from r950087, 
tapestry/tapestry5/trunk/tapestry-ioc/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?p2=tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java&p1=tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/func/FuncTest.java&r1=950087&r2=950088&rev=950088&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/func/FuncTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java
 Tue Jun  1 14:24:37 2010
@@ -21,11 +21,10 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 
-import org.apache.tapestry5.ioc.internal.util.Defense;
-import org.apache.tapestry5.ioc.test.TestUtils;
+import org.testng.Assert;
 import org.testng.annotations.Test;
 
-public class FuncTest extends TestUtils
+public class FuncTest extends Assert
 {
 
     private Mapper<String, Integer> stringToLength = new Mapper<String, 
Integer>()
@@ -54,11 +53,20 @@ public class FuncTest extends TestUtils
 
     private Flow<Integer> filteredEmpty = F.flow(1, 3, 5, 7).filter(evenp);
 
+    private <T> void assertListsEquals(List<T> actual, T... expected)
+    {
+        assertEquals(actual, Arrays.asList(expected));
+    }
+
+    private void unreachable()
+    {
+        throw new RuntimeException("Should not be reachable.");
+    }
+
     @Test
     public void map()
     {
         List<String> source = Arrays.asList("Mary", "had", "a", "little", 
"lamb");
-        Defense.notNull(source, "source");
 
         List<Integer> lengths = F.flow(source).map(stringToLength).toList();
 
@@ -89,7 +97,6 @@ public class FuncTest extends TestUtils
     public void map_empty_collection_is_the_empty_list()
     {
         List<String> source = Arrays.asList();
-        Defense.notNull(source, "source");
 
         List<Integer> lengths = F.flow(source).map(stringToLength).toList();
 

Propchange: 
tapestry/tapestry5/trunk/tapestry-func/src/test/java/org/apache/tapestry5/func/FuncTest.java
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to