Ensure immutability of constants Collection
Change-Id: I9b26282ccabaef5e4ac81fb626abfa6e537d9333
diff --git a/utils/misc/src/main/java/org/onlab/packet/IPv4.java b/utils/misc/src/main/java/org/onlab/packet/IPv4.java
index 95695dc..b79a947 100644
--- a/utils/misc/src/main/java/org/onlab/packet/IPv4.java
+++ b/utils/misc/src/main/java/org/onlab/packet/IPv4.java
@@ -19,9 +19,10 @@
import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.Collection;
-import java.util.HashMap;
import java.util.Map;
+import com.google.common.collect.ImmutableMap;
+
import static com.google.common.base.MoreObjects.toStringHelper;
import static org.onlab.packet.PacketUtils.*;
@@ -35,15 +36,14 @@
public static final byte PROTOCOL_UDP = 0x11;
public static final byte PROTOCOL_PIM = 0x67;
public static final Map<Byte, Deserializer<? extends IPacket>> PROTOCOL_DESERIALIZER_MAP =
- new HashMap<>();
+ ImmutableMap.<Byte, Deserializer<? extends IPacket>>builder()
+ .put(IPv4.PROTOCOL_ICMP, ICMP.deserializer())
+ .put(IPv4.PROTOCOL_IGMP, IGMP.deserializer())
+ .put(IPv4.PROTOCOL_TCP, TCP.deserializer())
+ .put(IPv4.PROTOCOL_UDP, UDP.deserializer())
+ .put(IPv4.PROTOCOL_PIM, PIM.deserializer())
+ .build();
- static {
- IPv4.PROTOCOL_DESERIALIZER_MAP.put(IPv4.PROTOCOL_ICMP, ICMP.deserializer());
- IPv4.PROTOCOL_DESERIALIZER_MAP.put(IPv4.PROTOCOL_IGMP, IGMP.deserializer());
- IPv4.PROTOCOL_DESERIALIZER_MAP.put(IPv4.PROTOCOL_TCP, TCP.deserializer());
- IPv4.PROTOCOL_DESERIALIZER_MAP.put(IPv4.PROTOCOL_UDP, UDP.deserializer());
- IPv4.PROTOCOL_DESERIALIZER_MAP.put(IPv4.PROTOCOL_PIM, PIM.deserializer());
- }
private static final byte DSCP_MASK = 0x3f;
private static final byte DSCP_OFFSET = 2;