From bbb5f2d6a1d76feec10e659ba7065a859baf4db2 Mon Sep 17 00:00:00 2001 From: pascal Christoph Date: Thu, 30 Jan 2014 14:56:25 +0100 Subject: [PATCH 1/2] Add catching exception and add logging --- .../org/culturegraph/mf/stream/source/FileOpener.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/culturegraph/mf/stream/source/FileOpener.java b/src/main/java/org/culturegraph/mf/stream/source/FileOpener.java index 9a3760694..208e584be 100644 --- a/src/main/java/org/culturegraph/mf/stream/source/FileOpener.java +++ b/src/main/java/org/culturegraph/mf/stream/source/FileOpener.java @@ -29,6 +29,8 @@ import org.culturegraph.mf.framework.annotations.In; import org.culturegraph.mf.framework.annotations.Out; import org.culturegraph.mf.util.FileCompression; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** @@ -44,7 +46,8 @@ public final class FileOpener extends DefaultObjectPipe Date: Fri, 31 Jan 2014 16:08:28 +0100 Subject: [PATCH 2/2] Move catch exception from FileOpener to DirReader * Add test * Revert catch exception in FileOpener * Add catch exception in DirReader --- .../mf/stream/source/DirReader.java | 11 +++- .../mf/stream/source/FileOpener.java | 10 +--- .../mf/stream/source/DirReaderTest.java | 51 +++++++++++++++++++ 3 files changed, 63 insertions(+), 9 deletions(-) create mode 100644 src/test/java/org/culturegraph/mf/stream/source/DirReaderTest.java diff --git a/src/main/java/org/culturegraph/mf/stream/source/DirReader.java b/src/main/java/org/culturegraph/mf/stream/source/DirReader.java index bd40a364b..91ea75331 100644 --- a/src/main/java/org/culturegraph/mf/stream/source/DirReader.java +++ b/src/main/java/org/culturegraph/mf/stream/source/DirReader.java @@ -17,11 +17,13 @@ import java.io.File; +import org.culturegraph.mf.exceptions.MetafactureException; import org.culturegraph.mf.framework.DefaultObjectPipe; import org.culturegraph.mf.framework.ObjectReceiver; import org.culturegraph.mf.framework.annotations.Description; import org.culturegraph.mf.framework.annotations.In; import org.culturegraph.mf.framework.annotations.Out; +import org.slf4j.LoggerFactory; /** * Reads a directory and emits all filenames found. @@ -58,7 +60,14 @@ private void dir(final File dir) { dir(file); } } else { - receiver.process(file.getAbsolutePath()); + try { + receiver.process(file.getAbsolutePath()); + } + catch (MetafactureException e) { + LoggerFactory.getLogger(DirReader.class) + .error("Problems with file '"+file+"'", e); + } + } } } diff --git a/src/main/java/org/culturegraph/mf/stream/source/FileOpener.java b/src/main/java/org/culturegraph/mf/stream/source/FileOpener.java index 208e584be..9a3760694 100644 --- a/src/main/java/org/culturegraph/mf/stream/source/FileOpener.java +++ b/src/main/java/org/culturegraph/mf/stream/source/FileOpener.java @@ -29,8 +29,6 @@ import org.culturegraph.mf.framework.annotations.In; import org.culturegraph.mf.framework.annotations.Out; import org.culturegraph.mf.util.FileCompression; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** @@ -46,8 +44,7 @@ public final class FileOpener extends DefaultObjectPipe("stdout")); + dirReader.setRecursive(true); + try { + dirReader.process(new File(Thread.currentThread().getContextClassLoader() + .getResource("./").toURI()).getAbsolutePath()); + } catch (URISyntaxException e) { + e.printStackTrace(); + } + opener.closeStream(); + } + +}