From f59acb4f4a7db8162a8ce36d88fdff9c4613d222 Mon Sep 17 00:00:00 2001 From: Simon Barner <barner@fortiss.org> Date: Fri, 22 Oct 2021 15:50:48 +0200 Subject: [PATCH] Refresh kernel model resource right before writing the contents to disk Issue-Ref: 4166 Issue-Url: https://git.fortiss.org/af3/af3/-/issues/4166 Signed-off-by: Simon Barner <barner@fortiss.org> --- .../fortiss/tooling/kernel/internal/storage/eclipse/.ratings | 2 +- .../tooling/kernel/internal/storage/eclipse/ModelContext.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/internal/storage/eclipse/.ratings b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/internal/storage/eclipse/.ratings index 55afedee4..7194108f3 100644 --- a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/internal/storage/eclipse/.ratings +++ b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/internal/storage/eclipse/.ratings @@ -1,5 +1,5 @@ AutoUndoCommandStack.java fc326adf66c6cea2354884cdc240da5f2f82689a GREEN EMFTransactionalCommand.java ba4b5bead9768b6ce6c955b9238cd96cb722533c GREEN EclipseResourceStorageService.java e917c822c53eacada70188e66215d91241a29a5c GREEN -ModelContext.java efa60d240cd7bd8900685c35afcc87f56e6995fb GREEN +ModelContext.java 76eeaef7f56da5f0e288cf96792850be606b7757 YELLOW NonDirtyingEMFTransactionalCommand.java d288ebe35d22442c603496b0c917fb99a8febeea GREEN diff --git a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/internal/storage/eclipse/ModelContext.java b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/internal/storage/eclipse/ModelContext.java index efa60d240..76eeaef7f 100644 --- a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/internal/storage/eclipse/ModelContext.java +++ b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/internal/storage/eclipse/ModelContext.java @@ -16,6 +16,7 @@ package org.fortiss.tooling.kernel.internal.storage.eclipse; import static java.lang.Math.max; +import static org.eclipse.core.resources.IResource.DEPTH_ZERO; import static org.eclipse.emf.common.util.URI.createPlatformResourceURI; import static org.fortiss.tooling.kernel.utils.EMFResourceUtils.buildOptionsMap; import static org.fortiss.tooling.kernel.utils.LoggingUtils.error; @@ -316,6 +317,7 @@ class ModelContext implements ITopLevelElement, CommandStackListener { try { // Step 3: write file content to disk (for resource managed by kernel) ByteArrayInputStream stream = new ByteArrayInputStream(bytes.toByteArray()); + file.refreshLocal(DEPTH_ZERO, monitor); file.setContents(stream, false, true, monitor); } catch(CoreException e) { if(exception == null) { -- GitLab