[ https://issues.apache.org/jira/browse/UIMA-5637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16236487#comment-16236487 ]
Marshall Schor commented on UIMA-5637: -------------------------------------- I agree, I think the && should be ||. > 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)