Thanks for the quick response, this helps! Let me try and best
document all the places where I felt led astray by the documentation,
in hopes this helps either improve it, or helps others trying to run CAS
Editor. In the meantime, I will investigate applying all this to the
latest UIMA 2.4.0 as recommended.
1. Which Eclipse menu items to click?
The instructions say to click:
new Projects -> Other -> Cas Editor -> Cas Editor Project
but for current Eclipse, the path is actually:
File -> New -> Project -> Cas Editor -> Cas Editor Project
or
New -> Other -> Cas Editor -> Cas Editor Project
2. Which of multiple Project Properties to click?
People accustomed to working with UIMA in Eclipse will notice right away
there is a new project in their Navigator or Project Explorer pane, after
step 1. This is where Eclipse/UIMA projects appear. So when the
instructions
Instead they need to look in a different place, not where projects normally
appear, not where UIMA tooling usually apears (Descriptor editors), but in
the bottom pane of their Eclipse workspace, alongside Console, Search, Problems
etc. tabs. Right click on THIS newly created CAS Editor and choose Properties
and you will then see the Project options for Typesystem and Corpus Folders.
3. Terminology disconnects
There are a couple small terminology leaps that need to be made, as one is now
looking at
a 'Corpus Explorer' window. The relationship between Corpus Explorer and Cas
Editor is
not really explained, so it is a surprise to the reader.
A second small terminology leap: There is still no 'CAS Editor' to be found in
Eclipse. The thing you actually run is called an 'Annotation Editor.' Cas
Editor is only the description of the overall tooling, and the name of a
heading category inside of which are actual Eclipse Views:
Window -> Show View -> Other -> Cas Editor ->
Annotation Styles
Corpus Explorer
Edit View
Feature Structure View
4. Step by step instructions
a) Copy type system or copy and rename to TypeSystem.xml into
the newly created Corpus Explorer project. Do this from
Navigator or Project Explorer panels.
* It is not possible to do it with Corpus Explorer or
from Cas Editor Project Properties. If you try using
Cas Editor -> Properties -> Project -> Typesystem -> Browse
to create a type system, it says 'No entries available.'
* It is not possible to point to a type system in another
UIMA project, even though best practices say that type systems
should be in their own project.
b) Create a Corpus folder. This also has to be done from Navigator
or Project Explorer. (If you try doing it from Corpus Explorer ->
Properties -> Project -> Corpus Folders -> New, it again
says 'No entries available.') While here, you might also
want to copy your corpus XMI or XML documents into the folder.
The instructions say "use copy and paste" but don't say from where or to
where to do the copying and pasting, therefore could be more specific.
c) Now that the Typesystem and Corpus folder are in the Project, go back over
to
Corpus Explorer -> newly created Corpus Explorer Project ->
Properties -> Project -> Typesystem -> Browse and add it. Do
the same with Corpus Folders -> New to add the Corpus folder you
created in step b) above.
d) In the Corpus Explorer panel, expand the Corpus
folder and right click a document, and choose Annotation Editor
Finally, having gotten this far, one can hope for success.
Unless this error message awaits them (which is where I'm stuck now) :
There is a problem with the document: Error parsing XCAS or XMI-CAS from
source <unknown> at line 1, column 3384: unknown type:
org.apache.uima.examples.SourceDocumentInformation
I've tried adding the absolute path to the UIMA jar containing
SourceDocumentInformation
type and class files (uima-core.jar) to the CDE path, but that didn't help.
(And shouldn't it have been included automatically?) I then tried adding
project references in the project Properties (Navigator panel), and got an
even more bizarro behavior: the Corpus folder now appears twice
in the Corpus Explorer project, and in one of those, the one corpus document I
placed there appears twice. (??!!)
It seems that I need to add SourceDocumentInformation explicitly to the
projecttype system. It's just that
SourceDocumentInformation.xml isn't readily available as a type system file,
it's buried inside uima-core.jar. So it's not as simple as editing the type
system file, and "Add"ing an Imported Type System.
So I copy SourceDocumentInformation.xml into the Cas Editor project, edit
the type system to import it (by location - by name doesn't work) As
soon as I open in the type system in Component Descriptor Editor, it
returns errors no matter how I formulate the path to import the SDI,
whether by name, by relative path, by absolute path... something about
Component Descriptor Editor acts up when it's editing a type system in
a Cas Editor Project.
Finally trying the imported type system techniques, the Cas Editor, I mean
Annotation Editor blows up thusly:
java.lang.NullPointerException
at
org.apache.uima.caseditor.editor.DocumentUimaImpl.<init>(DocumentUimaImpl.java:90)
at
org.apache.uima.caseditor.core.model.DocumentElement.getDocument(DocumentElement.java:129)
at
org.apache.uima.caseditor.editor.DefaultCasDocumentProvider.createDocument(DefaultCasDocumentProvider.java:94)
at
org.eclipse.ui.texteditor.AbstractDocumentProvider.createElementInfo(AbstractDocumentProvider.java:333)
at
org.eclipse.ui.texteditor.AbstractDocumentProvider.connect(AbstractDocumentProvider.java:400)
at
org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4213)
at
org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:237)
at
org.apache.uima.caseditor.editor.AnnotationEditor.doSetInput(AnnotationEditor.java:699)
at
org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3200)
at
org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at
org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at
org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
at
org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2642)
at
org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3218)
at
org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3245)
at
org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:828)
at
org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647)
at
org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at
org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2945)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2850)
at
org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2842)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2793)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2789)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2773)
at org.eclipse.ui.actions.OpenWithMenu.openEditor(OpenWithMenu.java:331)
at
org.eclipse.ui.actions.OpenWithMenu$2.handleEvent(OpenWithMenu.java:179)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
On 4/22/2012 5:35 PM, Jörn Kottmann wrote:
Looks like you are using an old version. The 2.4.0 version works better.
I suggest that you try that one instead.
In this version it asks you to point it to a type system if none for the XMI
file can be found in the configured location (default is TypeSystem.xml
in the root of the project).
Hope this helps,
Jörn
On 04/20/2012 10:08 PM, Eric Riebling wrote:
I've been using UIMA for years and years, but I am completely stumped
trying to run the CAS Editor. Is anyone expert enough to provide an
actual step-by-step guide for getting the CAS Editor to appear, given
an existing type system and annotated XMI?
I have tried everything in the instructions, but keep getting error
messages. First, missing type system. After RENAMING and putting
in the root of project, complaint that document is not in a corpus
folder. Explanation how to create a corpus folder is vague and
confusing.
I guess I'm hoping for STEP BY STEP instructions of exactly what to
click and type in Eclipse, and what should happen at each stage, as
far as expected output. Discouragingly, nothing I try looks like the pictures
in the UIMA Tools Guide and Reference.
What I'm really hoping for are instructions so clear that 'even faculty' can
follow them to add annotations to documents, provided the documents and
type system are already set up. :)