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 b46835ce195c77763b0c37e1e9203fb42dc0a91a Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Thu Jul 6 23:53:04 2023 -0400 Use modern Map APIs --- .../compress/archivers/zip/ZipArchiveEntry.java | 4 ++++ .../archivers/zip/ZipArchiveOutputStream.java | 7 +++---- .../commons/compress/archivers/zip/ZipFile.java | 4 +--- .../compress/harmony/pack200/ClassBands.java | 22 ++++++++-------------- .../commons/compress/harmony/pack200/CpBands.java | 3 +-- .../compress/harmony/unpack200/CpBands.java | 7 +------ 6 files changed, 18 insertions(+), 29 deletions(-) diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java index 595d0420..62f93b9a 100644 --- a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java +++ b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java @@ -26,6 +26,7 @@ import java.nio.file.attribute.FileTime; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; +import java.util.LinkedList; import java.util.List; import java.util.NoSuchElementException; import java.util.Objects; @@ -226,7 +227,10 @@ public class ZipArchiveEntry extends java.util.zip.ZipEntry implements ArchiveEn */ UNICODE_EXTRA_FIELD } + static final ZipArchiveEntry[] EMPTY_ARRAY = {}; + static LinkedList<ZipArchiveEntry> EMPTY_LINKED_LIST = new LinkedList<>(); + public static final int PLATFORM_UNIX = 3; public static final int PLATFORM_FAT = 0; public static final int CRC_UNKNOWN = -1; 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 852ddf75..7739efb8 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 @@ -1644,8 +1644,7 @@ public class ZipArchiveOutputStream extends ArchiveOutputStream { .NUMBER_OF_THE_DISK_OF_CENTRAL_DIRECTORY_TOO_BIG_MESSAGE); } - final int numOfEntriesOnThisDisk = numberOfCDInDiskData.get(numberOfThisDisk) == null - ? 0 : numberOfCDInDiskData.get(numberOfThisDisk); + final int numOfEntriesOnThisDisk = numberOfCDInDiskData.getOrDefault(numberOfThisDisk, 0); if (numOfEntriesOnThisDisk >= ZipConstants.ZIP64_MAGIC_SHORT) { throw new Zip64RequiredException(Zip64RequiredException .TOO_MANY_ENTRIES_ON_THIS_DISK_MESSAGE); @@ -1762,7 +1761,7 @@ public class ZipArchiveOutputStream extends ArchiveOutputStream { // total number of entries in the central directory on this disk final int numOfEntriesOnThisDisk = isSplitZip - ? numberOfCDInDiskData.get(numberOfThisDisk) == null ? 0 : numberOfCDInDiskData.get(numberOfThisDisk) + ? numberOfCDInDiskData.getOrDefault(numberOfThisDisk, 0) : numberOfEntries; final byte[] numOfEntriesOnThisDiskData = ZipShort .getBytes(Math.min(numOfEntriesOnThisDisk, ZipConstants.ZIP64_MAGIC_SHORT)); @@ -1984,7 +1983,7 @@ public class ZipArchiveOutputStream extends ArchiveOutputStream { // total number of entries in the central directory on this disk final int numOfEntriesOnThisDisk = isSplitZip - ? numberOfCDInDiskData.get(numberOfThisDisk) == null ? 0 : numberOfCDInDiskData.get(numberOfThisDisk) + ? numberOfCDInDiskData.getOrDefault(numberOfThisDisk, 0) : entries.size(); final byte[] numOfEntriesOnThisDiskData = ZipEightByteInteger.getBytes(numOfEntriesOnThisDisk); writeOut(numOfEntriesOnThisDiskData); diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java b/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java index 47861753..81569c41 100644 --- a/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java +++ b/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java @@ -868,9 +868,7 @@ public class ZipFile implements Closeable { * @since 1.6 */ public Iterable<ZipArchiveEntry> getEntries(final String name) { - final List<ZipArchiveEntry> entriesOfThatName = nameMap.get(name); - return entriesOfThatName != null ? entriesOfThatName - : Collections.emptyList(); + return nameMap.getOrDefault(name, ZipArchiveEntry.EMPTY_LINKED_LIST); } /** diff --git a/src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java b/src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java index 3fb42001..79ddb0d3 100644 --- a/src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java +++ b/src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java @@ -589,20 +589,14 @@ public class ClassBands extends BandSet { } } - public void currentClassReferencesInnerClass(final CPClass inner) { - if (!(index >= class_this.length)) { - final CPClass currentClass = class_this[index]; - if (currentClass != null && !currentClass.equals(inner) - && !isInnerClassOf(currentClass.toString(), inner)) { - Set<CPClass> referencedInnerClasses = classReferencesInnerClass.get(currentClass); - if (referencedInnerClasses == null) { - referencedInnerClasses = new HashSet<>(); - classReferencesInnerClass.put(currentClass, referencedInnerClasses); - } - referencedInnerClasses.add(inner); - } - } - } + public void currentClassReferencesInnerClass(final CPClass inner) { + if (!(index >= class_this.length)) { + final CPClass currentClass = class_this[index]; + if (currentClass != null && !currentClass.equals(inner) && !isInnerClassOf(currentClass.toString(), inner)) { + classReferencesInnerClass.computeIfAbsent(currentClass, c -> new HashSet<>()).add(inner); + } + } + } public void doBciRenumbering(final IntList bciRenumbering, final Map<Label, Integer> labelsToOffsets) { renumberBci(codeLineNumberTableBciP, bciRenumbering, labelsToOffsets); diff --git a/src/main/java/org/apache/commons/compress/harmony/pack200/CpBands.java b/src/main/java/org/apache/commons/compress/harmony/pack200/CpBands.java index bef2cfe1..7b8562ac 100644 --- a/src/main/java/org/apache/commons/compress/harmony/pack200/CpBands.java +++ b/src/main/java/org/apache/commons/compress/harmony/pack200/CpBands.java @@ -147,8 +147,7 @@ public class CpBands extends BandSet { } public boolean existsCpClass(final String className) { - final CPClass cpClass = stringsToCpClass.get(className); - return cpClass != null; + return stringsToCpClass.containsKey(className); } /** diff --git a/src/main/java/org/apache/commons/compress/harmony/unpack200/CpBands.java b/src/main/java/org/apache/commons/compress/harmony/unpack200/CpBands.java index a31e97a0..ed11c3d4 100644 --- a/src/main/java/org/apache/commons/compress/harmony/unpack200/CpBands.java +++ b/src/main/java/org/apache/commons/compress/harmony/unpack200/CpBands.java @@ -107,12 +107,7 @@ public class CpBands extends BandSet { final String string = cpClass[index]; final int utf8Index = cpClassInts[index]; final int globalIndex = classOffset + index; - CPClass cpString = stringsToCPClass.get(string); - if (cpString == null) { - cpString = new CPClass(cpUTF8Value(utf8Index), globalIndex); - stringsToCPClass.put(string, cpString); - } - return cpString; + return stringsToCPClass.computeIfAbsent(string, k -> new CPClass(cpUTF8Value(utf8Index), globalIndex)); } public CPClass cpClassValue(final String string) {