[
https://issues.apache.org/jira/browse/UIMA-2942?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13682788#comment-13682788
]
Richard Eckart de Castilho commented on UIMA-2942:
--------------------------------------------------
Originally, I stumbled over this not driven by a use-case, but rather by
providing an alternative API to setting up aggregates programmatically in
uimaFIT.
Recently, I stumbled again of this issue when I was trying to pre-consolidate
an aggregate description. I'm not sure if this could be called a use-case, but
here is what I was going to do any why:
Programmatically generated descriptors via uimaFIT can become quite large. E.g.
when the type system discovery feature is used, then every descriptor generated
by uimaFIT contains a *full* type system of *all* the types on the classpath.
The same for index definitions and type priorities, if these are automatically
detected. It's pretty annoying to read these descriptors. They contain a *lot*
of redundancy.
I implemented a function "consolidate" which basically does what UIMA does when
running an aggregate: it collects type system information, type priorities, and
index definitions from all delegates recursively. Then it detaches this
information from the delegates, merges it and attaches it to the aggregate. The
final descriptor is much shorter, easier to read and contains much less
redundancy. And it works, except that UIMA complains again about not being able
to configure a type system on the aggregate.
What bugs me most about this issue isn't so much that its not possible to set
types on an aggregate. If there is a good reason to do so, ok. It would be a
different issue to figure out if the reason is really good. What bugs me here
is that it appears utterly inconsistent and arbitrary that just type systems
cannot be configured on aggregates while indexes and priorities can. So far, I
haven't seen any good reason why configuring types on an aggregate would
actually break anything. If the latter two can, there should be a really good
reason to prohibit it for types. If there is none, other than "nobody asked for
it yet", then I think it shouldn't be prohibited and actually ask that it work.
> Allow configuring a type system on the level of an aggregate
> ------------------------------------------------------------
>
> Key: UIMA-2942
> URL: https://issues.apache.org/jira/browse/UIMA-2942
> Project: UIMA
> Issue Type: Improvement
> Components: Core Java Framework
> Reporter: Richard Eckart de Castilho
> Priority: Minor
>
> Allow configuring a type system on the level of an aggregate. Priorities and
> indexes are allowed, but setting a type system is forbidden. Seems to be
> inconsequent.
> Consider I get an aggregate from some person. It contains a Ruta script (or
> something else that is type agnostic/type configurable). I reconfigure the
> aggregate with my own script which creates different annotations (e.g. using
> parameter overrides on the aggregate). Now, I would have to reconfigure the
> aggregate with new types as well. I wouldn't want to dive down into the
> individual components of the aggregate to do that - after all, the aggregate
> is meant to be a component in its own right.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira