From 01546820a1be838e0a8ac9e84198bf844b3787ea Mon Sep 17 00:00:00 2001 From: ribeaudc <ribeaudc> Date: Thu, 15 May 2008 08:37:39 +0000 Subject: [PATCH] [DMV-12] add: - 'mayHandle' to 'IStoreHandler'. - 'FileScannedStore' (extracted from 'IncomingProcessor'). change: - More property keys moved to 'PropertyNames'. SVN: 6060 --- .../utilities/DirectoryScanningTimerTask.java | 5 ++++- .../cisd/common/utilities/IStoreHandler.java | 2 ++ .../common/utilities/PathHandlerAdapter.java | 18 ++++++++++++------ 3 files changed, 18 insertions(+), 7 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 2f371ba0d38..096fd098ba6 100644 --- a/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java +++ b/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java @@ -278,7 +278,10 @@ public final class DirectoryScanningTimerTask extends TimerTask } try { - handler.handle(item); + if (handler.mayHandle(item)) + { + handler.handle(item); + } } finally { // If the item still exists, we assume that it has not been handled. So it should be diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/IStoreHandler.java b/common/source/java/ch/systemsx/cisd/common/utilities/IStoreHandler.java index f22cfa374a0..7a9dacf81c8 100644 --- a/common/source/java/ch/systemsx/cisd/common/utilities/IStoreHandler.java +++ b/common/source/java/ch/systemsx/cisd/common/utilities/IStoreHandler.java @@ -25,4 +25,6 @@ package ch.systemsx.cisd.common.utilities; public interface IStoreHandler { void handle(StoreItem item); + + boolean mayHandle(StoreItem item); } diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/PathHandlerAdapter.java b/common/source/java/ch/systemsx/cisd/common/utilities/PathHandlerAdapter.java index 0a1c143f886..1d3e9b23be1 100644 --- a/common/source/java/ch/systemsx/cisd/common/utilities/PathHandlerAdapter.java +++ b/common/source/java/ch/systemsx/cisd/common/utilities/PathHandlerAdapter.java @@ -40,17 +40,23 @@ public class PathHandlerAdapter implements IStoreHandler return new PathHandlerAdapter(handler, directory); } + private final File asFile(final StoreItem item) + { + return StoreItem.asFile(directory, item); + } + // // IStoreHandler // - public void handle(final StoreItem item) + public final boolean mayHandle(final StoreItem item) + { + return pathHandler.mayHandle(asFile(item)); + } + + public final void handle(final StoreItem item) { - final File path = StoreItem.asFile(directory, item); - if (pathHandler.mayHandle(path)) - { - pathHandler.handle(path); - } + pathHandler.handle(asFile(item)); } } -- GitLab