Repository: zest-java
Updated Branches:
  refs/heads/develop 4e5cfd8ca -> 9580d06fa


ZEST-118 fixed multiple consumptions of the same stream


Project: http://git-wip-us.apache.org/repos/asf/zest-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/zest-java/commit/9580d06f
Tree: http://git-wip-us.apache.org/repos/asf/zest-java/tree/9580d06f
Diff: http://git-wip-us.apache.org/repos/asf/zest-java/diff/9580d06f

Branch: refs/heads/develop
Commit: 9580d06fa290dbee7c32b324c62cc0485b18b38c
Parents: 4e5cfd8
Author: Kent Sølvsten <[email protected]>
Authored: Sat Aug 29 09:29:12 2015 +0200
Committer: Kent Sølvsten <[email protected]>
Committed: Sat Aug 29 09:29:12 2015 +0200

----------------------------------------------------------------------
 .../org/apache/zest/runtime/structure/TypeLookup.java   | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zest-java/blob/9580d06f/core/runtime/src/main/java/org/apache/zest/runtime/structure/TypeLookup.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/main/java/org/apache/zest/runtime/structure/TypeLookup.java 
b/core/runtime/src/main/java/org/apache/zest/runtime/structure/TypeLookup.java
old mode 100644
new mode 100755
index 3baaee7..e2a5fa5
--- 
a/core/runtime/src/main/java/org/apache/zest/runtime/structure/TypeLookup.java
+++ 
b/core/runtime/src/main/java/org/apache/zest/runtime/structure/TypeLookup.java
@@ -22,6 +22,7 @@ package org.apache.zest.runtime.structure;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
 import java.lang.reflect.WildcardType;
+import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
@@ -539,12 +540,13 @@ public class TypeLookup
                     // Foo<Bar> check
                     // First check Foo
                     ParameterizedType parameterizedType = (ParameterizedType) 
lookedUpType;
-                    if( !checkClassMatch( types, (Class) 
parameterizedType.getRawType() ) )
+                    Collection asCollection = types.collect( 
Collectors.toList() );
+                    if( !checkClassMatch( asCollection.stream(), (Class) 
parameterizedType.getRawType() ) )
                     {
                         return false;
                     }
                     // Then check Bar
-                    return interfacesOf( types ).anyMatch( intf -> 
intf.equals( lookedUpType ) );
+                    return interfacesOf( asCollection.stream() ).anyMatch( 
intf -> intf.equals( lookedUpType ) );
                 }
                 else if( lookedUpType instanceof WildcardType )
                 {
@@ -591,12 +593,14 @@ public class TypeLookup
                     // Foo<Bar> check
                     // First check Foo
                     ParameterizedType parameterizedType = (ParameterizedType) 
lookedUpType;
-                    if( !checkClassMatch( types, (Class) 
parameterizedType.getRawType() ) )
+                    Collection asCollection = types.collect( 
Collectors.toList() );
+
+                    if( !checkClassMatch( asCollection.stream(), (Class) 
parameterizedType.getRawType() ) )
                     {
                         return false;
                     }
                     // Then check Bar
-                    interfacesOf( types ).anyMatch( intf -> intf.equals( 
lookedUpType ) );
+                    interfacesOf( asCollection.stream() ).anyMatch( intf -> 
intf.equals( lookedUpType ) );
                 }
                 else if( lookedUpType instanceof WildcardType )
                 {

Reply via email to