Should we start at the high-level a little bit by discussing about
the flow
? For example, assuming that the input is an xmiCAS or CAS, what is
the flow
of the tool up to the point that users see something in Eclipse.
An editor is opened by eclipse with a FileEditorInput this input only
points to a cas file,
which could be in xmi or xcas.
The FileEditorInput is passed to the editors CasDocumentProvider which
is responsible
to provide a IDocument, in our case a CasDocument which contains the
created CAS object.
The problem now is that the CasDocumentProvider needs to retrieve the
correct type system
and styling for the cas file.
This could be done with a lookup service the input would be the path
to the cas
file and the output the type system and style information. The lookup
service can be extended by
a plugin to provide an actual strategy how to retrieve the type system
and styling.
Maybe the lookup service also specifies which sofa should be opened in
the editor.
For the eclipse plugin this would be just a special named file for the
type system and styling
would be extracted from preferences. For the Cas Editor the project
type system and styling
is returned.
Jörn