| Summary: | AirdResourceImpl (and org.eclipse.sirius) should not depend on GMF | ||
|---|---|---|---|
| Product: | [Modeling] Sirius | Reporter: | Pierre-Charles David <pierre-charles.david> |
| Component: | Core | Assignee: | Mickael LANOE <mickael.lanoe> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | belqassim.djafer, esteban.dugueperoux, mickael.lanoe, steve.monnier |
| Version: | 1.0.0 | Keywords: | triaged |
| Target Milestone: | 3.0.0M6 | ||
| Hardware: | All | ||
| OS: | All | ||
| See Also: |
https://git.eclipse.org/r/43590 https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=3e7f5ad187ff0e6f42e37c317503ea8a21f4faae https://git.eclipse.org/r/58152 https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=73704c2772d28b059121a51e9b67462eb4fea6b0 |
||
| Whiteboard: | |||
|
Description
Pierre-Charles David
A detail of GMFResource is that it use UUID, i.e. useUUIDs() call return true, consequently all detached objects and its content are stored in XMLResourceImpl.DETACHED_EOBJECT_TO_ID_MAP. When many objects are removed from aird resource, then it will yet consume memory, then removing this inheritence between AirdResourceImpl and GMFResource is good for memory footprint. The drawback is that we lose the ability to use "XMLResource.getID(EObject)" and "XMLResource.setID(EObject, id)" methods. In our Sirius based product, we use these methods to keep same IDs in a export/import process by using a tracability model. A draft has been submitted to Gerrit about XMLResourceImpl.DETACHED_EOBJECT_TO_ID_MAP : https://git.eclipse.org/r/#/c/36918/ . New Gerrit change created: https://git.eclipse.org/r/43590 Since GMFResource and GMFHandler classes are no longer used in Sirius with the proposed patch, these following methods are not called anymore: - GMFResource.getEObject(String) - GMFResource.setURI(URI) - GMFResource.basicSetResourceSet(ResourceSet, NotificationChain) - GMFHandler.validateCreateObjectFromFactory(EFactory, String, EObject, EStructuralFeature) - GMFHandler.endDocument() All existing tests run successfully, nevertheless, these methods may be backported if new regressions are detected. Gerrit change https://git.eclipse.org/r/43590 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=3e7f5ad187ff0e6f42e37c317503ea8a21f4faae Fixed. Verified as technical issue Available in Sirius 3.0.0. See https://wiki.eclipse.org/Sirius/3.0.0. New Gerrit change created: https://git.eclipse.org/r/58152 Gerrit change https://git.eclipse.org/r/58152 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=73704c2772d28b059121a51e9b67462eb4fea6b0 |