Mario Juric created UIMA-5637:
---------------------------------
Summary: JCasUtil.selectAt has different meaning than expected
Key: UIMA-5637
URL: https://issues.apache.org/jira/browse/UIMA-5637
Project: UIMA
Issue Type: Bug
Components: uimaFIT
Affects Versions: 2.3.0uimaFIT
Reporter: Mario Juric
Priority: Major
I was wondering what exactly the semantics of JCasUtil.selectAt is supposed to
be after looking into the implementation, since the JavaDoc isn’t very precise.
I initially thought that it would select annotations of the given type with the
exact begin and end, but this is not the case when inspecting the
implementation. The problem is in CasUtil.selectAt with the following while
loop:
while (it.isValid()) {
AnnotationFS a = it.get();
// If the offsets do not match the specified offets, we're done
if (a.getBegin() != aBegin && a.getEnd() != aEnd) {
break;
}
it.moveToNext();
list.add(a);
}
I would have expected that either begin or end must be different to drop the
item, i.e. "if (a.getBegin() != aBegin || a.getEnd() != aEnd)" instead. This is
obviously not the case, and it does not have the same behaviour like
selectCovered either, so what is the intend if it’s not a bug?
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)