Author: schor
Date: Thu Jul 19 19:43:44 2018
New Revision: 1836299

URL: http://svn.apache.org/viewvc?rev=1836299&view=rev
Log:
[UIMA-5839] support getType for empty iterator

Modified:
    
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/FSIterator.java

Modified: 
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/FSIterator.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/FSIterator.java?rev=1836299&r1=1836298&r2=1836299&view=diff
==============================================================================
--- 
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/FSIterator.java
 (original)
+++ 
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/FSIterator.java
 Thu Jul 19 19:43:44 2018
@@ -27,7 +27,9 @@ import java.util.Spliterators;
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
 
+import org.apache.uima.cas.impl.LowLevelIndex;
 import org.apache.uima.cas.impl.LowLevelIterator;
+import org.apache.uima.cas.impl.TypeSystemImpl;
 
 /**
  * Iterator over feature structures.
@@ -195,7 +197,10 @@ public interface FSIterator<T extends Fe
    * @return the type this iterator is over
    */
   default Type getType() {
-    return ((LowLevelIterator<T>)this).ll_getIndex().getType();
+    LowLevelIndex<T> idx = ((LowLevelIterator<T>)this).ll_getIndex();
+    return (null == idx) // happens with a low level empty index, maybe 
wrapped by others
+             ? TypeSystemImpl.staticTsi.getTopType()
+             : idx.getType();
   }
 
   /*****************************************************


Reply via email to