diff --git a/datamover/source/java/ch/systemsx/cisd/datamover/LocalProcessor.java b/datamover/source/java/ch/systemsx/cisd/datamover/LocalProcessor.java index 6bf7f3e74e87d6b67877332ae35432aee54a0e05..31f50123c245239cf9fffb61c94c780664960131 100644 --- a/datamover/source/java/ch/systemsx/cisd/datamover/LocalProcessor.java +++ b/datamover/source/java/ch/systemsx/cisd/datamover/LocalProcessor.java @@ -151,8 +151,11 @@ public class LocalProcessor implements IPathHandler if (extraCopyDirOrNull != null) { extraTmpCopy = copier.tryCopy(path, tempDir); - notificationLog.error(String.format("Creating extra copy of '%s' failed.", path)); - ok = ok && (extraTmpCopy != null); + if (extraTmpCopy == null) + { + notificationLog.error(String.format("Creating extra copy of '%s' failed.", path)); + ok = false; + } } final File movedFile = LocalFileSystem.tryMoveLocal(path, outputDir); @@ -163,16 +166,19 @@ public class LocalProcessor implements IPathHandler { notificationLog.error(String .format("Moving '%s' to '%s' for final moving process failed.", path, outputDir)); + ok = false; } - ok = ok && (movedFile != null); if (extraTmpCopy != null) { assert extraCopyDirOrNull != null; File extraCopy = LocalFileSystem.tryMoveLocal(extraTmpCopy, extraCopyDirOrNull); - notificationLog.error(String.format("Moving temporary extra copy '%s' to destination '%s' failed.", - extraTmpCopy, extraCopyDirOrNull)); - ok = ok && (extraCopy != null); + if (extraCopy == null) + { + notificationLog.error(String.format("Moving temporary extra copy '%s' to destination '%s' failed.", + extraTmpCopy, extraCopyDirOrNull)); + ok = false; + } } return ok; } diff --git a/datamover/source/java/ch/systemsx/cisd/datamover/common/MarkerFile.java b/datamover/source/java/ch/systemsx/cisd/datamover/common/MarkerFile.java index aaca3adbf67fda0708c89b95ed6c04c660f695df..f934a77b143a244e3f16f179c5ef26e6238f4ba7 100644 --- a/datamover/source/java/ch/systemsx/cisd/datamover/common/MarkerFile.java +++ b/datamover/source/java/ch/systemsx/cisd/datamover/common/MarkerFile.java @@ -22,24 +22,24 @@ import ch.systemsx.cisd.common.Constants; import ch.systemsx.cisd.common.utilities.FileUtilities; /** - * Manipulations on marker files. + * Manipulations on marker files. Should not use string types in the interface. * * @author Tomasz Pylak on Aug 27, 2007 */ public class MarkerFile { - public static String getCopyFinishedMarkerName(String originalFileName) + private static String getCopyFinishedMarkerName(String originalFileName) { return Constants.IS_FINISHED_PREFIX + originalFileName; } - public static String getDeletionInProgressMarkerName(File originalFile) + public static File createDeletionInProgressMarker(File parent, String originalFileName) { - return Constants.DELETION_IN_PROGRESS_PREFIX + originalFile.getName(); + return new File(parent, getDeletionInProgressMarkerName(originalFileName)); } - public static String getDeletionInProgressMarkerName(String originalFileName) + private static String getDeletionInProgressMarkerName(String originalFileName) { return Constants.DELETION_IN_PROGRESS_PREFIX + originalFileName; } @@ -62,7 +62,11 @@ public class MarkerFile public static File createCopyFinishedMarker(File originalFile) { - return new File(originalFile.getParent(), getCopyFinishedMarkerName(originalFile.getName())); + return createCopyFinishedMarker(originalFile.getParentFile(), originalFile.getName()); } + public static File createCopyFinishedMarker(File parent, String originalFileName) + { + return new File(parent, getCopyFinishedMarkerName(originalFileName)); + } } diff --git a/datamover/source/java/ch/systemsx/cisd/datamover/filesystem/remote/RemotePathMover.java b/datamover/source/java/ch/systemsx/cisd/datamover/filesystem/remote/RemotePathMover.java index 96054c97145ff51b72337c489fcc47f33c0e327d..cf84aa0602881e56843988d70fa1d5e16bacaa1f 100644 --- a/datamover/source/java/ch/systemsx/cisd/datamover/filesystem/remote/RemotePathMover.java +++ b/datamover/source/java/ch/systemsx/cisd/datamover/filesystem/remote/RemotePathMover.java @@ -236,7 +236,7 @@ public final class RemotePathMover implements DirectoryScanningTimerTask.IPathHa // the source directory final File markerParentDirectory = (destinationHost == null) ? destinationDirectory : path.getParentFile(); final File markDeletionInProgressMarkerFile = - new File(markerParentDirectory, MarkerFile.getDeletionInProgressMarkerName(path)); + MarkerFile.createDeletionInProgressMarker(markerParentDirectory, path.getName()); return markDeletionInProgressMarkerFile; } @@ -254,8 +254,7 @@ public final class RemotePathMover implements DirectoryScanningTimerTask.IPathHa private boolean markAsFinished(File path) { - final File markFinishedFile = - new File(destinationDirectory, MarkerFile.getCopyFinishedMarkerName(path.getName())); + final File markFinishedFile = MarkerFile.createCopyFinishedMarker(destinationDirectory, path.getName()); if (destinationHost == null) { return markLocal(markFinishedFile); diff --git a/datamover/sourceTest/java/ch/systemsx/cisd/datamover/testhelper/FileStructEngine.java b/datamover/sourceTest/java/ch/systemsx/cisd/datamover/testhelper/FileStructEngine.java index 7928c041c424ae0c942370ea2afb7e5df16dbe56..5af75132b847b3d83110937c5f26581a18c185f7 100644 --- a/datamover/sourceTest/java/ch/systemsx/cisd/datamover/testhelper/FileStructEngine.java +++ b/datamover/sourceTest/java/ch/systemsx/cisd/datamover/testhelper/FileStructEngine.java @@ -76,7 +76,7 @@ public class FileStructEngine public void createSampleFinishedMarkerFile(File parentDir) { - createEmptyFile(createFinishedMarkerFile(parentDir, sampleMovedDir)); + createEmptyFile(MarkerFile.createCopyFinishedMarker(parentDir, sampleMovedDir)); } public void createSampleDeletionInProgressMarkerFile(File parentDir) @@ -84,16 +84,11 @@ public class FileStructEngine createEmptyFile(createDeletionInProgressMarkerFile(parentDir, sampleMovedDir)); } - private static File createFinishedMarkerFile(File parentDir, String originalName) - { - return new File(parentDir, MarkerFile.getCopyFinishedMarkerName(originalName)); - } - private static File createDeletionInProgressMarkerFile(File parentDir, String originalName) { - return new File(parentDir, MarkerFile.getDeletionInProgressMarkerName(originalName)); + return MarkerFile.createDeletionInProgressMarker(parentDir, originalName); } - + private static List<String> createSampleFileContent() { String[] lines = new String[] @@ -125,7 +120,7 @@ public class FileStructEngine public void assertSampleStructFinishMarkerExists(File parentDir) { - File marker = createFinishedMarkerFile(parentDir, sampleMovedDir); + File marker = MarkerFile.createCopyFinishedMarker(parentDir, sampleMovedDir); assert marker.exists(); } }