diff --git a/datamover/source/java/ch/systemsx/cisd/datamover/DataMover.java b/datamover/source/java/ch/systemsx/cisd/datamover/DataMover.java index 888d3ce881e76517b4c6a1ce1d833cffb1b7e5c4..4d2bdb370112e17ced48ebca16250ef79dec1b70 100644 --- a/datamover/source/java/ch/systemsx/cisd/datamover/DataMover.java +++ b/datamover/source/java/ch/systemsx/cisd/datamover/DataMover.java @@ -67,7 +67,7 @@ public class DataMover * * @return object which can be used to terminate the process and all its threads */ - public static final ITerminable start(final Parameters parameters, + static final ITerminable start(final Parameters parameters, final IFileSysOperationsFactory factory) { return start(parameters, factory, createLocalBufferDirs(parameters)); @@ -80,7 +80,7 @@ public class DataMover } /** Allows to specify buffer directories. Exposed for testing purposes. */ - public static final ITerminable start(final Parameters parameters, + static final ITerminable start(final Parameters parameters, final IFileSysOperationsFactory factory, final LocalBufferDirs localBufferDirs) { return new DataMover(parameters, factory, localBufferDirs).start(); diff --git a/datamover/source/java/ch/systemsx/cisd/datamover/DataMoverProcess.java b/datamover/source/java/ch/systemsx/cisd/datamover/DataMoverProcess.java index 54f9667870ad029df4589bd4ed07a0868289cc3a..3fcadc6b23b0aea8398fac47db9faa36f485c8d2 100644 --- a/datamover/source/java/ch/systemsx/cisd/datamover/DataMoverProcess.java +++ b/datamover/source/java/ch/systemsx/cisd/datamover/DataMoverProcess.java @@ -26,6 +26,8 @@ import ch.systemsx.cisd.datamover.filesystem.intf.IRecoverableTimerTaskFactory; /** * A class that represents the incoming moving process. + * + * @author Bernd Rinn */ public class DataMoverProcess implements ITerminable { diff --git a/datamover/source/java/ch/systemsx/cisd/datamover/Main.java b/datamover/source/java/ch/systemsx/cisd/datamover/Main.java index c45ddf3e70239b0d5b5e3a1e48b1455ca3a9d7b4..18a661658d968dfc265016eb5fd5b1e9f86e0f48 100644 --- a/datamover/source/java/ch/systemsx/cisd/datamover/Main.java +++ b/datamover/source/java/ch/systemsx/cisd/datamover/Main.java @@ -21,6 +21,7 @@ import java.util.ArrayList; import org.apache.log4j.Logger; +import ch.rinn.restrictions.Private; import ch.systemsx.cisd.common.exceptions.HighLevelException; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; @@ -41,7 +42,6 @@ import ch.systemsx.cisd.datamover.utils.LocalBufferDirs; */ public class Main { - private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION, Main.class); @@ -51,7 +51,12 @@ public class Main private static final UncaughtExceptionHandler loggingExceptionHandler = new UncaughtExceptionHandler() { - public void uncaughtException(Thread t, Throwable e) + + // + // UncaughtExceptionHandler + // + + public final void uncaughtException(final Thread t, final Throwable e) { notificationLog.error("An exception has occurred [thread: '" + t.getName() + "'].", e); @@ -60,7 +65,12 @@ public class Main private static final Runnable loggingShutdownHook = new Runnable() { - public void run() + + // + // Runnable + // + + public final void run() { if (operationLog.isInfoEnabled()) { @@ -120,7 +130,7 @@ public class Main stores.add(dummyStore); } final IPathCopier copyProcess = factory.getCopier(false); - SelfTest.check(copyProcess, stores.toArray(new IFileStore[] {})); + SelfTest.check(copyProcess, stores.toArray(IFileStore.EMPTY_ARRAY)); } catch (final HighLevelException e) { System.err.printf(msgStart + " [%s: %s]\n", e.getClass().getSimpleName(), e @@ -134,7 +144,7 @@ public class Main } } - /** exposed for testing purposes */ + @Private static ITerminable startupServer(final Parameters parameters, final LocalBufferDirs bufferDirs) { final IFileSysOperationsFactory factory = new FileSysOperationsFactory(parameters); @@ -154,7 +164,10 @@ public class Main printInitialLogMessage(parameters); selfTest(parameters); startupServer(parameters); - operationLog.info("Datamover ready and waiting for data."); + if (operationLog.isInfoEnabled()) + { + operationLog.info("Datamover ready and waiting for data."); + } } } diff --git a/datamover/source/java/ch/systemsx/cisd/datamover/filesystem/intf/IFileStore.java b/datamover/source/java/ch/systemsx/cisd/datamover/filesystem/intf/IFileStore.java index 6aeb06e383e1918fca3f72f312eb01951d454465..1e064f4a5ccb5b8cc61a7134ffb7ec81bdd9cb71 100644 --- a/datamover/source/java/ch/systemsx/cisd/datamover/filesystem/intf/IFileStore.java +++ b/datamover/source/java/ch/systemsx/cisd/datamover/filesystem/intf/IFileStore.java @@ -29,6 +29,8 @@ import ch.systemsx.cisd.common.utilities.StoreItem; */ public interface IFileStore extends ISelfTestable { + public static final IFileStore[] EMPTY_ARRAY = new IFileStore[0]; + /** * Returns the location of the specified store item. */ diff --git a/datamover/sourceTest/java/ch/systemsx/cisd/datamover/MainTest.java b/datamover/sourceTest/java/ch/systemsx/cisd/datamover/MainTest.java index d696e88474d8601d1b2ee991cb75ead73db511f1..d9c28470af326e7f3ed4037c5a42841894b70f20 100644 --- a/datamover/sourceTest/java/ch/systemsx/cisd/datamover/MainTest.java +++ b/datamover/sourceTest/java/ch/systemsx/cisd/datamover/MainTest.java @@ -34,6 +34,7 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; +import ch.rinn.restrictions.Friend; import ch.systemsx.cisd.common.logging.LogInitializer; import ch.systemsx.cisd.common.utilities.FileUtilities; import ch.systemsx.cisd.common.utilities.ITerminable; @@ -41,9 +42,13 @@ import ch.systemsx.cisd.datamover.testhelper.FileStructEngine; import ch.systemsx.cisd.datamover.utils.LocalBufferDirs; /** + * Test cases for the {@link Parameters} class. + * * @author Tomasz Pylak */ -public class MainTest +@Friend(toClasses = + { Main.class }) +public final class MainTest { private static final FileStructEngine DEFAULT_STRUCT = new FileStructEngine("test"); @@ -314,10 +319,10 @@ public class MainTest } private static void runDataMover(Parameters parameters, LocalBufferDirs bufferDirs, - long dataMoverCompleteionTime) throws InterruptedException + long dataMoverCompletionTime) throws InterruptedException { ITerminable terminable = Main.startupServer(parameters, bufferDirs); - Thread.sleep(dataMoverCompleteionTime); + Thread.sleep(dataMoverCompletionTime); assertTrue(terminable.terminate()); }