### Eclipse Workspace Patch 1.0 #P org.eclipse.ltk.core.refactoring Index: src/org/eclipse/ltk/internal/core/refactoring/resource/UndoDeleteResourceChange.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/internal/core/refactoring/resource/UndoDeleteResourceChange.java,v retrieving revision 1.2 diff -u -r1.2 UndoDeleteResourceChange.java --- src/org/eclipse/ltk/internal/core/refactoring/resource/UndoDeleteResourceChange.java 18 Oct 2007 13:16:26 -0000 1.2 +++ src/org/eclipse/ltk/internal/core/refactoring/resource/UndoDeleteResourceChange.java 29 Jan 2008 10:30:13 -0000 @@ -71,10 +71,20 @@ created.refreshLocal(IResource.DEPTH_INFINITE, new SubProgressMonitor(pm, 1)); DeleteResourceChange change= new DeleteResourceChange(created.getFullPath(), true, false); change.setValidationMethod(ResourceChange.VALIDATE_NOT_READ_ONLY | ResourceChange.VALIDATE_NOT_DIRTY); + created.restorePersistentPropertiesFromDeleted(); return change; } public String toString() { return Messages.format(RefactoringCoreMessages.UndoDeleteResourceChange_revert_resource, fResourceState.getName()); } + + public void dispose() { + try { + fResourceState.createResourceHandle().removeDeletedPersistentProperties(); + } catch (CoreException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } } Index: src/org/eclipse/ltk/core/refactoring/resource/DeleteResourceChange.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/resource/DeleteResourceChange.java,v retrieving revision 1.4 diff -u -r1.4 DeleteResourceChange.java --- src/org/eclipse/ltk/core/refactoring/resource/DeleteResourceChange.java 6 Nov 2007 15:51:07 -0000 1.4 +++ src/org/eclipse/ltk/core/refactoring/resource/DeleteResourceChange.java 29 Jan 2008 10:30:12 -0000 @@ -125,6 +125,8 @@ }, IResource.DEPTH_INFINITE, false); } + resource.savePersistentPropertiesAsDeleted(); + ResourceUndoState desc= ResourceUndoState.fromResource(resource); if (resource instanceof IProject) { ((IProject) resource).delete(fDeleteContent, fForceOutOfSync, new SubProgressMonitor(pm, 10));