From 64e07b6b9d7fa7278b63efc672d6825f495d14cd Mon Sep 17 00:00:00 2001 From: Sean Gilligan Date: Sat, 26 Mar 2022 14:31:13 -0700 Subject: [PATCH] convert ImmutableMap to unmodifiable map This converts all remaining instances of ImmutableMap to JDK unmodifiable map. --- .../java/org/bitcoinj/core/Transaction.java | 3 +-- .../org/bitcoinj/script/ScriptOpCodes.java | 20 +++++++++++-------- .../main/java/org/bitcoinj/wallet/Wallet.java | 3 +-- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/core/src/main/java/org/bitcoinj/core/Transaction.java b/core/src/main/java/org/bitcoinj/core/Transaction.java index 700d02906..4c0f8be6e 100644 --- a/core/src/main/java/org/bitcoinj/core/Transaction.java +++ b/core/src/main/java/org/bitcoinj/core/Transaction.java @@ -32,7 +32,6 @@ import org.bitcoinj.wallet.Wallet; import org.bitcoinj.wallet.WalletTransaction.Pool; import com.google.common.base.MoreObjects; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; import com.google.common.math.IntMath; import org.slf4j.Logger; @@ -376,7 +375,7 @@ public class Transaction extends ChildMessage { */ @Nullable public Map getAppearsInHashes() { - return appearsInHashes != null ? ImmutableMap.copyOf(appearsInHashes) : null; + return appearsInHashes != null ? Collections.unmodifiableMap(new HashMap<>(appearsInHashes)) : null; } /** diff --git a/core/src/main/java/org/bitcoinj/script/ScriptOpCodes.java b/core/src/main/java/org/bitcoinj/script/ScriptOpCodes.java index 0d8bbbf50..cb3a7371b 100644 --- a/core/src/main/java/org/bitcoinj/script/ScriptOpCodes.java +++ b/core/src/main/java/org/bitcoinj/script/ScriptOpCodes.java @@ -18,8 +18,9 @@ package org.bitcoinj.script; import com.google.common.collect.BiMap; import com.google.common.collect.ImmutableBiMap; -import com.google.common.collect.ImmutableMap; +import java.util.Collections; +import java.util.HashMap; import java.util.Map; /** @@ -279,13 +280,16 @@ public class ScriptOpCodes { .put(OP_NOP9, "NOP9") .put(OP_NOP10, "NOP10").build(); - private static final Map opCodeNameMap = ImmutableMap.builder() - .putAll(opCodeMap.inverse()) - .put("OP_FALSE", OP_FALSE) - .put("OP_TRUE", OP_TRUE) - .put("NOP2", OP_NOP2) - .put("NOP3", OP_NOP3) - .build(); + private static final Map opCodeNameMap = createOpCodeNameMap(); + + private static Map createOpCodeNameMap() { + Map map = new HashMap<>(opCodeMap.inverse()); + map.put("OP_FALSE", OP_FALSE); + map.put("OP_TRUE", OP_TRUE); + map.put("NOP2", OP_NOP2); + map.put("NOP3", OP_NOP3); + return Collections.unmodifiableMap(map); + } /** * Converts the given OpCode into a string (eg "0", "PUSHDATA", or "NON_OP(10)") diff --git a/core/src/main/java/org/bitcoinj/wallet/Wallet.java b/core/src/main/java/org/bitcoinj/wallet/Wallet.java index d70ab8f44..fe78802c3 100644 --- a/core/src/main/java/org/bitcoinj/wallet/Wallet.java +++ b/core/src/main/java/org/bitcoinj/wallet/Wallet.java @@ -19,7 +19,6 @@ package org.bitcoinj.wallet; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ArrayListMultimap; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.math.IntMath; @@ -4938,7 +4937,7 @@ public class Wallet extends BaseTaggableObject public Map getExtensions() { lock.lock(); try { - return ImmutableMap.copyOf(extensions); + return Collections.unmodifiableMap(new HashMap<>(extensions)); } finally { lock.unlock(); }