You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@any23.apache.org by ha...@apache.org on 2018/08/02 18:15:24 UTC
[2/3] any23 git commit: cleaned up annoying logging/console output
cleaned up annoying logging/console output
Project: http://git-wip-us.apache.org/repos/asf/any23/repo
Commit: http://git-wip-us.apache.org/repos/asf/any23/commit/159aeb48
Tree: http://git-wip-us.apache.org/repos/asf/any23/tree/159aeb48
Diff: http://git-wip-us.apache.org/repos/asf/any23/diff/159aeb48
Branch: refs/heads/master
Commit: 159aeb489473f600213142a746d39a49e3d3548b
Parents: 4e3011a
Author: Hans <fi...@gmail.com>
Authored: Thu Aug 2 12:46:44 2018 -0500
Committer: Hans <fi...@gmail.com>
Committed: Thu Aug 2 12:46:44 2018 -0500
----------------------------------------------------------------------
.../java/org/apache/any23/cli/BaseTool.java | 83 ++++++++++++++++++++
.../any23/cli/ExtractorDocumentation.java | 44 +++++++----
.../org/apache/any23/cli/MicrodataParser.java | 17 +++-
.../java/org/apache/any23/cli/MimeDetector.java | 17 +++-
.../org/apache/any23/cli/PluginVerifier.java | 18 ++++-
.../main/java/org/apache/any23/cli/Rover.java | 12 ++-
.../java/org/apache/any23/cli/ToolRunner.java | 13 ++-
.../java/org/apache/any23/cli/VocabPrinter.java | 18 ++++-
.../apache/any23/cli/MicrodataParserTest.java | 2 +-
.../org/apache/any23/cli/MimeDetectorTest.java | 4 +-
.../java/org/apache/any23/cli/RoverTest.java | 2 -
.../org/apache/any23/cli/SimpleRoverTest.java | 38 ++++-----
.../java/org/apache/any23/cli/ToolTestBase.java | 7 +-
.../org/apache/any23/cli/YAMLRoverTest.java | 9 ++-
.../extractor/SingleDocumentExtraction.java | 4 +-
.../html/AbstractExtractorTestCase.java | 11 ++-
.../extractor/rdfa/RDFa11ExtractorTest.java | 4 +-
.../apache/any23/vocab/RDFSchemaUtilsTest.java | 12 +--
.../officescraper/ExcelExtractorTest.java | 2 +-
19 files changed, 245 insertions(+), 72 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/main/java/org/apache/any23/cli/BaseTool.java
----------------------------------------------------------------------
diff --git a/cli/src/main/java/org/apache/any23/cli/BaseTool.java b/cli/src/main/java/org/apache/any23/cli/BaseTool.java
new file mode 100644
index 0000000..d9a82f5
--- /dev/null
+++ b/cli/src/main/java/org/apache/any23/cli/BaseTool.java
@@ -0,0 +1,83 @@
+package org.apache.any23.cli;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintStream;
+
+abstract class BaseTool implements Tool {
+
+ abstract PrintStream getOut();
+ abstract void setOut(PrintStream out);
+
+ void run(boolean concise) throws Exception {
+ PrintStream out = concise(getOut(), concise);
+ setOut(out);
+ try {
+ run();
+ } finally {
+ close(out);
+ }
+ }
+
+ private static void close(PrintStream stream) {
+ if (stream != null && stream != System.out && stream != System.err) {
+ try {
+ stream.close();
+ } catch (Throwable th) {
+ //ignore
+ }
+ }
+ }
+
+ private static PrintStream concise(PrintStream out, boolean concise) {
+ return (concise && (out == System.out || out == System.err)) ? new ConcisePrintStream(out)
+ : (out instanceof ConcisePrintStream ? ((ConcisePrintStream) out).out : out);
+ }
+
+ private static final class ConcisePrintStream extends PrintStream {
+
+ private PrintStream out;
+
+ private ConcisePrintStream(PrintStream out) {
+ super(new OutputStream() {
+ StringBuilder sb = new StringBuilder();
+ int lineCount;
+ boolean truncated = false;
+ @Override
+ public void write(int b) throws IOException {
+ if (sb == null) {
+ throw new IOException("stream closed");
+ }
+ if (b == '\n') {
+ lineCount++;
+ }
+ if (lineCount == 0 && sb.length() < 200) {
+ sb.append((char)b);
+ } else if (!Character.isWhitespace(b)) {
+ truncated = true;
+ }
+ }
+
+ @Override
+ public void close() {
+ if (sb == null) {
+ return;
+ }
+ if (truncated) {
+ sb.append("...");
+ }
+ if (lineCount > 1) {
+ sb.append("\n...\n[Suppressed ").append(lineCount).append(" lines of output.]");
+ }
+
+ out.println(sb);
+ sb = null;
+ BaseTool.close(out);
+ }
+ }, true);
+ this.out = out;
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/main/java/org/apache/any23/cli/ExtractorDocumentation.java
----------------------------------------------------------------------
diff --git a/cli/src/main/java/org/apache/any23/cli/ExtractorDocumentation.java b/cli/src/main/java/org/apache/any23/cli/ExtractorDocumentation.java
index f0fbeea..d531c2d 100644
--- a/cli/src/main/java/org/apache/any23/cli/ExtractorDocumentation.java
+++ b/cli/src/main/java/org/apache/any23/cli/ExtractorDocumentation.java
@@ -30,13 +30,14 @@ import org.apache.any23.extractor.ExtractorFactory;
import org.apache.any23.extractor.ExtractorRegistry;
import java.io.IOException;
+import java.io.PrintStream;
/**
* This class provides some command-line documentation
* about available extractors and their usage.
*/
@Parameters( commandNames = { "extractor" }, commandDescription= "Utility for obtaining documentation about metadata extractors.")
-public class ExtractorDocumentation implements Tool {
+public class ExtractorDocumentation extends BaseTool {
@Parameter( names = { "-l", "--list" }, description = "shows the names of all available extractors" )
private boolean showList;
@@ -50,6 +51,19 @@ public class ExtractorDocumentation implements Tool {
@Parameter( names = { "-a", "--all" }, description = "shows a report about all available extractors" )
private boolean showAll;
+ private PrintStream out = System.out;
+
+ @Override
+ PrintStream getOut() {
+ return out;
+ }
+
+ @Override
+ void setOut(PrintStream out) {
+ this.out = out;
+ }
+
+ @Override
public void run() throws Exception {
if (showList) {
printExtractorList(ExtractorRegistryImpl.getInstance());
@@ -78,7 +92,7 @@ public class ExtractorDocumentation implements Tool {
*/
public void printExtractorList(ExtractorRegistry registry) {
for (ExtractorFactory factory : registry.getExtractorGroup()) {
- System.out.println( String.format("%25s [%15s]", factory.getExtractorName(), factory.getExtractorLabel()));
+ out.println(String.format("%25s [%15s]", factory.getExtractorName(), factory.getExtractorLabel()));
}
}
@@ -97,7 +111,7 @@ public class ExtractorDocumentation implements Tool {
if (input == null) {
throw new IllegalArgumentException("Extractor " + extractorName + " provides no example input");
}
- System.out.println(input);
+ out.println(input);
}
/**
@@ -116,7 +130,7 @@ public class ExtractorDocumentation implements Tool {
if (output == null) {
throw new IllegalArgumentException("Extractor " + extractorName + " provides no example output");
}
- System.out.println(output);
+ out.println(output);
}
/**
@@ -131,21 +145,21 @@ public class ExtractorDocumentation implements Tool {
for (String extractorName : registry.getAllNames()) {
ExtractorFactory<?> factory = registry.getFactory(extractorName);
ExampleInputOutput example = new ExampleInputOutput(factory);
- System.out.println("Extractor: " + extractorName);
- System.out.println("\ttype: " + getType(factory));
- System.out.println();
+ out.println("Extractor: " + extractorName);
+ out.println("\ttype: " + getType(factory));
+ out.println();
final String exampleInput = example.getExampleInput();
- if(exampleInput == null) {
- System.out.println("(No Example Available)");
+ if (exampleInput == null) {
+ out.println("(No Example Available)");
} else {
- System.out.println("-------- Example Input --------");
- System.out.println(exampleInput);
- System.out.println("-------- Example Output --------");
+ out.println("-------- Example Input --------");
+ out.println(exampleInput);
+ out.println("-------- Example Output --------");
String output = example.getExampleOutput();
- System.out.println(output == null || output.trim().length() == 0 ? "(No Output Generated)" : output);
+ out.println(output == null || output.trim().length() == 0 ? "(No Output Generated)" : output);
}
- System.out.println("================================");
- System.out.println();
+ out.println("================================");
+ out.println();
}
}
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/main/java/org/apache/any23/cli/MicrodataParser.java
----------------------------------------------------------------------
diff --git a/cli/src/main/java/org/apache/any23/cli/MicrodataParser.java b/cli/src/main/java/org/apache/any23/cli/MicrodataParser.java
index 19c59bf..8655c5a 100644
--- a/cli/src/main/java/org/apache/any23/cli/MicrodataParser.java
+++ b/cli/src/main/java/org/apache/any23/cli/MicrodataParser.java
@@ -30,6 +30,7 @@ import org.apache.any23.util.StreamUtils;
import java.io.File;
import java.io.InputStream;
+import java.io.PrintStream;
import java.net.URISyntaxException;
import java.util.LinkedList;
import java.util.List;
@@ -44,7 +45,7 @@ import java.util.regex.Pattern;
* @author Michele Mostarda (mostarda@fbk.eu)
*/
@Parameters( commandNames = { "microdata" }, commandDescription = "Commandline Tool for extracting Microdata from file/HTTP source.")
-public class MicrodataParser implements Tool {
+public class MicrodataParser extends BaseTool {
private static final Pattern HTTP_DOCUMENT_PATTERN = Pattern.compile("^https?://.*");
@@ -57,6 +58,18 @@ public class MicrodataParser implements Tool {
)
private List<DocumentSource> document = new LinkedList<DocumentSource>();
+ private PrintStream out = System.out;
+
+ @Override
+ PrintStream getOut() {
+ return out;
+ }
+
+ @Override
+ void setOut(PrintStream out) {
+ this.out = out;
+ }
+
public void run() throws Exception {
if (document.isEmpty()) {
throw new IllegalArgumentException("No input document URL specified");
@@ -69,7 +82,7 @@ public class MicrodataParser implements Tool {
documentInputInputStream,
documentSource.getDocumentIRI()
);
- org.apache.any23.extractor.microdata.MicrodataParser.getMicrodataAsJSON(tagSoupParser.getDOM(), System.out);
+ org.apache.any23.extractor.microdata.MicrodataParser.getMicrodataAsJSON(tagSoupParser.getDOM(), out);
} finally {
if (documentInputInputStream != null) StreamUtils.closeGracefully(documentInputInputStream);
}
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/main/java/org/apache/any23/cli/MimeDetector.java
----------------------------------------------------------------------
diff --git a/cli/src/main/java/org/apache/any23/cli/MimeDetector.java b/cli/src/main/java/org/apache/any23/cli/MimeDetector.java
index c9072cb..d4ec916 100644
--- a/cli/src/main/java/org/apache/any23/cli/MimeDetector.java
+++ b/cli/src/main/java/org/apache/any23/cli/MimeDetector.java
@@ -32,6 +32,7 @@ import org.apache.any23.source.HTTPDocumentSource;
import org.apache.any23.source.StringDocumentSource;
import java.io.File;
+import java.io.PrintStream;
import java.net.URISyntaxException;
import java.util.LinkedList;
import java.util.List;
@@ -44,7 +45,7 @@ import java.util.List;
* @author Michele Mostarda (mostarda@fbk.eu)
*/
@Parameters(commandNames = { "mimes" }, commandDescription = "MIME Type Detector Tool.")
-public class MimeDetector implements Tool{
+public class MimeDetector extends BaseTool {
public static final String FILE_DOCUMENT_PREFIX = "file://";
@@ -59,6 +60,18 @@ public class MimeDetector implements Tool{
)
private List<DocumentSource> document = new LinkedList<DocumentSource>();
+ private PrintStream out = System.out;
+
+ @Override
+ PrintStream getOut() {
+ return out;
+ }
+
+ @Override
+ void setOut(PrintStream out) {
+ this.out = out;
+ }
+
public void run() throws Exception {
if (document.isEmpty()) {
throw new IllegalArgumentException("No input document URL specified");
@@ -71,7 +84,7 @@ public class MimeDetector implements Tool{
documentSource.openInputStream(),
MIMEType.parse(documentSource.getContentType())
);
- System.out.println(mimeType);
+ out.println(mimeType);
}
public static final class MimeDetectorDocumentSourceConverter implements IStringConverter<DocumentSource> {
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/main/java/org/apache/any23/cli/PluginVerifier.java
----------------------------------------------------------------------
diff --git a/cli/src/main/java/org/apache/any23/cli/PluginVerifier.java b/cli/src/main/java/org/apache/any23/cli/PluginVerifier.java
index a43065d..ae0868b 100644
--- a/cli/src/main/java/org/apache/any23/cli/PluginVerifier.java
+++ b/cli/src/main/java/org/apache/any23/cli/PluginVerifier.java
@@ -38,7 +38,7 @@ import java.util.List;
* @author Michele Mostarda (mostarda@fbk.eu)
*/
@Parameters(commandNames = { "verify" }, commandDescription = "Utility for plugin management verification.")
-public class PluginVerifier implements Tool {
+public class PluginVerifier extends BaseTool {
private Any23PluginManager pluginManager = Any23PluginManager.getInstance();
@@ -48,6 +48,18 @@ public class PluginVerifier implements Tool {
)
private List<File> pluginsDirs = new LinkedList<>();
+ private PrintStream out = System.out;
+
+ @Override
+ PrintStream getOut() {
+ return out;
+ }
+
+ @Override
+ void setOut(PrintStream out) {
+ this.out = out;
+ }
+
public void run() throws Exception {
if (pluginsDirs.isEmpty()) {
throw new IllegalArgumentException("No plugin directory specified.");
@@ -63,8 +75,8 @@ public class PluginVerifier implements Tool {
final Iterator<ExtractorFactory> plugins = pluginManager.getExtractors();
while (plugins.hasNext()) {
- printPluginData(plugins.next(), System.out);
- System.out.println("------------------------------------------------------------------------");
+ printPluginData(plugins.next(), out);
+ out.println("------------------------------------------------------------------------");
}
}
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/main/java/org/apache/any23/cli/Rover.java
----------------------------------------------------------------------
diff --git a/cli/src/main/java/org/apache/any23/cli/Rover.java b/cli/src/main/java/org/apache/any23/cli/Rover.java
index 18f0c06..5b49b39 100644
--- a/cli/src/main/java/org/apache/any23/cli/Rover.java
+++ b/cli/src/main/java/org/apache/any23/cli/Rover.java
@@ -59,7 +59,7 @@ import static java.lang.String.format;
* @author Gabriele Renzi
*/
@Parameters(commandNames = { "rover" }, commandDescription = "Any23 Command Line Tool.")
-public class Rover implements Tool {
+public class Rover extends BaseTool {
private static final List<String> FORMATS = WriterFactoryRegistry.getInstance().getIdentifiers();
@@ -117,6 +117,16 @@ public class Rover implements Tool {
private ExtractionParameters extractionParameters;
+ @Override
+ PrintStream getOut() {
+ return outputStream;
+ }
+
+ @Override
+ void setOut(PrintStream out) {
+ outputStream = out;
+ }
+
protected void configure() {
try {
tripleHandler = WriterFactoryRegistry.getInstance().getWriterInstanceByIdentifier(format, outputStream);
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/main/java/org/apache/any23/cli/ToolRunner.java
----------------------------------------------------------------------
diff --git a/cli/src/main/java/org/apache/any23/cli/ToolRunner.java b/cli/src/main/java/org/apache/any23/cli/ToolRunner.java
index b875ec7..a19ecf1 100644
--- a/cli/src/main/java/org/apache/any23/cli/ToolRunner.java
+++ b/cli/src/main/java/org/apache/any23/cli/ToolRunner.java
@@ -69,7 +69,11 @@ public final class ToolRunner {
exit( new ToolRunner().execute( args ) );
}
- public int execute(String...args) throws Exception {
+ public int execute(String... args) throws Exception {
+ return execute(false, args);
+ }
+
+ int execute(boolean concise, String... args) throws Exception {
JCommander commander = new JCommander(this);
commander.setProgramName(System.getProperty("app.name"));
@@ -133,7 +137,12 @@ public final class ToolRunner {
infoStream.println();
try {
- Tool.class.cast( commands.get( parsedCommand ).getObjects().get( 0 ) ).run();
+ Tool tool = Tool.class.cast(commands.get(parsedCommand).getObjects().get(0));
+ if (tool instanceof BaseTool) {
+ ((BaseTool) tool).run(concise);
+ } else {
+ tool.run();
+ }
} catch (Throwable t) {
exit = 1;
error = t;
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/main/java/org/apache/any23/cli/VocabPrinter.java
----------------------------------------------------------------------
diff --git a/cli/src/main/java/org/apache/any23/cli/VocabPrinter.java b/cli/src/main/java/org/apache/any23/cli/VocabPrinter.java
index 7fde887..f3126af 100644
--- a/cli/src/main/java/org/apache/any23/cli/VocabPrinter.java
+++ b/cli/src/main/java/org/apache/any23/cli/VocabPrinter.java
@@ -26,19 +26,33 @@ import com.beust.jcommander.IStringConverter;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
+import java.io.PrintStream;
+
/**
* Prints out the vocabulary <i>RDFSchema</i> as <i>NQuads</i>.
*
* @author Michele Mostarda (mostarda@fbk.eu)
*/
@Parameters(commandNames = { "vocab" }, commandDescription = "Prints out the RDF Schema of the vocabularies used by Any23.")
-public class VocabPrinter implements Tool {
+public class VocabPrinter extends BaseTool {
@Parameter(names = { "-f", "--format" }, description = "Vocabulary output format", converter = RDFFormatConverter.class)
private RDFFormat format = RDFFormat.NQUADS;
+ private PrintStream out = System.out;
+
+ @Override
+ PrintStream getOut() {
+ return out;
+ }
+
+ @Override
+ void setOut(PrintStream out) {
+ this.out = out;
+ }
+
public void run() throws Exception {
- RDFSchemaUtils.serializeVocabularies(format, System.out);
+ RDFSchemaUtils.serializeVocabularies(format, out);
}
public static final class RDFFormatConverter implements
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/test/java/org/apache/any23/cli/MicrodataParserTest.java
----------------------------------------------------------------------
diff --git a/cli/src/test/java/org/apache/any23/cli/MicrodataParserTest.java b/cli/src/test/java/org/apache/any23/cli/MicrodataParserTest.java
index 2f46aaa..e0a1123 100644
--- a/cli/src/test/java/org/apache/any23/cli/MicrodataParserTest.java
+++ b/cli/src/test/java/org/apache/any23/cli/MicrodataParserTest.java
@@ -32,7 +32,7 @@ public class MicrodataParserTest extends ToolTestBase {
@Test
public void testRunOnFile() throws Exception {
- runToolCheckExit0("file:"+copyResourceToTempFile("/microdata/microdata-nested.html").getAbsolutePath());
+ runToolCheckExit0("file:" + copyResourceToTempFile("/microdata/microdata-nested.html").getAbsolutePath());
}
@Test
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/test/java/org/apache/any23/cli/MimeDetectorTest.java
----------------------------------------------------------------------
diff --git a/cli/src/test/java/org/apache/any23/cli/MimeDetectorTest.java b/cli/src/test/java/org/apache/any23/cli/MimeDetectorTest.java
index 3894d32..46b65da 100644
--- a/cli/src/test/java/org/apache/any23/cli/MimeDetectorTest.java
+++ b/cli/src/test/java/org/apache/any23/cli/MimeDetectorTest.java
@@ -39,13 +39,13 @@ public class MimeDetectorTest extends ToolTestBase {
@Test
public void testDetectFile() throws Exception {
assumeOnlineAllowed();
- runToolCheckExit0("file://"+copyResourceToTempFile("/application/trix/test1.trx").getAbsolutePath());
+ runToolCheckExit0("file://" + copyResourceToTempFile("/application/trix/test1.trx").getAbsolutePath());
}
@Test
public void testDetectInline() throws Exception {
assumeOnlineAllowed();
- runToolCheckExit0( new String[] {"inline://<http://s> <http://p> <http://o> ."} );
+ runToolCheckExit0("inline://<http://s> <http://p> <http://o> .");
}
}
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/test/java/org/apache/any23/cli/RoverTest.java
----------------------------------------------------------------------
diff --git a/cli/src/test/java/org/apache/any23/cli/RoverTest.java b/cli/src/test/java/org/apache/any23/cli/RoverTest.java
index 7bab314..15054e4 100644
--- a/cli/src/test/java/org/apache/any23/cli/RoverTest.java
+++ b/cli/src/test/java/org/apache/any23/cli/RoverTest.java
@@ -28,7 +28,6 @@ import org.eclipse.rdf4j.model.Statement;
import org.eclipse.rdf4j.rio.RDFFormat;
import java.io.File;
-import java.util.Arrays;
/**
* Test case for {@link Rover}.
@@ -130,7 +129,6 @@ public class RoverTest extends ToolTestBase {
final String outNQuads = FileUtils.readFileContent(outFile);
final Statement[] statements = RDFUtils.parseRDF(RDFFormat.NQUADS, outNQuads);
- System.out.println(Arrays.toString(statements));
Assert.assertTrue("Unexpected number of statements.", statements.length > 9);
}
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/test/java/org/apache/any23/cli/SimpleRoverTest.java
----------------------------------------------------------------------
diff --git a/cli/src/test/java/org/apache/any23/cli/SimpleRoverTest.java b/cli/src/test/java/org/apache/any23/cli/SimpleRoverTest.java
index ec75022..587dda7 100644
--- a/cli/src/test/java/org/apache/any23/cli/SimpleRoverTest.java
+++ b/cli/src/test/java/org/apache/any23/cli/SimpleRoverTest.java
@@ -16,12 +16,13 @@
*/
package org.apache.any23.cli;
-import com.google.common.io.Files;
import java.io.File;
+import java.lang.invoke.MethodHandles;
+import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Collection;
-import org.apache.any23.util.FileUtils;
-import org.apache.pdfbox.util.Charsets;
+
+import org.apache.commons.io.FileUtils;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -38,7 +39,7 @@ import org.slf4j.LoggerFactory;
public class SimpleRoverTest extends ToolTestBase {
private static final String baseUri = "urn:test";
- private static final Logger log = LoggerFactory.getLogger(SimpleRoverTest.class);
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private String filePath;
@@ -57,8 +58,7 @@ public class SimpleRoverTest extends ToolTestBase {
}
/**
- * Ref {@link https://issues.apache.org/jira/browse/ANY23-310} unit test.
- * @throws Exception
+ * Ref <a href="https://issues.apache.org/jira/browse/ANY23-310">ANY23-310</a> unit test.
*/
@Test
public void ref310Test()
@@ -75,20 +75,23 @@ public class SimpleRoverTest extends ToolTestBase {
Assert.assertTrue(logfile.exists());
Assert.assertTrue(outputFile.exists());
// check if output file is longer than 10 chracters
- String outputFileContent = FileUtils.readFileContent(outputFile);
+ String outputFileContent = FileUtils.readFileToString(outputFile, StandardCharsets.UTF_8);
Assert.assertTrue(outputFileContent.length() > 10);
- String[] logFileContent = FileUtils.readFileLines(logfile);
- Assert.assertTrue(logFileContent.length == 2);
+ String[] logFileContent = FileUtils.readLines(logfile, StandardCharsets.UTF_8).toArray(new String[0]);
+ Assert.assertEquals(2, logFileContent.length);
//Assert.assertTrue(logFileContent[1].split("\\W*")[1] == );
int contentSize = Integer.valueOf(logFileContent[1].split("\\t")[1]);
- log.info("Content: '{}'", contentSize);
String extractors = logFileContent[1].split("\\t")[4].replaceAll("[\\[\\]\\s:\\d]", "");
- log.info("Extractors: '{}'", extractors);
-
-
- log.debug("Log file location: {}", logfile.getAbsolutePath());
- log.trace("Log file content: \n{}\n", Files.toString(logfile, Charsets.UTF_8));
+
+ if (log.isDebugEnabled()) {
+ log.debug("Content: '{}'", contentSize);
+ log.debug("Extractors: '{}'", extractors);
+ log.debug("Log file location: {}", logfile.getAbsolutePath());
+ }
+ if (log.isTraceEnabled()) {
+ log.trace("Log file content: \n{}\n", FileUtils.readFileToString(logfile, StandardCharsets.UTF_8));
+ }
Assert.assertTrue("Content size should be greated than 0", contentSize > 0);
Assert.assertFalse(extractors.isEmpty());
@@ -96,12 +99,11 @@ public class SimpleRoverTest extends ToolTestBase {
}
/**
- * Ref {@link https://issues.apache.org/jira/browse/ANY23-310} unit test.
+ * Ref <a href="https://issues.apache.org/jira/browse/ANY23-310">ANY23-310</a> unit test.
*
* Example without the logging file.
*
* By default that test is not active. It might be useful for debugging.
- * @throws Exception
*/
@Test
public void ref310ExtendedTest()
@@ -115,7 +117,7 @@ public class SimpleRoverTest extends ToolTestBase {
Assert.assertTrue(outputFile.exists());
// check if output file is longer than 10 chracters
- String outputFileContent = FileUtils.readFileContent(outputFile);
+ String outputFileContent = FileUtils.readFileToString(outputFile, StandardCharsets.UTF_8);
Assert.assertTrue(outputFileContent.length() > 10);
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/test/java/org/apache/any23/cli/ToolTestBase.java
----------------------------------------------------------------------
diff --git a/cli/src/test/java/org/apache/any23/cli/ToolTestBase.java b/cli/src/test/java/org/apache/any23/cli/ToolTestBase.java
index fef49cd..a815315 100644
--- a/cli/src/test/java/org/apache/any23/cli/ToolTestBase.java
+++ b/cli/src/test/java/org/apache/any23/cli/ToolTestBase.java
@@ -21,6 +21,7 @@ import com.beust.jcommander.Parameters;
import org.apache.any23.Any23OnlineTestBase;
import java.util.Arrays;
+import java.util.Objects;
import static java.lang.String.format;
import static org.junit.Assert.assertEquals;
@@ -30,7 +31,6 @@ import static org.junit.Assert.assertEquals;
*
* @author Michele Mostarda (mostarda@fbk.eu)
*/
-// TODO: improve support for Tool testing, intercept i/o streams.
public abstract class ToolTestBase extends Any23OnlineTestBase {
public static final String TOOL_RUN_METHOD = "run";
@@ -38,8 +38,7 @@ public abstract class ToolTestBase extends Any23OnlineTestBase {
private final Class<? extends Tool> toolClazz;
protected ToolTestBase(Class<? extends Tool> tool) {
- if (tool == null) throw new NullPointerException();
- toolClazz = tool;
+ toolClazz = Objects.requireNonNull(tool, "Tool class cannot be null.");
}
/**
@@ -56,7 +55,7 @@ public abstract class ToolTestBase extends Any23OnlineTestBase {
enhancedArgs[0] = commandName;
System.arraycopy( args, 0, enhancedArgs, 1, args.length );
- return new ToolRunner().execute( enhancedArgs );
+ return new ToolRunner().execute(true, enhancedArgs);
}
/**
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/cli/src/test/java/org/apache/any23/cli/YAMLRoverTest.java
----------------------------------------------------------------------
diff --git a/cli/src/test/java/org/apache/any23/cli/YAMLRoverTest.java b/cli/src/test/java/org/apache/any23/cli/YAMLRoverTest.java
index f559f67..6024110 100644
--- a/cli/src/test/java/org/apache/any23/cli/YAMLRoverTest.java
+++ b/cli/src/test/java/org/apache/any23/cli/YAMLRoverTest.java
@@ -16,10 +16,11 @@
*/
package org.apache.any23.cli;
-import com.google.common.io.Files;
import java.io.File;
import java.io.IOException;
-import org.apache.pdfbox.util.Charsets;
+import java.nio.charset.StandardCharsets;
+
+import org.apache.commons.io.FileUtils;
import org.junit.Assert;
import org.junit.Test;
import org.slf4j.Logger;
@@ -56,7 +57,7 @@ public class YAMLRoverTest extends ToolTestBase {
Assert.assertTrue(logfile.exists());
log.debug("Log file location: {}", logfile.getAbsolutePath());
- log.info("Log file content: \n{}\n", Files.toString(logfile, Charsets.UTF_8));
+ log.debug("Log file content: \n{}\n", FileUtils.readFileToString(logfile, StandardCharsets.UTF_8));
Assert.assertEquals("Unexpected exit code.", 0, exitCode);
assertFileContainsString(outputFile, baseUri);
@@ -72,7 +73,7 @@ public class YAMLRoverTest extends ToolTestBase {
* @return
*/
public void assertFileContainsString(File f, String s) throws IOException {
- String fileContent = Files.toString(f, Charsets.UTF_8);
+ String fileContent = FileUtils.readFileToString(f, StandardCharsets.UTF_8);
log.trace("File content: \n{}\n", fileContent);
Assert.assertTrue(fileContent.contains(s));
}
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/core/src/main/java/org/apache/any23/extractor/SingleDocumentExtraction.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/any23/extractor/SingleDocumentExtraction.java b/core/src/main/java/org/apache/any23/extractor/SingleDocumentExtraction.java
index 028b518..77ed28c 100644
--- a/core/src/main/java/org/apache/any23/extractor/SingleDocumentExtraction.java
+++ b/core/src/main/java/org/apache/any23/extractor/SingleDocumentExtraction.java
@@ -218,8 +218,8 @@ public class SingleDocumentExtraction {
} catch (Exception ex) {
throw new IllegalArgumentException("Invalid IRI: " + in.getDocumentIRI(), ex);
}
- if(log.isInfoEnabled()) {
- log.info("Processing " + this.documentIRI);
+ if (log.isDebugEnabled()) {
+ log.debug("Processing " + this.documentIRI);
}
filterExtractorsByMIMEType();
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/core/src/test/java/org/apache/any23/extractor/html/AbstractExtractorTestCase.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/any23/extractor/html/AbstractExtractorTestCase.java b/core/src/test/java/org/apache/any23/extractor/html/AbstractExtractorTestCase.java
index f04d59f..d9e0fe5 100644
--- a/core/src/test/java/org/apache/any23/extractor/html/AbstractExtractorTestCase.java
+++ b/core/src/test/java/org/apache/any23/extractor/html/AbstractExtractorTestCase.java
@@ -48,9 +48,12 @@ import org.eclipse.rdf4j.rio.RDFParseException;
import org.eclipse.rdf4j.rio.Rio;
import org.eclipse.rdf4j.sail.Sail;
import org.eclipse.rdf4j.sail.memory.MemoryStore;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.io.StringWriter;
+import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -63,6 +66,8 @@ import java.util.Map;
*/
public abstract class AbstractExtractorTestCase extends AbstractAny23TestBase {
+ private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+
/**
* Base test document.
*/
@@ -363,11 +368,11 @@ public abstract class AbstractExtractorTestCase extends AbstractAny23TestBase {
for (Map.Entry<String, Collection<IssueReport.Issue>> entry : report
.getExtractorToIssues().entrySet()) {
if (entry.getValue().size() > 0) {
- System.out.println("Unexpected issue for extractor " + entry.getKey()
+ log.debug("Unexpected issue for extractor " + entry.getKey()
+ " : " + entry.getValue());
}
- for(Issue nextIssue : entry.getValue()) {
- if(nextIssue.getLevel() == IssueLevel.ERROR || nextIssue.getLevel() == IssueLevel.FATAL) {
+ for (Issue nextIssue : entry.getValue()) {
+ if (nextIssue.getLevel() == IssueLevel.ERROR || nextIssue.getLevel() == IssueLevel.FATAL) {
Assert.fail("Unexpected issue for extractor " + entry.getKey()
+ " : " + entry.getValue());
}
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/core/src/test/java/org/apache/any23/extractor/rdfa/RDFa11ExtractorTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/any23/extractor/rdfa/RDFa11ExtractorTest.java b/core/src/test/java/org/apache/any23/extractor/rdfa/RDFa11ExtractorTest.java
index c3d7fd5..1bc63d4 100644
--- a/core/src/test/java/org/apache/any23/extractor/rdfa/RDFa11ExtractorTest.java
+++ b/core/src/test/java/org/apache/any23/extractor/rdfa/RDFa11ExtractorTest.java
@@ -292,7 +292,7 @@ public class RDFa11ExtractorTest extends AbstractRDFaExtractorTestCase {
@Test
public void testOpenGraphStructuredProperties() throws IOException, ExtractionException, RepositoryException {
assertExtract("/html/rdfa/opengraph-structured-properties.html");
- logger.info( dumpHumanReadableTriples() );
+ logger.debug(dumpHumanReadableTriples());
Assert.assertEquals(31, getStatementsSize(null, null, null) );
final OGP vOGP = OGP.getInstance();
@@ -328,7 +328,7 @@ public class RDFa11ExtractorTest extends AbstractRDFaExtractorTestCase {
@Test
public void testOpenGraphAlternateObjectTypes() throws IOException, ExtractionException, RepositoryException {
assertExtract("/html/rdfa/opengraph-music-song-object-type.html");
- logger.info( dumpHumanReadableTriples() );
+ logger.debug(dumpHumanReadableTriples());
Assert.assertEquals(9, getStatementsSize(null, null, null) );
final OGPMusic vOGPMusic = OGPMusic.getInstance();
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/core/src/test/java/org/apache/any23/vocab/RDFSchemaUtilsTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/any23/vocab/RDFSchemaUtilsTest.java b/core/src/test/java/org/apache/any23/vocab/RDFSchemaUtilsTest.java
index c56641a..d8fd8d5 100644
--- a/core/src/test/java/org/apache/any23/vocab/RDFSchemaUtilsTest.java
+++ b/core/src/test/java/org/apache/any23/vocab/RDFSchemaUtilsTest.java
@@ -39,7 +39,7 @@ public class RDFSchemaUtilsTest {
/**
* Test case for
* {@link RDFSchemaUtils#serializeVocabularies(
- * org.apache.any23.vocab.RDFSchemaUtils.VocabularyFormat, java.io.PrintStream)} with <i>NTriples</i> format.
+ * org.eclipse.rdf4j.rio.RDFFormat, java.io.PrintStream)} with <i>NTriples</i> format.
*/
@Test
public void testSerializeVocabulariesNTriples() {
@@ -49,7 +49,7 @@ public class RDFSchemaUtilsTest {
/**
* Test case for
* {@link RDFSchemaUtils#serializeVocabularies(
- * org.apache.any23.vocab.RDFSchemaUtils.VocabularyFormat, java.io.PrintStream)} with <i>RDFXML</i> format.
+ * org.eclipse.rdf4j.rio.RDFFormat, java.io.PrintStream)} with <i>RDFXML</i> format.
*/
@Test
public void testSerializeVocabulariesRDFXML() {
@@ -58,12 +58,12 @@ public class RDFSchemaUtilsTest {
private void serializeVocabularies(RDFFormat format, int expectedLines) {
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
- final PrintStream ps = new PrintStream(baos);
- RDFSchemaUtils.serializeVocabularies(format, ps);
- ps.close();
+ try (PrintStream ps = new PrintStream(baos)) {
+ RDFSchemaUtils.serializeVocabularies(format, ps);
+ }
final String output = baos.toString();
logger.debug(output);
- final int occurrences= StringUtils.countOccurrences(output, "\n");
+ final int occurrences = StringUtils.countOccurrences(output, "\n");
Assert.assertEquals(expectedLines, occurrences);
}
http://git-wip-us.apache.org/repos/asf/any23/blob/159aeb48/plugins/office-scraper/src/test/java/org/apache/any23/plugin/officescraper/ExcelExtractorTest.java
----------------------------------------------------------------------
diff --git a/plugins/office-scraper/src/test/java/org/apache/any23/plugin/officescraper/ExcelExtractorTest.java b/plugins/office-scraper/src/test/java/org/apache/any23/plugin/officescraper/ExcelExtractorTest.java
index 86a16fe..3edebbf 100644
--- a/plugins/office-scraper/src/test/java/org/apache/any23/plugin/officescraper/ExcelExtractorTest.java
+++ b/plugins/office-scraper/src/test/java/org/apache/any23/plugin/officescraper/ExcelExtractorTest.java
@@ -94,7 +94,7 @@ public class ExcelExtractorTest {
);
extractor.run(extractionParameters, extractionContext, is, extractionResult);
compositeTripleHandler.close();
- logger.info(out.toString());
+ logger.debug(out.toString());
verifyPredicateOccurrence(verifierTripleHandler, Excel.getInstance().containsSheet, 2 );
verifyPredicateOccurrence(verifierTripleHandler, Excel.getInstance().containsRow , 6 );