From bf2eaef6e2f9c9c78bf9515591d343386b2c1b79 Mon Sep 17 00:00:00 2001 From: szznax Date: Fri, 11 Dec 2009 00:47:06 +0000 Subject: [PATCH] Part of fix for [HER-1725] on engine page, 'create new job' form gives NPE * Engine.java made protected getProfileCxmlResource() for clear testability * EngineTest.java added testGetProfileCxmlResource() --- .../org/archive/crawler/framework/Engine.java | 17 +++++++++++++---- .../archive/crawler/framework/EngineTest.java | 11 +++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 engine/src/test/java/org/archive/crawler/framework/EngineTest.java diff --git a/engine/src/main/java/org/archive/crawler/framework/Engine.java b/engine/src/main/java/org/archive/crawler/framework/Engine.java index 48949a63..b63b22f2 100644 --- a/engine/src/main/java/org/archive/crawler/framework/Engine.java +++ b/engine/src/main/java/org/archive/crawler/framework/Engine.java @@ -55,7 +55,10 @@ public class Engine { protected File jobsDir; /** map of job short names -> CrawlJob instances */ protected HashMap jobConfigs = new HashMap(); - + + protected String profileCxmlPath = + "/org/archive/crawler/restlet/profile-crawler-beans.cxml"; + public Engine(File jobsDir) { this.jobsDir = jobsDir; this.jobsDir.mkdirs(); @@ -319,6 +322,13 @@ public class Engine { return false; } + /** + * @return InputStream resource from defined profile CXML path + */ + protected InputStream getProfileCxmlResource() { + return getClass().getResourceAsStream(profileCxmlPath); + } + public boolean createNewJobWithDefaults(String path) throws IOException { File newJobDir = new File(jobsDir,"/"+path); @@ -327,9 +337,8 @@ public class Engine { } newJobDir.mkdirs(); - // get crawler-beans template from this package into string - InputStream inStream = getClass().getResourceAsStream( - "/org/archive/crawler/restlet/profile-crawler-beans.cxml"); + // get crawler-beans template from this package into string + InputStream inStream = getProfileCxmlResource(); String defaultCxmlStr = IOUtils.toString(inStream); inStream.close(); diff --git a/engine/src/test/java/org/archive/crawler/framework/EngineTest.java b/engine/src/test/java/org/archive/crawler/framework/EngineTest.java new file mode 100644 index 00000000..a235a10b --- /dev/null +++ b/engine/src/test/java/org/archive/crawler/framework/EngineTest.java @@ -0,0 +1,11 @@ +package org.archive.crawler.framework; + +import org.archive.util.TmpDirTestCase; + +public class EngineTest extends TmpDirTestCase { + + public void testGetProfileCxmlResource() { + assertNotNull(new Engine(getTmpDir()).getProfileCxmlResource()); + } + +}