diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/HierarchicalStorageUpdater.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/HierarchicalStorageUpdater.java index 62668c0872e58da8c5125b18fd819aa06ea11c8b..c7c26d0389e815418692b39b5f58dfe44d051ef7 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/HierarchicalStorageUpdater.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/HierarchicalStorageUpdater.java @@ -173,11 +173,23 @@ public class HierarchicalStorageUpdater implements IMaintenanceTask private static void deleteWithSymbolicLinks(File toDeleteParent) { + if (toDeleteParent.isDirectory() == false) + { + operationLog + .error("Directory structure is different than expected. File '" + + toDeleteParent.getPath() + + "' should be a directory. It will not be cleared."); + return; + } for (File file : toDeleteParent.listFiles()) { // all these files should be symbolic links to a dataset directory. // We cannot delete recursively here, it would remove the original files. - file.delete(); + boolean ok = file.delete(); + if (ok == false) + { + operationLog.error("Cannot delete the file: " + file.getPath()); + } } toDeleteParent.delete(); }