You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ti...@apache.org on 2024/02/20 14:24:56 UTC

(tika) 02/03: TIKA-4199: download element to disk because of problems with commons-compress 1.26.0; complete delegate class

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

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

commit de1b2bb1524ad319d0f2238c18ca150be9a1df01
Author: Tilman Hausherr <ti...@apache.org>
AuthorDate: Tue Feb 20 15:24:02 2024 +0100

    TIKA-4199: download element to disk because of problems with commons-compress 1.26.0; complete delegate class
---
 .../org/apache/tika/parser/pkg/PackageParser.java  | 44 ++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/PackageParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
index 3817f4cfb..623ed8875 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
@@ -29,6 +29,7 @@ import static org.apache.tika.detect.zip.PackageConstants.ZIP;
 import java.io.BufferedInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.OutputStream;
 import java.nio.charset.Charset;
 import java.util.Collections;
 import java.util.Date;
@@ -448,6 +449,7 @@ public class PackageParser extends AbstractEncodingDetectorParser {
                 TemporaryResources tmp = new TemporaryResources();
                 try {
                     TikaInputStream tis = TikaInputStream.get(archive, tmp, entrydata);
+                    tis.getPath(); // fixes troubles with commons-compress 1.26.0
                     extractor.parseEmbedded(tis, xhtml, entrydata, true);
                 } finally {
                     tmp.dispose();
@@ -517,6 +519,48 @@ public class PackageParser extends AbstractEncodingDetectorParser {
         public void close() throws IOException {
             file.close();
         }
+
+        @Override
+        public byte[] readAllBytes() throws IOException {
+            return in.readAllBytes();
+        }
+
+        @Override
+        public byte[] readNBytes(int len) throws IOException  {
+            return in.readNBytes(len);
+        }
+
+        @Override
+        public int readNBytes(byte[] b, int off, int len) throws IOException {
+            return in.readNBytes(b, off, len);
+        }
+
+        @Override
+        public long skip(long n) throws IOException {
+            return in.skip(n);
+        }
+
+        @Override
+        public int available() throws IOException {
+            return in.available();
+        }
+
+        @Override
+        public synchronized void mark(int readlimit) {
+            in.mark(readlimit);
+        }
+
+        @Override
+        public boolean markSupported() {
+            return in.markSupported();
+        }
+
+        @Override
+        public long transferTo(OutputStream out) throws IOException {
+            return in.transferTo(out);
+        }
+        
+        
     }
 
     /**