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