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
