You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ni...@apache.org on 2015/01/07 16:31:17 UTC

svn commit: r1650083 - /tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java

Author: nick
Date: Wed Jan  7 15:31:17 2015
New Revision: 1650083

URL: http://svn.apache.org/r1650083
Log:
Temporary workaround for the TIKA-1507 ForkParser / OGI issue

Modified:
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java

Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java?rev=1650083&r1=1650082&r2=1650083&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java Wed Jan  7 15:31:17 2015
@@ -114,9 +114,17 @@ public class TesseractOCRParser extends
       
       // Try running Tesseract from there, and see if it exists + works
       String[] checkCmd = { tesseract };
-      boolean hasTesseract = ExternalParser.check(checkCmd);
-      TESSERACT_PRESENT.put(tesseract, hasTesseract);
-      return hasTesseract;
+      try {
+          boolean hasTesseract = ExternalParser.check(checkCmd);
+          TESSERACT_PRESENT.put(tesseract, hasTesseract);
+          return hasTesseract;
+      } catch (NoClassDefFoundError e) {
+          // This happens under OSGi + Fork Parser - see TIKA-1507
+          // As a workaround for now, just say we can't use OCR
+          // TODO Resolve it so we don't need this try/catch block
+          TESSERACT_PRESENT.put(tesseract, false);
+          return false;
+      }
   }
 
   public void parse(Image image, ContentHandler handler, Metadata metadata, ParseContext context) throws IOException,