You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2023/07/07 03:53:14 UTC
[commons-compress] 05/05: Use modern Map APIs
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 <ga...@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) {