On 1/9/07, Michael Baessler <[EMAIL PROTECTED]> wrote:
Adam Lally wrote:
> For (c) I think I will have to create a new component
> uimaj-document-annotation that has just the one Java class
> (org.apache.uima.jcas.tcas.DocumentAnnotation) in it, and which builds
> into uimaj-document-annotation.jar.  It's a little ugly but I haven't
> heard a better suggestion.  Agreed?
>
Right now, it seems to be the only way. Fine with me.


There's a further complication.  Moving DocumentAnnotation out of
uimaj-core means that there can be no references to it from anywhere
in uimaj-core (otherwise we have a circular dependency problem).
Fortunately, there are only two references.

One reference is in JCAS.getDocumentAnnotation().  This is already
deprecated, because it's unsafe when the DocumentAnnotation is loaded
via the UIMA extension ClassLoader.  We would need to delete it.  That
might break some code, but maybe that's OK since there have been
deprecation warnings there for a while now.  OK?

The other is from FileSystemCollectionReader.  Why is this in
uimaj-core, you ask?  This I can just move to uimaj-tools, where it
probably belongs anyway.


What about the documentation. I think we should add a paragraph about
the uimaj-document-annotation.jar and how it should be used/replaced.
There is already a chapter in the documentation writing about issues
with the document annotation, but this mainly talks about the extension
class loader issues.


Yes, I agree we need a documentation update.  I would like this to
read like a warning label on a pack of cigarettes (at least the ones
in the U.S.).  If you extend DocumentAnnotation while using JCAS, your
application it may be OK for now but after a few years when your
application "grows up" it may suffer a painful death. :-)

-Adam

Reply via email to