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 9f09134941a20647288f5b4670c20cd6d285eb7f Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Wed May 21 19:11:31 2025 -0400 Internal refactoring Remove internal code no longer needed --- .../compress/archivers/zip/NioZipEncoding.java | 5 ++--- .../archivers/zip/ZipArchiveOutputStream.java | 2 +- .../compress/archivers/zip/ZipEncodingHelper.java | 13 ++----------- .../compress/archivers/zip/NioZipEncodingTest.java | 14 +++++++------- .../compress/archivers/zip/ZipEncodingTest.java | 22 +--------------------- 5 files changed, 13 insertions(+), 43 deletions(-) diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java b/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java index 6932c3b5b..15e7b5b7c 100644 --- a/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java +++ b/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java @@ -104,11 +104,10 @@ private static int estimateInitialBufferSize(final CharsetEncoder enc, final int * Constructs an NioZipEncoding using the given charset. * * @param charset The character set to use. - * @param useReplacement should invalid characters be replaced, or reported. */ - NioZipEncoding(final Charset charset, final boolean useReplacement) { + NioZipEncoding(final Charset charset) { this.charset = charset; - this.useReplacement = useReplacement; + this.useReplacement = ZipEncodingHelper.isUTF8(charset); } /** diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java index 648a37460..c3c35814d 100644 --- a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java +++ b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java @@ -1361,7 +1361,7 @@ public void setFallbackToUTF8(final boolean fallbackToUTF8) { /** * Sets the compression level for subsequent entries. * <p> - * Default is Deflater.DEFAULT_COMPRESSION. + * Default is {@code Deflater.DEFAULT_COMPRESSION}. * </p> * * @param level the compression level. diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncodingHelper.java b/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncodingHelper.java index 376581c4d..3d6a7e0c7 100644 --- a/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncodingHelper.java +++ b/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncodingHelper.java @@ -48,7 +48,7 @@ public abstract class ZipEncodingHelper { * @since 1.26.0 */ public static ZipEncoding getZipEncoding(final Charset charset) { - return new NioZipEncoding(Charsets.toCharset(charset), isUTF8(Charsets.toCharset(charset))); + return new NioZipEncoding(Charsets.toCharset(charset)); } /** @@ -62,7 +62,7 @@ public static ZipEncoding getZipEncoding(final Charset charset) { * @return A ZIP encoding for the given encoding name. */ public static ZipEncoding getZipEncoding(final String name) { - return new NioZipEncoding(toSafeCharset(name), isUTF8(toSafeCharset(name).name())); + return new NioZipEncoding(toSafeCharset(name)); } static ByteBuffer growBufferBy(final ByteBuffer buffer, final int increment) { @@ -82,15 +82,6 @@ static boolean isUTF8(final Charset charset) { return isUTF8Alias(Charsets.toCharset(charset).name()); } - /** - * Tests whether a given encoding is UTF-8. If the given name is null, then check the platform's default encoding. - * - * @param charsetName If the given name is null, then check the platform's default encoding. - */ - static boolean isUTF8(final String charsetName) { - return isUTF8Alias(charsetName != null ? charsetName : Charset.defaultCharset().name()); - } - /** * Tests whether the given non-null charset name is a UTF-8 alias. * diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/NioZipEncodingTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/NioZipEncodingTest.java index a2284ab9d..6959d494b 100644 --- a/src/test/java/org/apache/commons/compress/archivers/zip/NioZipEncodingTest.java +++ b/src/test/java/org/apache/commons/compress/archivers/zip/NioZipEncodingTest.java @@ -39,7 +39,7 @@ public class NioZipEncodingTest { @Test public void testPartialSurrogatePair() { - final NioZipEncoding e = new NioZipEncoding(US_ASCII, false); + final NioZipEncoding e = new NioZipEncoding(US_ASCII); final ByteBuffer bb = e.encode("\ud83c"); final int off = bb.arrayOffset(); final byte[] result = Arrays.copyOfRange(bb.array(), off, off + bb.limit() - bb.position()); @@ -48,7 +48,7 @@ public void testPartialSurrogatePair() { @Test public void testRainbowEmojiToSurrogatePairUTF16() { - final NioZipEncoding e = new NioZipEncoding(UTF_16BE, false); + final NioZipEncoding e = new NioZipEncoding(UTF_16BE); final ByteBuffer bb = e.encode(RAINBOW_EMOJI); final int off = bb.arrayOffset(); final byte[] result = Arrays.copyOfRange(bb.array(), off, off + bb.limit() - bb.position()); @@ -57,7 +57,7 @@ public void testRainbowEmojiToSurrogatePairUTF16() { @Test public void testUmlautToISO88591() { - final NioZipEncoding e = new NioZipEncoding(ISO_8859_1, true); + final NioZipEncoding e = new NioZipEncoding(ISO_8859_1); final ByteBuffer bb = e.encode("\u00e4\u00f6\u00fc"); final int off = bb.arrayOffset(); final byte[] result = Arrays.copyOfRange(bb.array(), off, off + bb.limit() - bb.position()); @@ -66,7 +66,7 @@ public void testUmlautToISO88591() { @Test public void testUmlautToUTF16BE() { - final NioZipEncoding e = new NioZipEncoding(UTF_16BE, false); + final NioZipEncoding e = new NioZipEncoding(UTF_16BE); final ByteBuffer bb = e.encode(UMLAUTS); final int off = bb.arrayOffset(); final byte[] result = Arrays.copyOfRange(bb.array(), off, off + bb.limit() - bb.position()); @@ -75,7 +75,7 @@ public void testUmlautToUTF16BE() { @Test public void testUmlautToUTF8() { - final NioZipEncoding e = new NioZipEncoding(UTF_8, true); + final NioZipEncoding e = new NioZipEncoding(UTF_8); final ByteBuffer bb = e.encode("\u00e4\u00f6\u00fc"); final int off = bb.arrayOffset(); final byte[] result = Arrays.copyOfRange(bb.array(), off, off + bb.limit() - bb.position()); @@ -84,7 +84,7 @@ public void testUmlautToUTF8() { @Test public void testUnmappableRainbowEmoji() { - final NioZipEncoding e = new NioZipEncoding(US_ASCII, false); + final NioZipEncoding e = new NioZipEncoding(US_ASCII); final ByteBuffer bb = e.encode(RAINBOW_EMOJI); final int off = bb.arrayOffset(); final byte[] result = Arrays.copyOfRange(bb.array(), off, off + bb.limit() - bb.position()); @@ -93,7 +93,7 @@ public void testUnmappableRainbowEmoji() { @Test public void testUnmappableUmlauts() { - final NioZipEncoding e = new NioZipEncoding(US_ASCII, false); + final NioZipEncoding e = new NioZipEncoding(US_ASCII); final ByteBuffer bb = e.encode("\u00e4\u00f6\u00fc"); final int off = bb.arrayOffset(); final byte[] result = Arrays.copyOfRange(bb.array(), off, off + bb.limit() - bb.position()); diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipEncodingTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipEncodingTest.java index 69a9bdf58..32379e62c 100644 --- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipEncodingTest.java +++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipEncodingTest.java @@ -27,7 +27,6 @@ import java.io.IOException; import java.nio.ByteBuffer; import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -45,18 +44,14 @@ public class ZipEncodingTest { private static final String BAD_STRING_ENC = "%U2016%U2015%U2016%U2015%U2016%U2015%U2016%U2015%U2016%U2015%U2016"; private static void assertEquals(final byte[] expected, final ByteBuffer actual) { - Assertions.assertEquals(expected.length, actual.limit()); - for (final byte anExpected : expected) { final byte a = actual.get(); Assertions.assertEquals(anExpected, a); } - } private void doSimpleEncodingsTest(final int n) throws IOException { - doSimpleEncodingTest("Cp" + n, null); doSimpleEncodingTest("cp" + n, null); doSimpleEncodingTest("CP" + n, null); @@ -65,25 +60,18 @@ private void doSimpleEncodingsTest(final int n) throws IOException { } private void doSimpleEncodingTest(final String name, byte[] testBytes) throws IOException { - final ZipEncoding enc = ZipEncodingHelper.getZipEncoding(name); assertInstanceOf(NioZipEncoding.class, enc); if (testBytes == null) { - testBytes = new byte[256]; for (int i = 0; i < 256; ++i) { testBytes[i] = (byte) i; } } - final String decoded = enc.decode(testBytes); - assertTrue(enc.canEncode(decoded)); - final ByteBuffer encoded = enc.encode(decoded); - assertEquals(testBytes, encoded); - assertFalse(enc.canEncode(UNENC_STRING)); assertEquals("%U2016".getBytes(name), enc.encode(UNENC_STRING)); assertFalse(enc.canEncode(BAD_STRING)); @@ -92,7 +80,6 @@ private void doSimpleEncodingTest(final String name, byte[] testBytes) throws IO @Test public void testEbcidic() throws IOException { - doSimpleEncodingTest("IBM1047", null); } @@ -106,14 +93,6 @@ public void testGetNonexistentEncoding() { } } - @Test - public void testIsUTF8() { - assertTrue(ZipEncodingHelper.isUTF8(StandardCharsets.UTF_8.name())); - assertTrue(ZipEncodingHelper.isUTF8("UTF8")); - Assertions.assertEquals(Charset.defaultCharset().name().equals(StandardCharsets.UTF_8.name()), ZipEncodingHelper.isUTF8((Charset) null)); - Assertions.assertEquals(Charset.defaultCharset().name().equals(StandardCharsets.UTF_8.name()), ZipEncodingHelper.isUTF8((String) null)); - } - @Test public void testNioCp1252Encoding() throws IOException { // CP1252 has some undefined code points, these are @@ -144,6 +123,7 @@ public void testNioCp1252Encoding() throws IOException { @Test public void testNothingToMakeCoverallsHappier() { final Object o = new ZipEncodingHelper() { + // empty }; assertNotNull(o); }