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

Extended workflow example by injecting non-default state #229

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Sakrafux
Copy link

@Sakrafux Sakrafux commented Apr 5, 2024

@planger As was discussed, the workflow example on the server was extended with a custom implementation for ModelState, ModelStorage and GModelFactory. However, since the Workflow implementation and its handlers are heavily dependent on the source model already being a GModel. This makes the GModelFactory irrelevant (or even detrimental), and I therefore opted to split the default functionality from GModelStorage to better show how a custom implementation could look like.

This is sufficient imo, since I will most likely need to implement a small custom model anyway for the planned editor examples.

@planger
Copy link
Member

planger commented Apr 5, 2024

Thank you very much for the PR! I think this improves the situation already.

However, I believe it'd be even more useful, if we actually switch to a very simple JSON format as source model, also if this means we'd have to also adapt the operation handlers. In practice, the GModel is rarely used directly as source model, as most people would like to use a custom model format. So the main example should probably do the same.

The only issue in the Java-based server is how to provide undo/redo support. The Java-server only provides that out of the box for EMF-based models. Otherwise it would have to be implemented manually, which isn't rocket science but adds some extra overhead.

What do you think?

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

Successfully merging this pull request may close these issues.

None yet

2 participants