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) {

Reply via email to