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 c6683546c359a20bc1cb833b47256e13f9d6386d..769987aa13905545d0256063e2d5667e1a2f9857 100644 --- a/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java +++ b/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java @@ -200,11 +200,12 @@ public final class DirectoryScanningTimerTask extends TimerTask } try { - int numberOfItems; + int numberOfItemsHandled; do { final StoreItem[] storeItems = listStoreItems(); - numberOfItems = storeItems.length; + final int numberOfItems = storeItems.length; + numberOfItemsHandled = numberOfItems; directoryScanningHandler.beforeHandle(); for (int i = 0; i < numberOfItems; i++) { @@ -241,6 +242,7 @@ public final class DirectoryScanningTimerTask extends TimerTask } } else { + --numberOfItemsHandled; if (operationLog.isTraceEnabled()) { operationLog.trace(String.format( @@ -248,7 +250,7 @@ public final class DirectoryScanningTimerTask extends TimerTask } } } - } while (numberOfItems > 0); + } while (numberOfItemsHandled > 0); } catch (final Exception ex) { printNotification(ex);