[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Marshall Schor (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15511218#comment-15511218
 ] 

Marshall Schor commented on UIMA-5115:
--

I discovered the existing impl and docs for "subiterator" also make a point of 
not returning the bounding FS, but also do not returning any annotations that 
are equal (meaning same begin / end / Type) to that.  Earlier in this thread, 
you had mentioned "for the case of at, covering, and coveredBy, we already 
agreed that we'd return all at the same position except the reference 
annotation".  This seems to be a difference.  

I'm wondering if it would be preferable (in the sense that more users would 
find this would be what they intended) to use this definition of "equal", or a 
more restrictive one  where only the identical FS would be skipped.

So, for instance, if you had FSs:
* Lemma [ begin: 15, end: 20, baseForm: "foo" ] and
* Lemma [ begin: 15, end: 20, baseForm: "bar" ] and
asked to get items covered by Lemma [ begin: 15, end: 20, baseForm: "XXX" ], 
would users of this API prefer that the above 2 Lemma FSs be skipped or not? 

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


Re: [VOTE] Release Apache UIMA Ruta 2.5.0 RC3

2016-09-21 Thread Peter Klügl

Hi,

Am 21.09.2016 um 19:41 schrieb Richard Eckart de Castilho:

Hi,

- comparing source release vs svn tag - OK

- checking new modules - OK
   - ruta-maven-archetype
   - ruta-ep-parent

- checking POM changes - OK
   - some dltk dependency changes in ruta-ep-textruler, ruta-ep-ide-ui, etc. - 
but all seem to be scope provided


I still wonder sometimes why some of them are required. The projects 
need to build on command line and in eclipse, and I need to run the 
plugins from within eclipse - all with the same config. I have to check 
if there is a reason for the diff in version.



   - no significant dependency changes, skipping looking for new license/notices

- building SVN tag with clean repo - OK

- why is the purpose of this apparently very broad exclude in the rat plugin 
section of the pom in the project root?

 **


I do not remember why I added it, most likely because I had to list 
really a lot of single entries, and there is not really anything that 
should be checked. I will remove it, and see if there was a reason.



Stopping here for the moment.

-- Richard


Notes:

- dependencies in dependencyManagement sections should IMHO not have scopes - 
only versions. I remember having had problems in the past with scopes in 
dependencyManagement when I later wanted to changed it in an actual dependency, 
but I cannot remember the exact details.


I think, I can remove the scope. There was no reason to add it.



- Ruta XML descriptors still seem to have absolute paths in them... I still 
find that odd...



Yes.
The situation has improved a bit over the years. Better maven support, 
better classpath support, and now better datapath support. The paths are 
now optional, but still required in the plain ruta projects due to the 
working dir on the eclipse installation and because the descriptors 
should work without any further config, also if something but the launch 
delegate is used. For me, these projects are only for prototyping or for 
some minimal testing. Real development is now done in maven projects 
using the classpath lookup. However, I do not know if I should replace 
all the example projects by maven projects.


Best,

Peter


On 01.09.2016, at 13:12, Peter Klügl  wrote:

Hi,

the third release candidate of Apache UIMA Ruta v2.5.0 is ready for
voting.

Changes rc2 -> rc3:
- UIMA-5091 Ruta: pdf formatting of documentation
- UIMA-5090Ruta: build warning for ide parser - ResourceLiteral
- UIMA-5089Ruta: NPE thrown for unresolvable feature if type is not
known yet
- improved release notes: how to update descriptors


Major changes in 2.5.0:

UIMA Ruta Language and Analysis Engine:
- Depends on UIMA 2.9.0 and uimaFIT 2.2.0
- New block FOREACH: iterate over pattern and reuse the matched
annotation in contained rules
- Label expressions across inlined rules are supported, behave like
local variables now
- Feature expressions on label expressions are supported
- Setting values of variables by configuration parameter
- Macros support variables
- New type function: typeFromString
- Wordlist initialization with string expressions: simplified
specification of language-dependent dictionary usage
- New maven archetype for typical UIMA Ruta projects
- Improved and faster maven plugins
- Parameters additionalScripts and additionalEngines are now optional
- Removed engine loader concept and parameter completely
- Removed redundant Document type
- Improved datapath support
- Improved resource manager support
- Many bug fixes and improvements

UIMA Ruta Workbench:
- Improved support of classpath-lookup in maven-based projects
- Launch configuration supports various serialization formats (with
preference)
- Bug fixes


Staging repository:
https://repository.apache.org/content/repositories/orgapacheuima-1108/

SVN tag:
https://svn.apache.org/repos/asf/uima/ruta/tags/ruta-2.5.0

Update site:
https://dist.apache.org/repos/dist/dev/uima/ruta-2.5.0-rc3/eclipse-update-site/ruta/

