Author: schor
Date: Wed Jul 18 18:48:27 2018
New Revision: 1836221
URL: http://svn.apache.org/viewvc?rev=1836221&view=rev
Log:
[UIMA-5827] add isEmpty() method to selectFSs
Modified:
uima/uv3/uimaj-v3/trunk/uima-docbook-v3-users-guide/src/docbook/uv3.select.xml
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/SelectFSs.java
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/SelectFSs_impl.java
uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/SelectFsTest.java
Modified:
uima/uv3/uimaj-v3/trunk/uima-docbook-v3-users-guide/src/docbook/uv3.select.xml
URL:
http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uima-docbook-v3-users-guide/src/docbook/uv3.select.xml?rev=1836221&r1=1836220&r2=1836221&view=diff
==============================================================================
---
uima/uv3/uimaj-v3/trunk/uima-docbook-v3-users-guide/src/docbook/uv3.select.xml
(original)
+++
uima/uv3/uimaj-v3/trunk/uima-docbook-v3-users-guide/src/docbook/uv3.select.xml
Wed Jul 18 18:48:27 2018
@@ -800,6 +800,13 @@ startAt(begin, end, shifted) // same as
</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><emphasis role="strong">isEmpty</emphasis></term>
+ <listitem>
+ <para>returns true if the selection is empty.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
</section>
<section id="uv3.select.terminal_form_actions.streams">
Modified:
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/SelectFSs.java
URL:
http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/SelectFSs.java?rev=1836221&r1=1836220&r2=1836221&view=diff
==============================================================================
---
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/SelectFSs.java
(original)
+++
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/SelectFSs.java
Wed Jul 18 18:48:27 2018
@@ -689,6 +689,11 @@ public interface SelectFSs<T extends Fea
default void forEach(Consumer<? super T> action) {
Iterable.super.forEach(action);
}
+
+ /**
+ * @return true if the selection is empty
+ */
+ boolean isEmpty();
// /**
// * DON'T USE THIS, use index.select(XXX.class) instead
Modified:
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/SelectFSs_impl.java
URL:
http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/SelectFSs_impl.java?rev=1836221&r1=1836220&r2=1836221&view=diff
==============================================================================
---
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/SelectFSs_impl.java
(original)
+++
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/SelectFSs_impl.java
Wed Jul 18 18:48:27 2018
@@ -1583,4 +1583,9 @@ public class SelectFSs_impl <T extends F
return stream().unordered();
}
+ @Override
+ public boolean isEmpty() {
+ if (this.limit == 0) return true;
+ return fsIterator().size() == 0;
+ }
}
Modified:
uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/SelectFsTest.java
URL:
http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/SelectFsTest.java?rev=1836221&r1=1836220&r2=1836221&view=diff
==============================================================================
---
uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/SelectFsTest.java
(original)
+++
uima/uv3/uimaj-v3/trunk/uimaj-core/src/test/java/org/apache/uima/cas/impl/SelectFsTest.java
Wed Jul 18 18:48:27 2018
@@ -163,4 +163,18 @@ public class SelectFsTest {
// uimaFIT: JCasUtil.selectByIndex(jCas, Token.class, -1).getCoveredText()
assertEquals("t4",
jcas.select(Token.class).backwards().get(0).getCoveredText());
}
+
+ @Test
+ public void testempty() {
+ cas.reset();
+ JCas jcas = cas.getJCas();
+ cas.setDocumentText("t1 t2 t3 t4");
+
+ Token p1 = new Token(jcas, 0, 2);
+ p1.addToIndexes();
+ assertFalse(jcas.select(Token.class).isEmpty());
+ cas.reset();
+ assertTrue(jcas.select(Token.class).isEmpty());
+
+ }
}