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(); } /*****************************************************