diff --git a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/PFMetadataAnchor.java b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/PFMetadataAnchor.java index 6f6a3f0e697..05c21b1f6a3 100644 --- a/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/PFMetadataAnchor.java +++ b/rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/PFMetadataAnchor.java @@ -27,7 +27,7 @@ class PFMetadataAnchor implements PFPersistenceAnchor { IStatus result = Status.OK_STATUS; File profileFolder = getProfileFolder(profileName); if (profileFolder.exists()) { - profileFolder.delete(); + delete(profileFolder); } return result; } @@ -91,4 +91,19 @@ class PFMetadataAnchor implements PFPersistenceAnchor { return folder; } + /** + * Delete a File resource. If the resource is a directory then + * delete its children first. + * @param resource + */ + private void delete(File resource) { + if (resource.isDirectory()) { + File[] resources = resource.listFiles(); + for (int i = 0; i < resources.length; i++) { + File child = resources[i]; + delete(child); + } + } + resource.delete(); + } }