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

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-compress.git

commit 3b8b8f4599dc40a463c6954010d20888821ef8b2
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Thu May 4 11:46:17 2023 -0400

    Reuse FilterInputStream
---
 .../archivers/zip/ZipArchiveInputStream.java       |  8 +++----
 .../utils/ChecksumCalculatingInputStream.java      | 26 +++++-----------------
 .../utils/ChecksumVerifyingInputStream.java        | 25 +++++----------------
 3 files changed, 14 insertions(+), 45 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java
 
b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java
index 6f34d61f..499bb6e5 100644
--- 
a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java
+++ 
b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java
@@ -26,6 +26,7 @@ import static 
org.apache.commons.compress.archivers.zip.ZipConstants.ZIP64_MAGIC
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.EOFException;
+import java.io.FilterInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.PushbackInputStream;
@@ -84,10 +85,7 @@ public class ZipArchiveInputStream extends 
ArchiveInputStream implements InputSt
     /**
      * Bounded input stream adapted from commons-io
      */
-    private class BoundedInputStream extends InputStream {
-
-        /** the wrapped input stream */
-        private final InputStream in;
+    private class BoundedInputStream extends FilterInputStream {
 
         /** the max length to provide */
         private final long max;
@@ -103,8 +101,8 @@ public class ZipArchiveInputStream extends 
ArchiveInputStream implements InputSt
          * @param size The maximum number of bytes to return
          */
         public BoundedInputStream(final InputStream in, final long size) {
+            super(in);
             this.max = size;
-            this.in = in;
         }
 
         @Override
diff --git 
a/src/main/java/org/apache/commons/compress/utils/ChecksumCalculatingInputStream.java
 
b/src/main/java/org/apache/commons/compress/utils/ChecksumCalculatingInputStream.java
index 8b1e55df..4ac65581 100644
--- 
a/src/main/java/org/apache/commons/compress/utils/ChecksumCalculatingInputStream.java
+++ 
b/src/main/java/org/apache/commons/compress/utils/ChecksumCalculatingInputStream.java
@@ -16,27 +16,24 @@
  */
 package org.apache.commons.compress.utils;
 
+import java.io.FilterInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Objects;
 import java.util.zip.Checksum;
 
 /**
- * A stream that calculates the checksum of the data read.
+ * Calculates the checksum of the data read.
+ *
  * @NotThreadSafe
  * @since 1.14
  */
-public class ChecksumCalculatingInputStream extends InputStream {
-    private final InputStream in;
+public class ChecksumCalculatingInputStream extends FilterInputStream {
     private final Checksum checksum;
 
     public ChecksumCalculatingInputStream(final Checksum checksum, final 
InputStream inputStream) {
-
-        Objects.requireNonNull(checksum, "checksum");
-        Objects.requireNonNull(inputStream, "inputStream");
-
-        this.checksum = checksum;
-        this.in = inputStream;
+        super(Objects.requireNonNull(inputStream, "inputStream"));
+        this.checksum = Objects.requireNonNull(checksum, "checksum");
     }
 
     /**
@@ -62,17 +59,6 @@ public class ChecksumCalculatingInputStream extends 
InputStream {
         return ret;
     }
 
-    /**
-     * Reads a byte array from the stream
-     * @throws IOException if the underlying stream throws or the
-     * stream is exhausted and the Checksum doesn't match the expected
-     * value
-     */
-    @Override
-    public int read(final byte[] b) throws IOException {
-        return read(b, 0, b.length);
-    }
-
     /**
      * Reads from the stream into a byte array.
      * @throws IOException if the underlying stream throws or the
diff --git 
a/src/main/java/org/apache/commons/compress/utils/ChecksumVerifyingInputStream.java
 
b/src/main/java/org/apache/commons/compress/utils/ChecksumVerifyingInputStream.java
index cf13e78b..f0f1793c 100644
--- 
a/src/main/java/org/apache/commons/compress/utils/ChecksumVerifyingInputStream.java
+++ 
b/src/main/java/org/apache/commons/compress/utils/ChecksumVerifyingInputStream.java
@@ -16,19 +16,20 @@
  */
 package org.apache.commons.compress.utils;
 
+import java.io.FilterInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.zip.Checksum;
 
 /**
- * A stream that verifies the checksum of the data read once the stream is
+ * Verifies the checksum of the data read once the stream is
  * exhausted.
+ *
  * @NotThreadSafe
  * @since 1.7
  */
-public class ChecksumVerifyingInputStream extends InputStream {
+public class ChecksumVerifyingInputStream extends FilterInputStream {
 
-    private final InputStream in;
     private long bytesRemaining;
     private final long expectedChecksum;
     private final Checksum checksum;
@@ -43,17 +44,12 @@ public class ChecksumVerifyingInputStream extends 
InputStream {
      */
     public ChecksumVerifyingInputStream(final Checksum checksum, final 
InputStream in,
                                         final long size, final long 
expectedChecksum) {
+        super(in);
         this.checksum = checksum;
-        this.in = in;
         this.expectedChecksum = expectedChecksum;
         this.bytesRemaining = size;
     }
 
-    @Override
-    public void close() throws IOException {
-        in.close();
-    }
-
     /**
      * @return bytes remaining to read
      * @since 1.21
@@ -82,17 +78,6 @@ public class ChecksumVerifyingInputStream extends 
InputStream {
         return ret;
     }
 
-    /**
-     * Reads a byte array from the stream
-     * @throws IOException if the underlying stream throws or the
-     * stream is exhausted and the Checksum doesn't match the expected
-     * value
-     */
-    @Override
-    public int read(final byte[] b) throws IOException {
-        return read(b, 0, b.length);
-    }
-
     /**
      * Reads from the stream into a byte array.
      * @throws IOException if the underlying stream throws or the

Reply via email to