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 2021/07/01 16:53:19 UTC

[tika] branch main updated: improve diffs in handling EOF in Java 8 vs Java 11 in the AIFFReader.

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

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


The following commit(s) were added to refs/heads/main by this push:
     new c7fd0cb  improve diffs in handling EOF in Java 8 vs Java 11 in the AIFFReader.
c7fd0cb is described below

commit c7fd0cb2ac746b5b380570bc59a88f7e644c7aaa
Author: tallison <ta...@apache.org>
AuthorDate: Thu Jul 1 12:53:01 2021 -0400

    improve diffs in handling EOF in Java 8 vs Java 11 in the AIFFReader.
---
 .../src/main/java/org/apache/tika/parser/audio/AudioParser.java  | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/audio/AudioParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/audio/AudioParser.java
index 1e6f3d5..06fe0ac 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/audio/AudioParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/audio/AudioParser.java
@@ -38,6 +38,7 @@ import org.xml.sax.SAXException;
 
 import org.apache.tika.exception.TikaException;
 import org.apache.tika.metadata.Metadata;
+import org.apache.tika.metadata.TikaCoreProperties;
 import org.apache.tika.metadata.XMPDM;
 import org.apache.tika.mime.MediaType;
 import org.apache.tika.parser.AbstractParser;
@@ -51,6 +52,10 @@ public class AudioParser extends AbstractParser {
      */
     private static final long serialVersionUID = -6015684081240882695L;
 
+    private static final String UNSUPPORTED_AUDIO_FILE_EXCEPTION = "An " +
+            "UnsupportedAudioFileException was thrown.  This could mean that the underlying " +
+            "parser hit an EndOfFileException or that the file is unsupported. ¯\\_(ツ)_/¯";
+
     private static final Set<MediaType> SUPPORTED_TYPES = Collections.unmodifiableSet(
             new HashSet<>(
                     Arrays.asList(MediaType.audio("basic"), MediaType.audio("vnd.wave"),
@@ -120,6 +125,10 @@ public class AudioParser extends AbstractParser {
             // There is no way to know whether this exception was
             // caused by the document being corrupted or by the format
             // just being unsupported. So we do nothing.
+            // In Java 8, the AIFFReader throws an EOF, but
+            // in Java 11, that EOF is swallowed and an UAFE is thrown.
+            metadata.add(TikaCoreProperties.TIKA_META_EXCEPTION_WARNING,
+                    UNSUPPORTED_AUDIO_FILE_EXCEPTION);
         }
 
         XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);