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 2019/12/17 12:26:01 UTC

[tika] 02/07: TIKA-3012 -- prevent the RFC822Parser from calling endDocument() when the document has not yet been ended.

This is an automated email from the ASF dual-hosted git repository.

tallison pushed a commit to branch branch_1x
in repository https://gitbox.apache.org/repos/asf/tika.git

commit a138a7968f42e1c70df5b3ce8e4ba50688c9ad4a
Author: tallison <ta...@apache.org>
AuthorDate: Mon Dec 16 14:14:13 2019 -0500

    TIKA-3012 -- prevent the RFC822Parser from calling endDocument()
    when the document has not yet been ended.
---
 .../java/org/apache/tika/parser/mail/MailContentHandler.java   | 10 ----------
 .../main/java/org/apache/tika/parser/mail/RFC822Parser.java    |  3 ++-
 .../java/org/apache/tika/parser/mail/RFC822ParserTest.java     |  8 ++++++++
 3 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java b/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
index 6bee05c..61607a2 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/mail/MailContentHandler.java
@@ -310,20 +310,10 @@ class MailContentHandler implements ContentHandler {
 
     @Override
     public void startMessage() throws MimeException {
-        try {
-            handler.startDocument();
-        } catch (SAXException e) {
-            throw new MimeException(e);
-        }
     }
 
     @Override
     public void endMessage() throws MimeException {
-        try {
-            handler.endDocument();
-        } catch (SAXException e) {
-            throw new MimeException(e);
-        }
     }
 
     @Override
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/mail/RFC822Parser.java b/tika-parsers/src/main/java/org/apache/tika/parser/mail/RFC822Parser.java
index ffc4d26..149b330 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/mail/RFC822Parser.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/mail/RFC822Parser.java
@@ -94,7 +94,7 @@ public class RFC822Parser extends AbstractParser {
                 extractAllAlternatives);
         parser.setContentHandler(mch);
         parser.setContentDecoding(true);
-        
+        xhtml.startDocument();
         TikaInputStream tstream = TikaInputStream.get(stream);
         try {
             parser.parse(tstream);
@@ -112,6 +112,7 @@ public class RFC822Parser extends AbstractParser {
                 throw new TikaException("Failed to parse an email message", e);
             }
         }
+        xhtml.endDocument();
     }
 
     /**
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
index 66a5309..411c608 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java
@@ -700,4 +700,12 @@ public class RFC822ParserTest extends TikaTest {
         assertEquals(1, metadataList.size());
         assertContains("asked", metadataList.get(0).get(RecursiveParserWrapperHandler.TIKA_CONTENT));
     }
+
+    @Test
+    public void testGroupwise() throws Exception {
+        //TODO -- this should treat attachments as attachments, no?
+        List<Metadata>  metadataList = getRecursiveMetadata("testGroupWiseEml.eml");
+        assertEquals(1, metadataList.size());
+        assertContains("ssssss", metadataList.get(0).get(AbstractRecursiveParserWrapperHandler.TIKA_CONTENT));
+    }
 }