You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Marshall Schor (JIRA)" <de...@uima.apache.org> on 2015/05/15 16:25:00 UTC

[jira] [Resolved] (UIMA-4392) subiterator edge case needs correction - begin value with multiple instances

     [ https://issues.apache.org/jira/browse/UIMA-4392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor resolved UIMA-4392.
----------------------------------
    Resolution: Fixed

> 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)