From 87b0c11ceddd77a75c5e70a6fce7780b3b50c767 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Mon, 4 Jan 2010 09:02:59 +0000 Subject: [PATCH] LMS-1267 refactoring out checkPathCopier SVN: 14121 --- .../cisd/common/filesystem/FileUtilities.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/common/source/java/ch/systemsx/cisd/common/filesystem/FileUtilities.java b/common/source/java/ch/systemsx/cisd/common/filesystem/FileUtilities.java index 6e0c0a28140..02ce907d11e 100644 --- a/common/source/java/ch/systemsx/cisd/common/filesystem/FileUtilities.java +++ b/common/source/java/ch/systemsx/cisd/common/filesystem/FileUtilities.java @@ -51,6 +51,7 @@ import ch.systemsx.cisd.base.exceptions.InterruptedExceptionUnchecked; import ch.systemsx.cisd.common.concurrent.IActivityObserver; import ch.systemsx.cisd.common.concurrent.RecordingActivityObserverSensor; import ch.systemsx.cisd.common.concurrent.InactivityMonitor.IDescribingActivitySensor; +import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException; import ch.systemsx.cisd.common.exceptions.UnknownLastChangedException; import ch.systemsx.cisd.common.logging.ISimpleLogger; @@ -1502,4 +1503,34 @@ public final class FileUtilities return fileNames; } + /** + * Checks remote connections for specified path copier. + */ + public static void checkPathCopier(IPathCopier copier, String host, String rsyncExecutableOnHostOrNull, + String rsyncModuleOrNull, String rsyncPasswordFileOrNull) + { + if (rsyncModuleOrNull != null) + { + final boolean connectionOK = + copier.checkRsyncConnectionViaRsyncServer(host, rsyncModuleOrNull, + rsyncPasswordFileOrNull); + if (connectionOK == false) + { + throw ConfigurationFailureException.fromTemplate( + "Connection to rsync module %s::%s failed", host, + rsyncModuleOrNull); + } + } else + { + final boolean connectionOK = + copier.checkRsyncConnectionViaSsh(host, rsyncExecutableOnHostOrNull); + if (connectionOK == false) + { + throw ConfigurationFailureException.fromTemplate( + "No good rsync executable found on host '%s'", host); + } + } + + } + } -- GitLab