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 <[email protected]>
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);
+        }
+        
+        
     }
 
     /**

Reply via email to