From 3acb3c302c03c9706482858c45babe12903fea88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20B=C3=A9gaudeau?= Date: Tue, 6 Feb 2024 09:50:54 +0100 Subject: [PATCH] [1844] Unload resources by default when the EMF based editing context is disposed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: https://github.com/eclipse-sirius/sirius-web/issues/1844 Signed-off-by: Stéphane Bégaudeau --- CHANGELOG.adoc | 1 + .../components/emf/services/api/IEMFEditingContext.java | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 7a5614eafe..c7ae51722e 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -70,6 +70,7 @@ image:doc/screenshots/deploymenDiagram.png[Deployment Diagram,70%] - https://github.com/eclipse-sirius/sirius-web/issues/3020[#3020] [sirius-web] Simplify the code used to update the navigation bar menu and icon. - https://github.com/eclipse-sirius/sirius-web/issues/3024[#3024] [diagram] Added two new variables `semanticEdgeSource` and `graphicalEdgeSource` to compute the target nodes of an edge. - https://github.com/eclipse-sirius/sirius-web/issues/3050[#3050] [sirius-web] Contributes a first version of the new Sirius Web architecture +- https://github.com/eclipse-sirius/sirius-web/issues/1844[#1844] [emf] Unload resources by default when the EMF based editing context is disposed == v2024.1.0 diff --git a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/api/IEMFEditingContext.java b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/api/IEMFEditingContext.java index a0425d9677..f8377841a2 100644 --- a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/api/IEMFEditingContext.java +++ b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/api/IEMFEditingContext.java @@ -12,6 +12,7 @@ *******************************************************************************/ package org.eclipse.sirius.components.emf.services.api; +import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; import org.eclipse.sirius.components.core.api.IEditingContext; @@ -28,4 +29,9 @@ public interface IEMFEditingContext extends IEditingContext { String RESOURCE_SCHEME = "sirius"; AdapterFactoryEditingDomain getDomain(); + + @Override + default void dispose() { + this.getDomain().getResourceSet().getResources().forEach(Resource::unload); + } }