From ac6b58cb0e0599ba6e28d3cbb4634f66fd0d135e Mon Sep 17 00:00:00 2001 From: gojomo Date: Fri, 20 Nov 2009 00:49:31 +0000 Subject: [PATCH] [HER-1546] Springify(5): Update checkpointing to work smoothly with spring-configured crawls * Checkpoint.java (generateFrom) version more suitable for unit testing --- .../archive/crawler/framework/Checkpoint.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/engine/src/main/java/org/archive/crawler/framework/Checkpoint.java b/engine/src/main/java/org/archive/crawler/framework/Checkpoint.java index 19b207b7..6539cd89 100644 --- a/engine/src/main/java/org/archive/crawler/framework/Checkpoint.java +++ b/engine/src/main/java/org/archive/crawler/framework/Checkpoint.java @@ -79,10 +79,21 @@ public class Checkpoint implements InitializingBean { * @param checkpointsDir */ public void generateFrom(CheckpointService checkpointer) { - getCheckpointDir().setBase(checkpointer.getCheckpointsDir()); + setCheckpointService(checkpointer); + generateFrom(checkpointer.getCheckpointsDir(),checkpointer.getNextCheckpointNumber()); + } + + /** + * Generate without CheckpointService (useful for unit testing) + * + * @param checkpointsDir + * @param nextCheckpointNumber + */ + public void generateFrom(ConfigPath checkpointsDir, int nextCheckpointNumber) { + getCheckpointDir().setBase(checkpointsDir); getCheckpointDir().setPath( "cp" - + CheckpointService.INDEX_FORMAT.format(checkpointer.getNextCheckpointNumber()) + + CheckpointService.INDEX_FORMAT.format(nextCheckpointNumber) + "-" + ArchiveUtils.get14DigitDate()); getCheckpointDir().getFile().mkdirs(); @@ -90,7 +101,7 @@ public class Checkpoint implements InitializingBean { } public void afterPropertiesSet() { - if(checkpointDir.getBase()==null) { + if(checkpointDir.getBase()==null && checkpointService != null) { // if not otherwise set, adopt base from Checkpointer checkpointDir.setBase(checkpointService.getCheckpointsDir()); }