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 87e898fa1f4298e349fe9744187d37a2c4a94f2c Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Wed Apr 3 11:31:14 2024 -0400 Reuse ArrayFill --- pom.xml | 1 + .../commons/compress/archivers/tar/TarArchiveOutputStream.java | 5 ++--- .../java/org/apache/commons/compress/archivers/zip/BinaryTree.java | 5 ++--- .../commons/compress/compressors/deflate64/HuffmanDecoder.java | 4 ++-- .../commons/compress/compressors/lz77support/LZ77Compressor.java | 6 +++--- .../commons/compress/archivers/tar/TarArchiveOutputStreamTest.java | 4 ++-- .../commons/compress/archivers/zip/ZipArchiveInputStreamTest.java | 5 ++--- .../java/org/apache/commons/compress/archivers/zip/ZipFileTest.java | 4 ++-- .../compressors/lz4/BlockLZ4CompressorOutputStreamTest.java | 5 ++--- 9 files changed, 18 insertions(+), 21 deletions(-) diff --git a/pom.xml b/pom.xml index 568b281d4..e1410205c 100644 --- a/pom.xml +++ b/pom.xml @@ -63,6 +63,7 @@ Brotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj. javax.crypto.*;resolution:=optional, org.apache.commons.io;resolution:=optional, org.apache.commons.io.*;resolution:=optional, + org.apache.commons.lang3;resolution:=optional, org.apache.commons.lang3.reflect;resolution:=optional, org.apache.commons.codec;resolution:=optional, org.apache.commons.codec.digest;resolution:=optional, diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java index a1950c758..54de7b270 100644 --- a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java +++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java @@ -32,7 +32,6 @@ import java.nio.file.LinkOption; import java.nio.file.Path; import java.nio.file.attribute.FileTime; import java.time.Instant; -import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -43,6 +42,7 @@ import org.apache.commons.compress.utils.FixedLengthBlockOutputStream; import org.apache.commons.compress.utils.TimeUtils; import org.apache.commons.io.Charsets; import org.apache.commons.io.output.CountingOutputStream; +import org.apache.commons.lang3.ArrayFill; /** * The TarOutputStream writes a UNIX tar archive as an OutputStream. Methods are provided to put entries, and then write their contents by writing to this @@ -674,8 +674,7 @@ public class TarArchiveOutputStream extends ArchiveOutputStream<TarArchiveEntry> * Writes an EOF (end of archive) record to the tar archive. An EOF record consists of a record of all zeros. */ private void writeEOFRecord() throws IOException { - Arrays.fill(recordBuf, (byte) 0); - writeRecord(recordBuf); + writeRecord(ArrayFill.fill(recordBuf, (byte) 0)); } /** diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java b/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java index 586a0aea7..c02fce78c 100644 --- a/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java +++ b/src/main/java/org/apache/commons/compress/archivers/zip/BinaryTree.java @@ -22,9 +22,9 @@ package org.apache.commons.compress.archivers.zip; import java.io.EOFException; import java.io.IOException; import java.io.InputStream; -import java.util.Arrays; import org.apache.commons.compress.utils.IOUtils; +import org.apache.commons.lang3.ArrayFill; /** * Binary tree of positive values. @@ -140,8 +140,7 @@ final class BinaryTree { if (depth < 0 || depth > 30) { throw new IllegalArgumentException("depth must be bigger than 0 and not bigger than 30" + " but is " + depth); } - tree = new int[(int) ((1L << depth + 1) - 1)]; - Arrays.fill(tree, UNDEFINED); + tree = ArrayFill.fill(new int[(int) ((1L << depth + 1) - 1)], UNDEFINED); } /** diff --git a/src/main/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoder.java b/src/main/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoder.java index 33881a69e..4d77de9ec 100644 --- a/src/main/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoder.java +++ b/src/main/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoder.java @@ -31,6 +31,7 @@ import java.util.Arrays; import org.apache.commons.compress.utils.BitInputStream; import org.apache.commons.compress.utils.ByteUtils; import org.apache.commons.compress.utils.ExactMath; +import org.apache.commons.lang3.ArrayFill; /** * TODO This class can't be final because it is mocked by Mockito. @@ -361,8 +362,7 @@ class HuffmanDecoder implements Closeable { Arrays.fill(FIXED_LITERALS, 256, 280, 7); Arrays.fill(FIXED_LITERALS, 280, 288, 8); - FIXED_DISTANCE = new int[32]; - Arrays.fill(FIXED_DISTANCE, 5); + FIXED_DISTANCE = ArrayFill.fill(new int[32], 5); } private static BinaryTreeNode buildTree(final int[] litTable) { diff --git a/src/main/java/org/apache/commons/compress/compressors/lz77support/LZ77Compressor.java b/src/main/java/org/apache/commons/compress/compressors/lz77support/LZ77Compressor.java index 224065659..1feb1e5bc 100644 --- a/src/main/java/org/apache/commons/compress/compressors/lz77support/LZ77Compressor.java +++ b/src/main/java/org/apache/commons/compress/compressors/lz77support/LZ77Compressor.java @@ -19,9 +19,10 @@ package org.apache.commons.compress.compressors.lz77support; import java.io.IOException; -import java.util.Arrays; import java.util.Objects; +import org.apache.commons.lang3.ArrayFill; + /** * Helper class for compression algorithms that use the ideas of LZ77. * @@ -285,8 +286,7 @@ public class LZ77Compressor { final int wSize = params.getWindowSize(); window = new byte[wSize * 2]; wMask = wSize - 1; - head = new int[HASH_SIZE]; - Arrays.fill(head, NO_MATCH); + head = ArrayFill.fill(new int[HASH_SIZE], NO_MATCH); prev = new int[wSize]; } diff --git a/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStreamTest.java index cbfee27e2..e1fd352a1 100644 --- a/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStreamTest.java +++ b/src/test/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStreamTest.java @@ -48,6 +48,7 @@ import org.apache.commons.compress.archivers.ArchiveOutputStream; import org.apache.commons.compress.archivers.ArchiveStreamFactory; import org.apache.commons.io.IOUtils; import org.apache.commons.io.output.NullOutputStream; +import org.apache.commons.lang3.ArrayFill; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -147,8 +148,7 @@ public class TarArchiveOutputStreamTest extends AbstractTest { assertThrows(IllegalArgumentException.class, () -> testPadding(0, fileName, contents)); // test with "content" that is an exact multiple of record length - final byte[] contents2 = new byte[2048]; - java.util.Arrays.fill(contents2, (byte) 42); + final byte[] contents2 = ArrayFill.fill(new byte[2048], (byte) 42); testPadding(TarConstants.DEFAULT_BLKSIZE, fileName, contents2); } diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java index 50551d300..0a2fd6506 100644 --- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java +++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java @@ -40,7 +40,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.time.Instant; -import java.util.Arrays; import java.util.zip.ZipEntry; import java.util.zip.ZipException; @@ -50,6 +49,7 @@ import org.apache.commons.compress.archivers.ArchiveInputStream; import org.apache.commons.compress.archivers.ArchiveStreamFactory; import org.apache.commons.compress.utils.ByteUtils; import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.ArrayFill; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; @@ -666,8 +666,7 @@ public class ZipArchiveInputStreamTest extends AbstractTest { try (ZipArchiveInputStream in = new ZipArchiveInputStream(newInputStream("bzip2-zip.zip"))) { final ZipArchiveEntry ze = in.getNextZipEntry(); assertEquals(42, ze.getSize()); - final byte[] expected = new byte[42]; - Arrays.fill(expected, (byte) 'a'); + final byte[] expected = ArrayFill.fill(new byte[42], (byte) 'a'); assertArrayEquals(expected, IOUtils.toByteArray(in)); } } diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileTest.java index 292c43856..b7fac2aaa 100644 --- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileTest.java +++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileTest.java @@ -58,6 +58,7 @@ import org.apache.commons.compress.utils.ByteUtils; import org.apache.commons.compress.utils.SeekableInMemoryByteChannel; import org.apache.commons.io.IOUtils; import org.apache.commons.io.function.IORunnable; +import org.apache.commons.lang3.ArrayFill; import org.apache.commons.lang3.SystemUtils; import org.junit.Assume; import org.junit.jupiter.api.AfterEach; @@ -939,8 +940,7 @@ public class ZipFileTest extends AbstractTest { zf = new ZipFile(archive); final ZipArchiveEntry ze = zf.getEntry("lots-of-as"); assertEquals(42, ze.getSize()); - final byte[] expected = new byte[42]; - Arrays.fill(expected, (byte) 'a'); + final byte[] expected = ArrayFill.fill(new byte[42], (byte) 'a'); try (InputStream inputStream = zf.getInputStream(ze)) { assertArrayEquals(expected, IOUtils.toByteArray(inputStream)); } diff --git a/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorOutputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorOutputStreamTest.java index 6d545472c..4f4dfb571 100644 --- a/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorOutputStreamTest.java +++ b/src/test/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorOutputStreamTest.java @@ -28,6 +28,7 @@ import java.io.IOException; import java.util.Arrays; import org.apache.commons.compress.compressors.lz77support.LZ77Compressor; +import org.apache.commons.lang3.ArrayFill; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -74,9 +75,7 @@ public class BlockLZ4CompressorOutputStreamTest { } private byte[] prepareExpected(final int length) { - final byte[] b = new byte[length]; - Arrays.fill(b, (byte) -1); - return b; + return ArrayFill.fill(new byte[length], (byte) -1); } @Test