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)

Reply via email to