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);