X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=engine%2Fcompbio%2Fengine%2FCleaner.java;h=31c97a81abbd0c5c4b2e40f9bd6fb0ca01e59036;hb=b05d1f756857fa5e4f67ad00d51d0a7ecbcbb505;hp=e4e2923d88cae9200e278b7f278bde8c356d6182;hpb=535359a3d592ee41bda72e7356f0181f6cee9d07;p=jabaws.git diff --git a/engine/compbio/engine/Cleaner.java b/engine/compbio/engine/Cleaner.java index e4e2923..31c97a8 100644 --- a/engine/compbio/engine/Cleaner.java +++ b/engine/compbio/engine/Cleaner.java @@ -26,6 +26,11 @@ import compbio.engine.client.ConfiguredExecutable; import compbio.engine.client.PathValidator; import compbio.engine.local.ExecutableWrapper; +//@Deprecated + +// TODO +// understand what this class does and why it was set as deprecated ... +// how to check timestamps of files before deleting public class Cleaner { private static final Logger log = Logger.getLogger(Cleaner.class); @@ -37,7 +42,8 @@ public class Cleaner { * * @param workDirectory * @param files - * @return + * @return This method returns true if all files specified by List files + * were successfully removed, false otherwise */ public static boolean deleteFiles(ConfiguredExecutable exec) { @@ -54,10 +60,8 @@ public class Cleaner { // Remove process std output and error capture files, do not care // whether succeed or not // as these are only created for local processes, so may not exist - removeFile(exec.getWorkDirectory() + File.separator - + ExecutableWrapper.PROC_OUT_FILE); - removeFile(exec.getWorkDirectory() + File.separator - + ExecutableWrapper.PROC_ERR_FILE); + removeFile(exec.getWorkDirectory() + File.separator + ExecutableWrapper.PROC_OUT_FILE); + removeFile(exec.getWorkDirectory() + File.separator + ExecutableWrapper.PROC_ERR_FILE); // Remove the task directory if all files were successfully removed return removeFile(exec.getWorkDirectory()); } @@ -71,12 +75,11 @@ public class Cleaner { if (success) { log.trace(type + filename + " was successfully removed"); } else { - log - .debug("Could not remove " - + type - + ": " - + filename - + " reportedly created by executable. Insufficient access right?"); + log.debug("Could not remove " + + type + + ": " + + filename + + " reportedly created by executable. Insufficient access right?"); } } else { log.debug("File: " + filename @@ -87,12 +90,11 @@ public class Cleaner { public static boolean deleteAllFiles(String directory) { if (compbio.util.Util.isEmpty(directory)) { - throw new NullPointerException("Direcotry must be provided! "); + throw new NullPointerException("Directory must be provided! "); } File rootdir = new File(directory); if (!rootdir.exists()) { - log.error("Directory " + directory - + " does not exist. Have been deleted already?"); + log.error("Directory " + directory + " does not exist. Have been deleted already?"); return false; } if (!rootdir.isDirectory()) { @@ -104,15 +106,28 @@ public class Cleaner { int deletedCount = 0; for (File f : files) { if (f.isDirectory()) { - log.error("Cannot delete subdirecotries! Skipping..."); + log.error("Cannot delete subdirectories! Skipping..."); } else { - boolean deleted = f.delete(); - if (deleted) { + if (f.delete()) { deletedCount++; + log.debug("file " + f.getName() + " removed"); + } else { + log.debug("file " + f.getName() + " is not removed"); } } + } + rootdir.delete(); return deletedCount == files.length; } + public static boolean deleteDirectory(String directory) { + if (deleteAllFiles (directory)) { + File rootdir = new File(directory); + return rootdir.delete(); + } + return false; + } + + }