You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2017/02/23 20:54:53 UTC

[3/4] tika git commit: Check for HTMLParser/create a new one just once.

Check for HTMLParser/create a new one just once.


Project: http://git-wip-us.apache.org/repos/asf/tika/repo
Commit: http://git-wip-us.apache.org/repos/asf/tika/commit/6697dcdb
Tree: http://git-wip-us.apache.org/repos/asf/tika/tree/6697dcdb
Diff: http://git-wip-us.apache.org/repos/asf/tika/diff/6697dcdb

Branch: refs/heads/master
Commit: 6697dcdbc1fed64aa31c90a284d310ad80b72f20
Parents: 579a92b
Author: tballison <ta...@mitre.org>
Authored: Thu Feb 23 13:55:59 2017 -0500
Committer: tballison <ta...@mitre.org>
Committed: Thu Feb 23 13:55:59 2017 -0500

----------------------------------------------------------------------
 .../java/org/apache/tika/parser/chm/ChmParser.java    | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tika/blob/6697dcdb/tika-parsers/src/main/java/org/apache/tika/parser/chm/ChmParser.java
----------------------------------------------------------------------
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/chm/ChmParser.java b/tika-parsers/src/main/java/org/apache/tika/parser/chm/ChmParser.java
index ca268dc..819e67c 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/chm/ChmParser.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/chm/ChmParser.java
@@ -69,6 +69,11 @@ public class ChmParser extends AbstractParser {
         XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
         xhtml.startDocument();
 
+        Parser htmlParser = EmbeddedDocumentUtil.tryToFindExistingParser(MediaType.TEXT_HTML, context);
+        if (htmlParser == null) {
+            htmlParser = new HtmlParser();
+        }
+
         for (DirectoryListingEntry entry : chmExtractor.getChmDirList().getDirectoryListingEntryList()) {
             final String entryName = entry.getName();
             if (entryName.endsWith(".html") 
@@ -80,7 +85,7 @@ public class ChmParser extends AbstractParser {
                 
                 byte[] data = chmExtractor.extractChmEntry(entry);
 
-                parsePage(data, xhtml, context);
+                parsePage(data, htmlParser, xhtml, context);
                 
 //                xhtml.endElement("", "", "document");
             }
@@ -90,13 +95,10 @@ public class ChmParser extends AbstractParser {
     }
 
 
-    private void parsePage(byte[] byteObject, ContentHandler xhtml, ParseContext context) throws TikaException {// throws IOException
+    private void parsePage(byte[] byteObject, Parser htmlParser,
+                           ContentHandler xhtml, ParseContext context) throws TikaException {// throws IOException
         InputStream stream = null;
         Metadata metadata = new Metadata();
-        Parser htmlParser = EmbeddedDocumentUtil.tryToFindExistingParser(MediaType.TEXT_HTML, context);
-        if (htmlParser == null) {
-            htmlParser = new HtmlParser();
-        }
         ContentHandler handler = new EmbeddedContentHandler(new BodyContentHandler(xhtml));// -1
         try {
             stream = new ByteArrayInputStream(byteObject);