} catch (Throwable thr) {
mLog.error("Initializing preparator failed", thr);
}
mLog.info("Testing preparator " + prepName + "...");
Profiler profiler = new Profiler(prepName, "docs");
File typeDir = new File(docDir, fileType);
File prepOutputDir = new File(outputDir, prepName);
if (!prepOutputDir.exists()) {
if (!prepOutputDir.mkdir()) {
mLog.error("Could not create output dir: " + prepOutputDir.getAbsolutePath());
System.exit(1);
}
}
String sourceUrl = RegainToolkit.fileToUrl(typeDir);
File[] docFileArr = typeDir.listFiles();
if (docFileArr == null) {
mLog.info("No test docs for preparator " + prepName + " found in " + typeDir.getAbsolutePath());
return;
}
for (int i = 0; i < docFileArr.length; i++) {
if (docFileArr[i].isFile()) {
String url = RegainToolkit.fileToUrl(docFileArr[i]);
mLog.info("Preparing document: " + url);
try {
RawDocument doc = new RawDocument(url, sourceUrl, null, null);
profiler.startMeasuring();
String content;
try {
prep.prepare(doc);
content = prep.getCleanedContent();
prep.cleanUp();
profiler.stopMeasuring(docFileArr[i].length());
} catch (Throwable thr) {
profiler.abortMeasuring();
throw thr;
}
File outFile = new File(prepOutputDir, docFileArr[i].getName() + ".txt");
RegainToolkit.writeToFile(content, outFile);