moveTo() and iterator(fs) do not point to "leftmost" FS
-------------------------------------------------------

                 Key: UIMA-1601
                 URL: https://issues.apache.org/jira/browse/UIMA-1601
             Project: UIMA
          Issue Type: Bug
          Components: Core Java Framework
    Affects Versions: 2.2.2
            Reporter: Timo Boehme


According to the API docs FSIterator.moveTo(FeatureStructure fs) should move 
the iterator to "the first features structure that is equal to fs". In case we 
have multiple annotations of same type and same region (same start/end) as fs 
moveTo() will point to one of them but not necessarily to the first (leftmost) 
one (in iterator order).
The inconsistency to the API doc is even more clear with 
FSIndex.iterator(FeatureStructure fs). The API doc states: "The position of the 
iterator will be set such that the feature structure returned by a call to the 
iterator's  get() method is greater than or equal to fs, and any previous FS is 
less than FS." Thus if we have multiple annotations of same type as fs and same 
region one would expect the iterator to start with the left most one and return 
all of these annotations using next(). However as with moveTo() this is not the 
case. E.g. after iterator creation calling moveToPrevious() followed by get() 
returns sometimes one of the annotations with same region as fs (and same type).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to