From ac8c5114ef94d0f0d7a683eee3c51de2bca9cd7f Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Fri, 15 Nov 2024 20:26:31 -0500 Subject: [PATCH 1/2] CompressorException now extends IOException instead of Exception ArchiveException now extends IOException instead of Exception --- .../apache/commons/compress/archivers/ArchiveException.java | 4 +++- .../commons/compress/archivers/ArchiveStreamFactory.java | 2 +- .../commons/compress/compressors/CompressorException.java | 4 +++- .../commons/compress/compressors/CompressorStreamFactory.java | 4 ++-- .../commons/compress/compressors/DetectCompressorTest.java | 2 +- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/apache/commons/compress/archivers/ArchiveException.java b/src/main/java/org/apache/commons/compress/archivers/ArchiveException.java index 5be299dc4bf..bafbac924a5 100644 --- a/src/main/java/org/apache/commons/compress/archivers/ArchiveException.java +++ b/src/main/java/org/apache/commons/compress/archivers/ArchiveException.java @@ -18,10 +18,12 @@ */ package org.apache.commons.compress.archivers; +import java.io.IOException; + /** * Signals that an Archive exception of some sort has occurred. */ -public class ArchiveException extends Exception { +public class ArchiveException extends IOException { /** Serial. */ private static final long serialVersionUID = 2772690708123267100L; diff --git a/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java b/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java index 1ee518a9cdd..12745a8df1a 100644 --- a/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java +++ b/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java @@ -224,7 +224,7 @@ public static String detect(final InputStream in) throws ArchiveException { signatureLength = IOUtils.readFully(in, signature); in.reset(); } catch (final IOException e) { - throw new ArchiveException("IOException while reading signature.", e); + throw new ArchiveException("Failure reading signature.", e); } // For now JAR files are detected as ZIP files. diff --git a/src/main/java/org/apache/commons/compress/compressors/CompressorException.java b/src/main/java/org/apache/commons/compress/compressors/CompressorException.java index 7b79107a101..eb41bbfc3a0 100644 --- a/src/main/java/org/apache/commons/compress/compressors/CompressorException.java +++ b/src/main/java/org/apache/commons/compress/compressors/CompressorException.java @@ -18,10 +18,12 @@ */ package org.apache.commons.compress.compressors; +import java.io.IOException; + /** * Signals that an Compressor exception of some sort has occurred. */ -public class CompressorException extends Exception { +public class CompressorException extends IOException { /** Serial. */ private static final long serialVersionUID = -2932901310255908814L; diff --git a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java index 8d94b63de65..b5b84e73782 100644 --- a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java +++ b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java @@ -240,7 +240,7 @@ static String detect(final InputStream inputStream, final Set compressor signatureLength = IOUtils.readFully(inputStream, signature); inputStream.reset(); } catch (final IOException e) { - throw new CompressorException("IOException while reading signature.", e); + throw new CompressorException("Failed to read signature.", e); } if (compressorNames.contains(BZIP2) && BZip2CompressorInputStream.matches(signature, signatureLength)) { return BZIP2; @@ -632,7 +632,7 @@ public CompressorOutputStream createCompressorOutputStream(final String name, return new ZstdCompressorOutputStream(out); } } catch (final IOException e) { - throw new CompressorException("Could not create CompressorOutputStream", e); + throw new CompressorException("Could not create CompressorOutputStream.", e); } final CompressorStreamProvider compressorStreamProvider = getCompressorOutputStreamProviders().get(toKey(name)); if (compressorStreamProvider != null) { diff --git a/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTest.java b/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTest.java index bfc04f82f3a..7f8f50bcf3f 100644 --- a/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTest.java +++ b/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTest.java @@ -269,7 +269,7 @@ public void testDetect() throws Exception { final CompressorException ce = assertThrows(CompressorException.class, () -> CompressorStreamFactory.detect(new BufferedInputStream(new BrokenInputStream())), "Expected IOException"); - assertEquals("IOException while reading signature.", ce.getMessage()); + assertEquals("Failed to read signature.", ce.getMessage()); } @ParameterizedTest From 1c1782e894cc61e748215254b682907882cd7019 Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Fri, 15 Nov 2024 20:42:15 -0500 Subject: [PATCH 2/2] Update ArchiveStreamFactoryTest.java --- .../commons/compress/archivers/ArchiveStreamFactoryTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java b/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java index 70d35370655..5622851f67c 100644 --- a/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java +++ b/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java @@ -281,7 +281,7 @@ public void testDetect() throws Exception { final ArchiveException e3 = assertThrows(ArchiveException.class, () -> ArchiveStreamFactory.detect(new BufferedInputStream(new BrokenInputStream())), "Expected ArchiveException"); - assertEquals("IOException while reading signature.", e3.getMessage()); + assertEquals("Failure reading signature.", e3.getMessage()); } /**