Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/infra/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/RenameModelChange.java')
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/RenameModelChange.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/plugins/infra/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/RenameModelChange.java b/plugins/infra/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/RenameModelChange.java
index 7163d8a32b2..f4f3ed6ae18 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/RenameModelChange.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/RenameModelChange.java
@@ -60,6 +60,8 @@ import org.eclipse.papyrus.infra.core.resource.ModelSet;
import org.eclipse.papyrus.infra.core.resource.ModelsReader;
import org.eclipse.papyrus.infra.core.resource.ReadOnlyAxis;
import org.eclipse.papyrus.infra.core.resource.sasheditor.DiModelUtils;
+import org.eclipse.papyrus.infra.core.resource.sasheditor.SashModel;
+import org.eclipse.papyrus.infra.core.resource.sasheditor.SashModelUtils;
import org.eclipse.papyrus.infra.core.services.ServiceException;
import org.eclipse.papyrus.infra.core.utils.EditorUtils;
import org.eclipse.papyrus.infra.emf.readonly.ReadOnlyManager;
@@ -282,6 +284,27 @@ public class RenameModelChange extends Change {
}
pm.worked(5);
+
+ try {
+ SashModel oldSash = SashModelUtils.getSashModel(resourceSet);
+ URI oldSashURI = oldSash.getResourceURI();
+ Resource resource = oldSash.getResource();
+ resourceSet.loadModels(newFile);
+ SashModel sashModel = SashModelUtils.getSashModel(resourceSet);
+ URI stashNewFile = sashModel.getResourceURI();
+ resource.setURI(stashNewFile);
+ resource.save(ResourceUtils.getSaveOptions());
+ if(oldSash != null) { // delete old stash
+ try {
+ resourceSet.getURIConverter().delete(oldSashURI, null);
+ } catch (IOException e) {
+ log.error(Messages.bind(Messages.RenameModelChange_ErrorLoading, oldSashURI), e);
+ }
+ }
+ } catch (Exception e) {
+ log.error(e);
+ }
+
// Do not forget to unload all the resources to avoid memory leak
pm.subTask(Messages.RenameModelChange_Unloading);
resourceSet.unload();

Back to the top