From 9f6640edafba7a899b592e3163d3888c5ac24efa Mon Sep 17 00:00:00 2001 From: brinn <brinn> Date: Mon, 1 Oct 2007 06:31:07 +0000 Subject: [PATCH] change: - make DirectoryScanningTimerTask a IRecoverable - do not run recovery automatically in order to give better control SVN: 1881 --- .../common/utilities/DirectoryScanningTimerTask.java | 11 ++++------- .../utilities/DirectoryScanningTimerTaskTest.java | 3 +-- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java b/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java index ff549bed204..0a933fbd936 100644 --- a/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java +++ b/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java @@ -42,7 +42,7 @@ import ch.systemsx.cisd.common.logging.LogFactory; * * @author Bernd Rinn */ -public final class DirectoryScanningTimerTask extends TimerTask implements ISelfTestable +public final class DirectoryScanningTimerTask extends TimerTask implements ISelfTestable, IRecoverable { public static final String FAULTY_PATH_FILENAME = ".faulty_paths"; @@ -91,8 +91,6 @@ public final class DirectoryScanningTimerTask extends TimerTask implements ISelf /** * Creates a <var>DirectoryScanningTimerTask</var>. - * <p> - * Performs a recovery if <var>recoverableOrNull</var> is not <code>null</code>. * * @param sourceDirectory The directory to scan for entries. * @param filter The file filter that picks the entries to handle. @@ -115,20 +113,19 @@ public final class DirectoryScanningTimerTask extends TimerTask implements ISelf this.faultyPaths = new HashSet<File>(); this.faultyPathsFile = new File(sourceDirectory, FAULTY_PATH_FILENAME); faultyPathsFile.delete(); - runRecover(); } /** * Handles all entries in the source directory that are picked by the filter. */ @Override - public void run() + public synchronized void run() { try { if (recoveryTriggerFile.exists()) { - runRecover(); + recover(); recoveryTriggerFile.delete(); } if (operationLog.isTraceEnabled()) @@ -158,7 +155,7 @@ public final class DirectoryScanningTimerTask extends TimerTask implements ISelf } } - private void runRecover() + public synchronized void recover() { if (recoverableOrNull != null) { diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTaskTest.java b/common/sourceTest/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTaskTest.java index 6ad180e49dd..e4126b4f995 100644 --- a/common/sourceTest/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTaskTest.java +++ b/common/sourceTest/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTaskTest.java @@ -208,8 +208,7 @@ public class DirectoryScanningTimerTaskTest final RecordingRecoverable mockRecoverable = new RecordingRecoverable(); final DirectoryScanningTimerTask scanner = new DirectoryScanningTimerTask(workingDirectory, ACCEPT_ALL_FILTER, mockPathHandler, mockRecoverable); - assertTrue(mockRecoverable.recoveryCalled); - mockRecoverable.recoveryCalled = false; + assertFalse(mockRecoverable.recoveryCalled); assertEquals(0, mockPathHandler.handledPaths.size()); scanner.run(); assertFalse(mockRecoverable.recoveryCalled); -- GitLab