Marshall Schor created UIMA-4392:
------------------------------------
Summary: subiterator edge case needs correction - begin value with
multiple instances
Key: UIMA-4392
URL: https://issues.apache.org/jira/browse/UIMA-4392
Project: UIMA
Issue Type: Bug
Reporter: Marshall Schor
Assignee: Marshall Schor
Priority: Minor
Fix For: 2.7.1SDK
The definition of a subiterator requires that the FSs returned by strictly
greater than the bounding FS (greater-than is with respect to the sort order
for Annotations). The current implementation makes two mistakes - it uses the
"equal" method on the FeatureStructure - which returns true only for the
indentical FS (same heap address in same heap), and doesn't allow for multiple
occurances of annotation-index-ordering-equals items. For example, if there
were multiple "Tokens" each of which had different non-indexed field "lemma"
which were set to different values, and one of these FSs was used as the
bounds, then the iterator incorrectly currently skips over that one but only if
it happens to be the first one in the sort order, and never skips the others
which would also compare equal (using the annotator comparator). The correct
behavior is to skip over all until an item is found which would compare as
not-equal-using-standard-annotator comparer.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)