Fix high priority findbugs reported issues
Fixed some code that was reporting findbugs errors
Implemented a suppression mechanism for findbugs
reported errors and a suppression file.
Change-Id: Ie8a2e84cc57ec6ddfa14d782ee89feb095b9dd59
diff --git a/utils/misc/src/main/java/org/onlab/packet/Ethernet.java b/utils/misc/src/main/java/org/onlab/packet/Ethernet.java
index 0058e16..f3f61f0 100644
--- a/utils/misc/src/main/java/org/onlab/packet/Ethernet.java
+++ b/utils/misc/src/main/java/org/onlab/packet/Ethernet.java
@@ -40,15 +40,15 @@
public static final short MPLS_UNICAST = (short) 0x8847;
public static final short MPLS_MULTICAST = (short) 0x8848;
public static final short DATALAYER_ADDRESS_LENGTH = 6; // bytes
- public static Map<Short, Class<? extends IPacket>> etherTypeClassMap;
+ public static final Map<Short, Class<? extends IPacket>> ETHER_TYPE_CLASS_MAP =
+ new HashMap<>();
static {
- Ethernet.etherTypeClassMap = new HashMap<Short, Class<? extends IPacket>>();
- Ethernet.etherTypeClassMap.put(Ethernet.TYPE_ARP, ARP.class);
- Ethernet.etherTypeClassMap.put(Ethernet.TYPE_RARP, ARP.class);
- Ethernet.etherTypeClassMap.put(Ethernet.TYPE_IPV4, IPv4.class);
- Ethernet.etherTypeClassMap.put(Ethernet.TYPE_LLDP, LLDP.class);
- Ethernet.etherTypeClassMap.put(Ethernet.TYPE_BSN, LLDP.class);
+ Ethernet.ETHER_TYPE_CLASS_MAP.put(Ethernet.TYPE_ARP, ARP.class);
+ Ethernet.ETHER_TYPE_CLASS_MAP.put(Ethernet.TYPE_RARP, ARP.class);
+ Ethernet.ETHER_TYPE_CLASS_MAP.put(Ethernet.TYPE_IPV4, IPv4.class);
+ Ethernet.ETHER_TYPE_CLASS_MAP.put(Ethernet.TYPE_LLDP, LLDP.class);
+ Ethernet.ETHER_TYPE_CLASS_MAP.put(Ethernet.TYPE_BSN, LLDP.class);
}
protected MacAddress destinationMACAddress;
@@ -327,8 +327,8 @@
this.etherType = ethType;
IPacket payload;
- if (Ethernet.etherTypeClassMap.containsKey(this.etherType)) {
- final Class<? extends IPacket> clazz = Ethernet.etherTypeClassMap
+ if (Ethernet.ETHER_TYPE_CLASS_MAP.containsKey(this.etherType)) {
+ final Class<? extends IPacket> clazz = Ethernet.ETHER_TYPE_CLASS_MAP
.get(this.etherType);
try {
payload = clazz.newInstance();
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 e54e9e7..28f6a48 100644
--- a/utils/misc/src/main/java/org/onlab/packet/IPv4.java
+++ b/utils/misc/src/main/java/org/onlab/packet/IPv4.java
@@ -32,10 +32,10 @@
public static final byte PROTOCOL_ICMP = 0x1;
public static final byte PROTOCOL_TCP = 0x6;
public static final byte PROTOCOL_UDP = 0x11;
- public static Map<Byte, Class<? extends IPacket>> protocolClassMap;
+ public static Map<Byte, Class<? extends IPacket>> protocolClassMap =
+ new HashMap<>();
static {
- IPv4.protocolClassMap = new HashMap<Byte, Class<? extends IPacket>>();
IPv4.protocolClassMap.put(IPv4.PROTOCOL_ICMP, ICMP.class);
IPv4.protocolClassMap.put(IPv4.PROTOCOL_TCP, TCP.class);
IPv4.protocolClassMap.put(IPv4.PROTOCOL_UDP, UDP.class);
diff --git a/utils/misc/src/main/java/org/onlab/packet/ONLabLddp.java b/utils/misc/src/main/java/org/onlab/packet/ONLabLddp.java
index 4fd38cd..7978d37 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ONLabLddp.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ONLabLddp.java
@@ -16,6 +16,7 @@
package org.onlab.packet;
import java.nio.ByteBuffer;
+import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
@@ -68,7 +69,7 @@
// Contents of full name TLV
private static final byte[] NAME_TLV = ByteBuffer.allocate(NAME_TLV_SIZE + 2)
.putShort(NAME_TLV_HEADER).put(ONLAB_OUI).put(NAME_TLV_SUBTYPE)
- .put(OVX_NAME.getBytes()).array();
+ .put(OVX_NAME.getBytes(StandardCharsets.UTF_8)).array();
private static final byte DPID_TLV_TYPE = 127;
private static final byte DPID_TLV_SIZE = (byte) (12); // 12 = OUI (3) + subtype
@@ -203,7 +204,7 @@
this.bb = ByteBuffer.wrap(ouiName);
this.bb.put(ONLabLddp.ONLAB_OUI);
this.bb.put(NAME_TLV_SUBTYPE);
- this.bb.put(name.getBytes());
+ this.bb.put(name.getBytes(StandardCharsets.UTF_8));
this.ouiNameTLV.setLength(NAME_TLV_SIZE);
this.ouiNameTLV.setType(NAME_TLV_TYPE);
diff --git a/utils/misc/src/main/java/org/onlab/packet/ONOSLLDP.java b/utils/misc/src/main/java/org/onlab/packet/ONOSLLDP.java
index 0b33c45..5b3902a 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ONOSLLDP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ONOSLLDP.java
@@ -19,6 +19,7 @@
import org.apache.commons.lang.ArrayUtils;
import java.nio.ByteBuffer;
+import java.nio.charset.StandardCharsets;
/**
* ONOS LLDP containing organizational TLV for ONOS device dicovery.
@@ -141,7 +142,7 @@
public String getNameString() {
LLDPOrganizationalTLV tlv = getNameTLV();
if (tlv != null) {
- return new String(tlv.getInfoString());
+ return new String(tlv.getInfoString(), StandardCharsets.UTF_8);
}
return null;
}
@@ -149,7 +150,7 @@
public String getDeviceString() {
LLDPOrganizationalTLV tlv = getDeviceTLV();
if (tlv != null) {
- return new String(tlv.getInfoString());
+ return new String(tlv.getInfoString(), StandardCharsets.UTF_8);
}
return null;
}
diff --git a/utils/misc/src/main/java/org/onlab/packet/UDP.java b/utils/misc/src/main/java/org/onlab/packet/UDP.java
index 73a196a..19e23c0 100644
--- a/utils/misc/src/main/java/org/onlab/packet/UDP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/UDP.java
@@ -27,18 +27,18 @@
*/
public class UDP extends BasePacket {
- public static Map<Short, Class<? extends IPacket>> decodeMap;
+ public static final Map<Short, Class<? extends IPacket>> DECODE_MAP =
+ new HashMap<>();
public static final short DHCP_SERVER_PORT = (short) 67;
public static final short DHCP_CLIENT_PORT = (short) 68;
static {
- UDP.decodeMap = new HashMap<Short, Class<? extends IPacket>>();
/*
* Disable DHCP until the deserialize code is hardened to deal with
* garbage input
*/
- UDP.decodeMap.put(UDP.DHCP_SERVER_PORT, DHCP.class);
- UDP.decodeMap.put(UDP.DHCP_CLIENT_PORT, DHCP.class);
+ UDP.DECODE_MAP.put(UDP.DHCP_SERVER_PORT, DHCP.class);
+ UDP.DECODE_MAP.put(UDP.DHCP_CLIENT_PORT, DHCP.class);
}
@@ -231,16 +231,16 @@
this.length = bb.getShort();
this.checksum = bb.getShort();
- if (UDP.decodeMap.containsKey(this.destinationPort)) {
+ if (UDP.DECODE_MAP.containsKey(this.destinationPort)) {
try {
- this.payload = UDP.decodeMap.get(this.destinationPort)
+ this.payload = UDP.DECODE_MAP.get(this.destinationPort)
.getConstructor().newInstance();
} catch (final Exception e) {
throw new RuntimeException("Failure instantiating class", e);
}
- } else if (UDP.decodeMap.containsKey(this.sourcePort)) {
+ } else if (UDP.DECODE_MAP.containsKey(this.sourcePort)) {
try {
- this.payload = UDP.decodeMap.get(this.sourcePort)
+ this.payload = UDP.DECODE_MAP.get(this.sourcePort)
.getConstructor().newInstance();
} catch (final Exception e) {
throw new RuntimeException("Failure instantiating class", e);