You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ju...@apache.org on 2011/01/17 19:57:03 UTC
svn commit: r1060044 -
/tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
Author: jukka
Date: Mon Jan 17 18:57:03 2011
New Revision: 1060044
URL: http://svn.apache.org/viewvc?rev=1060044&view=rev
Log:
TIKA-416: Out-of-process text extraction
Add a --fork (or -f) option to Tika CLI for testing the fork mode.
Modified:
tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
Modified: tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java?rev=1060044&r1=1060043&r2=1060044&view=diff
==============================================================================
--- tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java (original)
+++ tika/trunk/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java Mon Jan 17 18:57:03 2011
@@ -43,6 +43,7 @@ import org.apache.tika.detect.DefaultDet
import org.apache.tika.detect.Detector;
import org.apache.tika.exception.TikaException;
import org.apache.tika.extractor.EmbeddedDocumentExtractor;
+import org.apache.tika.fork.ForkParser;
import org.apache.tika.gui.TikaGUI;
import org.apache.tika.io.CloseShieldInputStream;
import org.apache.tika.io.IOUtils;
@@ -86,7 +87,11 @@ public class TikaCLI {
private class OutputType {
public void process(InputStream stream) throws Exception {
- parser.parse(stream, getContentHandler(), metadata, context);
+ Parser p = parser;
+ if (fork) {
+ p = new ForkParser(TikaCLI.class.getClassLoader(), p);
+ }
+ p.parse(stream, getContentHandler(), metadata, context);
}
protected ContentHandler getContentHandler() throws Exception {
@@ -188,6 +193,8 @@ public class TikaCLI {
private boolean pipeMode = true;
+ private boolean fork = false;
+
public TikaCLI() throws TransformerConfigurationException, IOException, TikaException, SAXException {
context = new ParseContext();
detector = new DefaultDetector();
@@ -219,6 +226,8 @@ public class TikaCLI {
} else if (arg.equals("--container-aware")
|| arg.equals("--container-aware-detector")) {
// ignore, as container-aware detectors are now always used
+ } else if (arg.equals("-f") || arg.equals("--fork")) {
+ fork = true;
} else if (arg.startsWith("-e")) {
encoding = arg.substring("-e".length());
} else if (arg.startsWith("--encoding=")) {