From 28c10f1771ba87a7cc5c91232f3b02774b017ec9 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber < martin.oberhuber@windriver.com> Date: Tue, 6 May 2008 23:15:16 +0000 Subject: [PATCH] [221211] Fix markStale() for delete() operation with exceptions --- .../servicesubsystem/FileServiceSubSystem.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/servicesubsystem/FileServiceSubSystem.java b/rse/plugins/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/servicesubsystem/FileServiceSubSystem.java index 57214631cd3..8dc6f027a44 100644 --- a/rse/plugins/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/servicesubsystem/FileServiceSubSystem.java +++ b/rse/plugins/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/servicesubsystem/FileServiceSubSystem.java @@ -36,6 +36,7 @@ * Kevin Doyle (IBM) - [224162] SystemEditableRemoteFile.saveAs does not work because FileServiceSubSytem.upload does invalid check * Martin Oberhuber (Wind River) - [218304] Improve deferred adapter loading * David Dykstal (IBM) - [221211] fix IFileService API for batch operations + * Martin Oberhuber (Wind River) - [221211] Fix markStale() for delete() operation with exceptions *******************************************************************************/ package org.eclipse.rse.subsystems.files.core.servicesubsystem; @@ -858,8 +859,11 @@ public class FileServiceSubSystem extends RemoteFileSubSystem implements IFileSe IFileService service = getFileService(); String parent = folderOrFile.getParentPath(); String name = folderOrFile.getName(); - service.delete(parent, name, monitor); - folderOrFile.markStale(true); + try { + service.delete(parent, name, monitor); + } finally { + folderOrFile.markStale(true); + } return true; } @@ -900,9 +904,12 @@ public class FileServiceSubSystem extends RemoteFileSubSystem implements IFileSe String srcName = sourceFolderOrFile.getName(); String tgtParent = targetFolder.getAbsolutePath(); removeCachedRemoteFile(sourceFolderOrFile); - service.move(srcParent, srcName, tgtParent, newName, monitor); - sourceFolderOrFile.markStale(true); - targetFolder.markStale(true); + try { + service.move(srcParent, srcName, tgtParent, newName, monitor); + } finally { + sourceFolderOrFile.markStale(true); + targetFolder.markStale(true); + } return true; }