diff --git a/common/source/java/ch/systemsx/cisd/common/Constants.java b/common/source/java/ch/systemsx/cisd/common/Constants.java index 7b2e82f670e9221c8a095899211612cd01a6469e..5b19c4bd0635f9e88aea8738d60db7e76e0cda38 100644 --- a/common/source/java/ch/systemsx/cisd/common/Constants.java +++ b/common/source/java/ch/systemsx/cisd/common/Constants.java @@ -16,6 +16,8 @@ package ch.systemsx.cisd.common; +import org.apache.commons.lang.time.DateUtils; + /** * Constants common to more than one CISD project. * @@ -34,4 +36,9 @@ public class Constants public static final String DELETION_IN_PROGRESS_PREFIX = MARKER_PREFIX + "deletion_in_progress_"; + /** The number of milliseconds to wait before considering timeout (<i>10s</i>). */ + public static final long MILLIS_TO_WAIT_BEFORE_TIMEOUT = 10 * DateUtils.MILLIS_PER_SECOND; + + /** The number of milliseconds to sleep before retrying (<i>3s</i>). */ + public static final long MILLIS_TO_SLEEP_BEFORE_RETRYING = 3 * DateUtils.MILLIS_PER_SECOND; } diff --git a/common/source/java/ch/systemsx/cisd/common/highwatermark/HighwaterMarkWatcher.java b/common/source/java/ch/systemsx/cisd/common/highwatermark/HighwaterMarkWatcher.java index fa39ab9c5c4fd2d4c03db1b95acfa2ee87f14120..51817bb31a5b87e89a6b71cb15709b35a5272eef 100644 --- a/common/source/java/ch/systemsx/cisd/common/highwatermark/HighwaterMarkWatcher.java +++ b/common/source/java/ch/systemsx/cisd/common/highwatermark/HighwaterMarkWatcher.java @@ -23,6 +23,7 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.event.EventListenerList; +import org.apache.commons.io.DestroyableFileSystemUtils; import org.apache.commons.io.FileSystemUtils; import org.apache.commons.io.FileUtils; import org.apache.log4j.Logger; @@ -224,7 +225,7 @@ public final class HighwaterMarkWatcher implements Runnable public final long freeSpaceKb(final File path) throws IOException { final String canonicalPath = FileUtilities.getCanonicalPath(path); - return FileSystemUtils.freeSpaceKb(canonicalPath); + return DestroyableFileSystemUtils.freeSpaceKb(canonicalPath); } } diff --git a/common/source/java/ch/systemsx/cisd/common/highwatermark/RemoteFreeSpaceProvider.java b/common/source/java/ch/systemsx/cisd/common/highwatermark/RemoteFreeSpaceProvider.java index 7b6a70736bf248cded2e53657adae6db2cfd6bef..9537323af00614d6eda4eab4db015524dbf05b10 100644 --- a/common/source/java/ch/systemsx/cisd/common/highwatermark/RemoteFreeSpaceProvider.java +++ b/common/source/java/ch/systemsx/cisd/common/highwatermark/RemoteFreeSpaceProvider.java @@ -22,9 +22,9 @@ import java.util.Arrays; import java.util.List; import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang.time.DateUtils; import org.apache.log4j.Logger; +import ch.systemsx.cisd.common.Constants; import ch.systemsx.cisd.common.highwatermark.HighwaterMarkWatcher.IFreeSpaceProvider; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; @@ -49,13 +49,11 @@ public final class RemoteFreeSpaceProvider implements IFreeSpaceProvider private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION, RemoteFreeSpaceProvider.class); - private static final long MILLIS_TO_WAIT_FOR_COMPLETION = 2 * DateUtils.MILLIS_PER_SECOND; - private final File sshExecutable; private final String host; - private final long millisToWaitForCompletion = MILLIS_TO_WAIT_FOR_COMPLETION; + private final long millisToWaitForCompletion = Constants.MILLIS_TO_WAIT_BEFORE_TIMEOUT; public RemoteFreeSpaceProvider(final String host, final File sshExecutable) { diff --git a/common/source/java/ch/systemsx/cisd/common/process/FileRenamingProcess.java b/common/source/java/ch/systemsx/cisd/common/process/FileRenamingProcess.java index 2e935720433779a9508ac65f983d1de809c466c4..035f185959de47022ea0978a896dd00f46741fe9 100644 --- a/common/source/java/ch/systemsx/cisd/common/process/FileRenamingProcess.java +++ b/common/source/java/ch/systemsx/cisd/common/process/FileRenamingProcess.java @@ -20,6 +20,7 @@ import java.io.File; import org.apache.log4j.Logger; +import ch.systemsx.cisd.common.Constants; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; @@ -33,8 +34,6 @@ public final class FileRenamingProcess implements IProcess private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION, FileRenamingProcess.class); - public static final long DEFAULT_MILLIS_TO_SLEEP = 5000L; - public static final int DEFAULT_MAX_RETRIES = 12; private final File sourceFile; @@ -51,7 +50,7 @@ public final class FileRenamingProcess implements IProcess public FileRenamingProcess(final File sourceFile, final File destinationFile) { - this(DEFAULT_MAX_RETRIES, DEFAULT_MILLIS_TO_SLEEP, sourceFile, destinationFile); + this(DEFAULT_MAX_RETRIES, Constants.MILLIS_TO_SLEEP_BEFORE_RETRYING, sourceFile, destinationFile); } public FileRenamingProcess(final int maxRetries, final long millisToSleep,