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 2020/07/15 18:59:39 UTC

[tika] 02/05: TIKA-3135 -- no need to spool the file for the metadata extractor's HeifParser

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 5ecb3b925a6afa472b2ad44ab2b32ae253faa3fe
Author: tallison <ta...@apache.org>
AuthorDate: Wed Jul 15 13:34:54 2020 -0400

    TIKA-3135 -- no need to spool the file for the metadata extractor's HeifParser
---
 .../src/main/java/org/apache/tika/parser/image/HeifParser.java    | 8 +-------
 .../java/org/apache/tika/parser/image/ImageMetadataExtractor.java | 8 +++-----
 2 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/image/HeifParser.java b/tika-parsers/src/main/java/org/apache/tika/parser/image/HeifParser.java
index 9880d3c..8931c50 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/image/HeifParser.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/image/HeifParser.java
@@ -52,13 +52,7 @@ public class HeifParser extends AbstractParser {
 
     @Override
     public void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context) throws IOException, SAXException, TikaException {
-        TemporaryResources tmp = new TemporaryResources();
-        try {
-            TikaInputStream tis = TikaInputStream.get(stream, tmp);
-            new ImageMetadataExtractor(metadata).parseHeif(tis.getFile());
-        } finally {
-            tmp.dispose();
-        }
+        new ImageMetadataExtractor(metadata).parseHeif(stream);
 
         XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
         xhtml.startDocument();
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java b/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
index 1a57ce2..9e1bec3 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java
@@ -56,6 +56,7 @@ import com.drew.metadata.jpeg.JpegDirectory;
 import org.apache.jempbox.xmp.XMPMetadata;
 import org.apache.poi.util.IOUtils;
 import org.apache.tika.exception.TikaException;
+import org.apache.tika.io.TikaInputStream;
 import org.apache.tika.metadata.IPTC;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.metadata.Property;
@@ -156,13 +157,10 @@ public class ImageMetadataExtractor {
         }
     }
 
-    public void parseHeif(File file) throws IOException, TikaException {
+    public void parseHeif(InputStream is) throws IOException, TikaException {
         try {
-            com.drew.metadata.Metadata heifMetadata = new com.drew.metadata.Metadata();
-            heifMetadata = HeifMetadataReader.readMetadata(new FileInputStream(file));
+            com.drew.metadata.Metadata heifMetadata = HeifMetadataReader.readMetadata(is);
             handle(heifMetadata);
-        } catch (IOException e) {
-            throw e;
         } catch (MetadataException e) {
             throw new TikaException("Can't process Heif data", e);
         }