Archive with all sources:
https://dist.apache.org/repos/dist/dev/uima/ruta-2.5.0-rc3/source-release/ruta-2.5.0-source-release.zip


Overall 74 issues have been fixed for this
release (a few duplicates and won't fix).
They can be found in the RELEASE_NOTES.html.

... and here:

https://issues.apache.org/jira/issues/?jql=project%20%3D%20UIMA%20AND%20fixVersion%20%3D%202.5.0ruta%20AND%20component%20%3D%20ruta%20ORDER%20BY%20created%20DESC

Please vote on release:

[ ] +1 OK to release
[ ]  0 Don't care
[ ] -1 Not OK to release, because ...

Thanks.

Peter





[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Marshall Schor (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15511141#comment-15511141
 ] 

Marshall Schor commented on UIMA-5115:
--

right, between should only have args fs1, fs2.

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (UIMA-5117) UIMA-AS: dd2spring should log at INFO

2016-09-21 Thread Jerry Cwiklik (JIRA)
Jerry Cwiklik created UIMA-5117:
---

 Summary: UIMA-AS: dd2spring should log at INFO
 Key: UIMA-5117
 URL: https://issues.apache.org/jira/browse/UIMA-5117
 Project: UIMA
  Issue Type: Bug
  Components: Async Scaleout
Reporter: Jerry Cwiklik
Assignee: Jerry Cwiklik
 Fix For: 2.9.0AS


Dd2Spring.convertDd2Spring() method should log exceptions at INFO level instead 
of CONFIG. When runtime was mis-configured, the code was failing yet there were 
no exceptions being logged, making debugging difficult.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


Re: [VOTE] Release Apache UIMA Ruta 2.5.0 RC3

2016-09-21 Thread Richard Eckart de Castilho
Hi,

- comparing source release vs svn tag - OK

- checking new modules - OK
  - ruta-maven-archetype
  - ruta-ep-parent

- checking POM changes - OK
  - some dltk dependency changes in ruta-ep-textruler, ruta-ep-ide-ui, etc. - 
but all seem to be scope provided
  - no significant dependency changes, skipping looking for new license/notices

- building SVN tag with clean repo - OK

- why is the purpose of this apparently very broad exclude in the rat plugin 
section of the pom in the project root?

**

Stopping here for the moment.

-- Richard


Notes:

- dependencies in dependencyManagement sections should IMHO not have scopes - 
only versions. I remember having had problems in the past with scopes in 
dependencyManagement when I later wanted to changed it in an actual dependency, 
but I cannot remember the exact details. 

- Ruta XML descriptors still seem to have absolute paths in them... I still 
find that odd...


> On 01.09.2016, at 13:12, Peter Klügl  wrote:
> 
> Hi,
> 
> the third release candidate of Apache UIMA Ruta v2.5.0 is ready for
> voting.
> 
> Changes rc2 -> rc3:
> - UIMA-5091 Ruta: pdf formatting of documentation
> - UIMA-5090Ruta: build warning for ide parser - ResourceLiteral
> - UIMA-5089Ruta: NPE thrown for unresolvable feature if type is not
> known yet
> - improved release notes: how to update descriptors
> 
> 
> Major changes in 2.5.0:
> 
> UIMA Ruta Language and Analysis Engine:
> - Depends on UIMA 2.9.0 and uimaFIT 2.2.0
> - New block FOREACH: iterate over pattern and reuse the matched
> annotation in contained rules
> - Label expressions across inlined rules are supported, behave like
> local variables now
> - Feature expressions on label expressions are supported
> - Setting values of variables by configuration parameter
> - Macros support variables
> - New type function: typeFromString
> - Wordlist initialization with string expressions: simplified
> specification of language-dependent dictionary usage
> - New maven archetype for typical UIMA Ruta projects
> - Improved and faster maven plugins
> - Parameters additionalScripts and additionalEngines are now optional
> - Removed engine loader concept and parameter completely
> - Removed redundant Document type
> - Improved datapath support
> - Improved resource manager support
> - Many bug fixes and improvements
> 
> UIMA Ruta Workbench:
> - Improved support of classpath-lookup in maven-based projects
> - Launch configuration supports various serialization formats (with
> preference)
> - Bug fixes
> 
> 
> Staging repository:
> https://repository.apache.org/content/repositories/orgapacheuima-1108/
> 
> SVN tag:
> https://svn.apache.org/repos/asf/uima/ruta/tags/ruta-2.5.0
> 
> Update site:
> https://dist.apache.org/repos/dist/dev/uima/ruta-2.5.0-rc3/eclipse-update-site/ruta/
> 
> Archive with all sources:
> https://dist.apache.org/repos/dist/dev/uima/ruta-2.5.0-rc3/source-release/ruta-2.5.0-source-release.zip
> 
> 
> Overall 74 issues have been fixed for this
> release (a few duplicates and won't fix).
> They can be found in the RELEASE_NOTES.html.
> 
> ... and here:
> 
> https://issues.apache.org/jira/issues/?jql=project%20%3D%20UIMA%20AND%20fixVersion%20%3D%202.5.0ruta%20AND%20component%20%3D%20ruta%20ORDER%20BY%20created%20DESC
> 
> Please vote on release:
> 
> [ ] +1 OK to release
> [ ]  0 Don't care
> [ ] -1 Not OK to release, because ...
> 
> Thanks.
> 
> Peter
> 



[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Richard Eckart de Castilho (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15510558#comment-15510558
 ] 

Richard Eckart de Castilho commented on UIMA-5115:
--

The offsets of two FSes are the same iff (fs1.begin == fs2.begin && fs1.end == 
fs2.end). If the end differs, offsets are not the same.

If there are multiple annotations of the same type at a given (offset) 
position, we need to decide what to do. I think for the case of at, covering, 
and coveredBy, we already agreed that we'd return all at the same position 
except the reference annotation.

For following and preceeding, it is a slightly different case. Is AnnoFS1 
following/preceding AnnoFS2 if they both have the same offset? At least if type 
priorities are disabled, I'd tend towards saying no. That is the way how it is 
currently implemented in uimaFIT. selectFollowing currently seeks forward in 
the index until it reaches the first annotation that starts at/after the end of 
the reference annotation.

It *might* make sense to refine that a bit if type priorities are active... not 
sure.


> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Marshall Schor (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15510537#comment-15510537
 ] 

Marshall Schor commented on UIMA-5115:
--

What's your definition of "offset"? If 2 FSs share the same "begin", but differ 
in their "end", are they at the same or different offset?

I think you're saying that "following", applied to the case where there's a 
bunch of otherwise equal annotations at the starting spot, should also skip all 
of those until it comes to the first one where the begin or end is different 
from the FS passed in; is that correct?

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Richard Eckart de Castilho (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15510397#comment-15510397
 ] 

Richard Eckart de Castilho commented on UIMA-5115:
--

I didn't realize that you consider startAt() to be operating on actual index 
positions - not on the offsets of the annotation passed to startAt(). Sorry for 
the confusion. So you're absolutely right about the two points above.

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Richard Eckart de Castilho (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15510392#comment-15510392
 ] 

Richard Eckart de Castilho commented on UIMA-5115:
--

Hum, no... I think "between" should just return everything between fs1.end and 
fs2.begin - if type priorities are disabled. Again, we probably should consider 
to have a separate strategy if type priorities are enabled.

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Richard Eckart de Castilho (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15510361#comment-15510361
 ] 

Richard Eckart de Castilho commented on UIMA-5115:
--

Sounds all ok. 

Just I do not think we need both coveredBy(begin,end) and between(begin,end) - 
they are the same, aren't they?

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Richard Eckart de Castilho (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15510383#comment-15510383
 ] 

Richard Eckart de Castilho commented on UIMA-5115:
--

Right... following() is indeed quite a bit different form startAt()+shift(). 
Actually also for "following", I think in terms of offset positions, not of 
index positions. So following(fs) should never return annotations with the same 
offset as fs - we might want to consider a different behavior if type 
priorities are enabled. In that case, I guess. following(fs) would never return 
annotations of the same type or subtype as fs at the same offsets as fs.

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Richard Eckart de Castilho (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15510367#comment-15510367
 ] 

Richard Eckart de Castilho commented on UIMA-5115:
--

I'm thinking of offsets when thinking of at - yes. Since uimaFIT ignores type 
priorities, I'm not used anymore to thinking in index positions and tend 
towards thinking only in offset positions. That has probably contributed to 
some of the confusion in this discussion.

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Marshall Schor (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15510331#comment-15510331
 ] 

Marshall Schor commented on UIMA-5115:
--

updated and committed new version of SelectFSs, based on above discussion.  It 
has these changes:
# at method reserved for old at(bounds).sameBeginEnd().
# other use of at for starting position now called startAt, takes fs, 
begin/end, or either of these plus a "shift" amount
# rename covered to coveredBy
# have coveredBy, covering, and between all take bounds arg: either fs or 
begin/end

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Marshall Schor (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15510161#comment-15510161
 ] 

Marshall Schor commented on UIMA-5115:
--

Re: meaning of at(...)

Would you prefer at(...) be be reserved for the sameBeginEnd style of using 
bounds?  The other use of at (to provide a starting position) could be covered 
by renaming it to "startAt".

The other uses of at (to specify a bound) could be absorbed into the coveredBy 
and covering methods.

This would also eliminate the sameBeginEnd general style (it could only be 
applied with an "at" style bound (e.g., not with a "between" style bound).

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Marshall Schor (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15509972#comment-15509972
 ] 

Marshall Schor edited comment on UIMA-5115 at 9/21/16 2:27 PM:
---

startAt(annoFS) for me is defined as an iterator moveTo(annotFS).  This moves 
to the left-most FS in the index that's >= (according to the index's 
comparator).

There's an ambiguity in startAt(annoFS).shift(1) and following(annoFS), because 
annoFS might be or might not be in the index.  If it was in the index, then 
shift(1) would be needed to match following().  If it was not in the index, the 
position is already at the following() spot, and shifting one more would miss 
an annotation.

This complexity can be encapsulated in the following() method.


was (Author: schor):
There's an ambiguity in startAt(annoFS).shift(1) and following(annoFS), because 
annoFS might be or might not be in the index.  If it was in the index, then 
shift(1) would be needed to match following().  If it was not in the index, the 
position is already at the following() spot, and shifting one more would miss 
an annotation.

This complexity can be encapsulated in the following() method.

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Marshall Schor (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15509972#comment-15509972
 ] 

Marshall Schor edited comment on UIMA-5115 at 9/21/16 2:02 PM:
---

There's an ambiguity in startAt(annoFS).shift(1) and following(annoFS), because 
annoFS might be or might not be in the index.  If it was in the index, then 
shift(1) would be needed to match following().  If it was not in the index, the 
position is already at the following() spot, and shifting one more would miss 
an annotation.

This complexity can be encapsulated in the following() method.


was (Author: schor):
There's an ambiguity here, because annoFS might be or might not be in the 
index.  If it was in the index, then shift(1) would be needed to match 
following().  If it was not in the index, the position is already at the 
following() spot, and shifting one more would miss an annotation.

This complexity can be encapsulated in the following() method.

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Marshall Schor (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15509972#comment-15509972
 ] 

Marshall Schor commented on UIMA-5115:
--

There's an ambiguity here, because annoFS might be or might not be in the 
index.  If it was in the index, then shift(1) would be needed to match 
following().  If it was not in the index, the position is already at the 
following() spot, and shifting one more would miss an annotation.

This complexity can be encapsulated in the following() method.

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Marshall Schor (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15509960#comment-15509960
 ] 

Marshall Schor commented on UIMA-5115:
--

If you prefer, I'm happy to switch "between" from being something that 
specifies start/stop positions in an index, to the combination you think of.  
It will then be more like one of the "convenience" methods.

Please +1 to this, if this is what you prefer :-)

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Marshall Schor (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15509947#comment-15509947
 ] 

Marshall Schor commented on UIMA-5115:
--

I thought that between meant 2 things:

1) a span, starting at the end of the first and ending at the "begin" of the 
2nd.  This would have a different "startAt" position than above.

2) an automatic implied switch of the first and 2nd if the 2nd came before the 
first.  

This definition I got from the current uimaFIT (unless I misread something), 
but I'm happy to change it if it's not correct?

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Marshall Schor (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15509937#comment-15509937
 ] 

Marshall Schor commented on UIMA-5115:
--

in v3, I think of implementing offsets (begin/end) via making a "throw-away" 
Annotation with these begin/end values, and using that.

There's an insignificant penalty for that in V3 since the temporary FS is 
allocated on the stack, not even in the heap (see "escape analysis" in 
http://docs.oracle.com/javase/7/docs/technotes/guides/vm/performance-enhancements-7.html),
 and effectively GC'd right away.

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (UIMA-5115) uv3 select() api for iterators and streams over CAS contents

2016-09-21 Thread Marshall Schor (JIRA)

[ 
https://issues.apache.org/jira/browse/UIMA-5115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15507873#comment-15507873
 ] 

Marshall Schor edited comment on UIMA-5115 at 9/21/16 1:40 PM:
---

I think the general case is startAt(annotFS).shift( n ).  For the oft-used 
desire to start following some annoFS, it's fine to have "following(annoFS)" as 
a convenience method.  


was (Author: schor):
I think the general case is startAt(annotFS).shift(n).  For the oft-used desire 
to start following some annoFS, it's fine to have "following(annoFS)" as a 
convenience method.  

> uv3 select() api for iterators and streams over CAS contents
> 
>
> Key: UIMA-5115
> URL: https://issues.apache.org/jira/browse/UIMA-5115
> Project: UIMA
>  Issue Type: New Feature
>  Components: Core Java Framework
>Reporter: Marshall Schor
>Priority: Minor
> Fix For: 3.0.0SDKexp
>
>
> Design and implement a select() API based on uimaFIT's select, integrated 
> well with Java 8 concepts.  Initial discussions in UIMA-1524.  Wiki with 
> diagram: https://cwiki.apache.org/confluence/display/UIMA/UV3+Iterator+support



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)