eclipsesource / graphical-lsp

Graphical language server platform for building web-based diagram editors
https://www.eclipse.org/glsp
Eclipse Public License 2.0
36 stars 8 forks source link

Initializes second example GLSP server to demonstrate separate notation #307

Closed planger closed 5 years ago

planger commented 5 years ago

Server

With this change, we add a second GLSP server that can be started via WorkflowModelServerGLSPServerLauncher. This server can run alongside the existing one and handles the diagram type "workflow-diagram-notation". It reuses as much as possible from the existing example, but has an own model factory that reads a semantic model and a notation model from XMI (and in the future from the model server). Therefore, it introduces a notation metamodel to capture the graphical information on workflow diagrams, that cannot be drawn from the semantic model. To ease handling the combined model (notation and semantic), this change also introduces a WorkflowFacade that can initialize and query both resources to create shapes and edges, resolve references to the semantic model, find unresolvable elements, only add missing shapes and edges, etc.

Client

In order to test this conveniently, this change adds on the client a second GLSP diagram contribution for files with an extension of ".coffeenotation", which will on open connect to the server mentioned above. Other than that, it is exactly the same client editor, as it handles the same graph model, only the source from which the server creates the graph model is different. For test purposes, this change also adds an example coffeenotation and coffee file to the workspace.