Author: schor
Date: Tue Jul 17 21:19:41 2018
New Revision: 1836133

URL: http://svn.apache.org/viewvc?rev=1836133&view=rev
Log:
[UIMA-5833][UIMA-5835][UIMA-5834] add missing impls, plus size and getArray

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

Modified: 
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FilteredIterator.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FilteredIterator.java?rev=1836133&r1=1836132&r2=1836133&view=diff
==============================================================================
--- 
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FilteredIterator.java
 (original)
+++ 
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FilteredIterator.java
 Tue Jul 17 21:19:41 2018
@@ -19,8 +19,8 @@
 
 package org.apache.uima.cas.impl;
 
+import java.util.ArrayList;
 import java.util.Comparator;
-import java.util.NoSuchElementException;
 
 import org.apache.uima.cas.FSIterator;
 import org.apache.uima.cas.FSMatchConstraint;
@@ -124,22 +124,22 @@ class FilteredIterator<T extends Feature
 
   @Override
   public int ll_indexSizeMaybeNotCurrent() {
-    throw new UnsupportedOperationException();
+    return it.ll_indexSizeMaybeNotCurrent();
   }
 
   @Override
   public LowLevelIndex<T> ll_getIndex() {
-    throw new UnsupportedOperationException();
+    return it.ll_getIndex();
   }
 
   @Override
   public int ll_maxAnnotSpan() {
-    throw new UnsupportedOperationException();
+    return it.ll_maxAnnotSpan();
   }
 
   @Override
   public boolean isIndexesHaveBeenUpdated() {
-    throw new UnsupportedOperationException();
+    return it.isIndexesHaveBeenUpdated();
   }
 
   @Override
@@ -152,6 +152,27 @@ class FilteredIterator<T extends Feature
     return it.getComparator();
   }
 
+  @Override
+  public int size() {
+    FilteredIterator<T> it2 = new FilteredIterator<T>(it, cons);
+    int count = 0;
+    while (it2.hasNext()) {
+      count++;
+      it2.nextNvc();
+    }
+    return count;
+  }
+
+  @Override
+  public FeatureStructure[] getArray() {
+    FilteredIterator<T> it2 = new FilteredIterator<T>(it, cons);
+    ArrayList<FeatureStructure> items = new ArrayList<>();
+    while (it2.hasNext()) {
+      items.add(it2.nextNvc());
+    }
+    return items.toArray(new FeatureStructure[items.size()]);
+  }
+
 //  /* (non-Javadoc)
 //   * @see 
org.apache.uima.cas.impl.FSIteratorImplBase#moveTo(java.util.Comparator)
 //   */


Reply via email to