| Summary: | EEF Bridge with Sirius should offer a better way to manage EEF adapters lifecycle | ||
|---|---|---|---|
| Product: | [Modeling] Sirius | Reporter: | Maxime Porhel <maxime.porhel> |
| Component: | Diagram | Assignee: | Laurent Fasani <laurent.fasani> |
| Status: | CLOSED FIXED | QA Contact: | Laurent Redor <laurent.redor> |
| Severity: | normal | ||
| Priority: | P3 | CC: | alex.lagarde, cedric.brun, goulwen.lefur, laurent.redor, pierre-charles.david |
| Version: | 1.0.0 | Keywords: | triaged |
| Target Milestone: | 3.0.0 | ||
| Hardware: | PC | ||
| OS: | All | ||
| See Also: |
https://git.eclipse.org/r/33160 https://git.eclipse.org/r/47743 https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=732a4f1cb1469d65364198a84dafb4b850b73850 https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=c158f08463784451a1f4320ef9050b91512b3dbe |
||
| Whiteboard: | |||
|
Description
Maxime Porhel
Maxime: you could you please precise which are the installed adapters and how could sirius improve this mechanism ? Missing a bit of information to accept this issue. Here we're talking about some adapters plugged by EEF on the ResourceSet. The default stragegy applied by EEF plug adapters on the ResourceSet at the beginning of the editing and unplug them at the end. Based on the Sirius session lifecycle, EEF can have a more efficient strategy. I have given a patch to Maxime to improve the EEF/Sirius bridge. This patch modify the EEF strategy for take into account the session lifecycle. Ok thank you for these explanations Goulwen. Maxime: can you provide the patch Goulwen mentionned through gerrit ? I wrote a patch and pushed it on gerrit. Goulwen, Maxime, feel free to chime in if you think this is the wrong approach. https://git.eclipse.org/r/#/c/33160/ Please note that this patch uses APIs from EEF 1.3 which was not part of Luna. (In reply to Cedric Brun from comment #4) > I wrote a patch and pushed it on gerrit. Goulwen, Maxime, feel free to chime > in if you think this is the wrong approach. > > https://git.eclipse.org/r/#/c/33160/ > > Please note that this patch uses APIs from EEF 1.3 which was not part of > Luna. EEF 1.3 is part of Luna (and Kepler before that); it's 1.4 which was planned for Luna but missed the deadline and was released afterwards out of a SimRel. As part of this one, we'll bump our minimum required version of EEF from 1.2 currently to 1.5. There should be minimal impact on existing users, and EEF 1.5 has no incompatible changes wrt to 1.2, and should not require even re-executing the EEF generators. New Gerrit change created: https://git.eclipse.org/r/47743 WARNING: this patchset contains 28530 new lines of code and may require a Contribution Questionnaire (CQ) if the author is not a committer on the project. Please see:https://wiki.eclipse.org/Project_Management_Infrastructure/Creating_A_Contribution_Questionnaire To test this enhancement, do the following steps. * start eclipse in debugging mode * create a modeling project with org.eclipse.sirius.tests.sample.docbook model. * create a diagram and some semantic objects * select an semantic object in diagram then another => check that unregisterEditingSemanticListener(PropertiesEditingSemanticListener) method is called in org.eclipse.sirius.eef.components.SiriusAwarePropertiesEditingComponent.deactivate() * close project => check that in org.eclipse.sirius.eef.listeners.EEFSessionManagerListener.notifyRemoveSession(Session) is called Gerrit change https://git.eclipse.org/r/33160 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=732a4f1cb1469d65364198a84dafb4b850b73850 Gerrit change https://git.eclipse.org/r/47743 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=c158f08463784451a1f4320ef9050b91512b3dbe resolved cf comment #8 for test scenario Verified with Sirius 3.0.0 rc1 P.S.: docbook edit and editor projects are not bundled yet. You must import them from git repository. Available in Sirius 3.0.0. See https://wiki.eclipse.org/Sirius/3.0.0. |