Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#622 Init org.eclipse.glsp.server.emf and add example models #159

Merged
merged 1 commit into from
Apr 28, 2022

Conversation

ndoschek
Copy link
Contributor

  • Add project org.eclipse.glsp.server.emf
    • Add reusable EMF specific base classes
    • Add notation model (a copy of org.eclipse.emfcloud.modelserver.glsp.integration)
  • Add project org.eclipse.glsp.example.tasklist
    • Add TaskList example model (a copy of org.eclipse.emfcloud.modelserver.glsp.integration)

Part of eclipse-glsp/glsp#622

Contributed on behalf of STMicroelectronics.

Init project org.eclipse.glsp.server.emf
  - Add notation model (a copy of org.eclipse.emfcloud.modelserver.glsp.integration)

Add reusable API for EMF with or without notation model

EMF with semantic model:
- Provide editing domain factory for resource set and command stack
- Provide indexer that handles semantic model elements
- Provide semantic ID generator to be used when creating the index
- Provide base class for GModelFactory
- Provide class for semantic model loading
- Provide UUID XMI resource factory if XMI ids are used as identifiers

EMF with semantic and notation model:
- Provide indexer that handles semantic and notation model elements
- Provide semantic ID converter to resolve semantic id to EObject
- Provide base class for GModelFactory
- Provide class for semantic and notation model loading

Refactorings:
- Only apply layout options if a custom layout is actually set
- Provide ComputedBounds, Save, UndoRedo support by default
- GModelState:
-- Refactor 'setRoot' to only actually set the root property
--- For any root-dependent changes 'updateRoot' should be used
-- Remember index, initialize with empty and update with root change

Co-authored-by: Martin Fleck <mfleck@eclipsesource.com>

Part of eclipse-glsp/glsp#622

Contributed on behalf of STMicroelectronics.
@ndoschek ndoschek merged commit ed2040f into master Apr 28, 2022
@ndoschek ndoschek deleted the issues/622 branch April 28, 2022 18:34
@ivy-cst
Copy link
Contributor

ivy-cst commented May 2, 2022

Cool thanks 👍 . ModelState#updateRoot was the method we were missing. So we always had to removed all elements before syncing again from our model. Because with setRoot we otherwise lost the Command Stack.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants