Cosmetic fixes to ID classes.

 Removed hand crafted hashCode, etc.

Change-Id: Ifc0d6f616988f78e5567e2cc5d4e5e535d49e1f9
diff --git a/src/main/java/net/onrc/onos/core/util/Dpid.java b/src/main/java/net/onrc/onos/core/util/Dpid.java
index 8e4e837..ddfbecf 100644
--- a/src/main/java/net/onrc/onos/core/util/Dpid.java
+++ b/src/main/java/net/onrc/onos/core/util/Dpid.java
@@ -1,5 +1,7 @@
 package net.onrc.onos.core.util;
 
+import javax.annotation.concurrent.Immutable;
+
 import net.onrc.onos.core.util.serializers.DpidDeserializer;
 import net.onrc.onos.core.util.serializers.DpidSerializer;
 
@@ -7,12 +9,15 @@
 import org.codehaus.jackson.map.annotate.JsonSerialize;
 import org.projectfloodlight.openflow.util.HexString;
 
+import com.google.common.primitives.Longs;
+
 /**
  * The class representing a network switch DPID.
  * This class is immutable.
  */
 @JsonDeserialize(using = DpidDeserializer.class)
 @JsonSerialize(using = DpidSerializer.class)
+@Immutable
 public final class Dpid {
     private static final long UNKNOWN = 0;
     private final long value;
@@ -74,8 +79,6 @@
 
     @Override
     public int hashCode() {
-        int hash = 17;
-        hash += 31 * hash + (int) (value ^ value >>> 32);
-        return hash;
+        return Longs.hashCode(value);
     }
 }
diff --git a/src/main/java/net/onrc/onos/core/util/LinkTuple.java b/src/main/java/net/onrc/onos/core/util/LinkTuple.java
index 7831925..f44698f 100644
--- a/src/main/java/net/onrc/onos/core/util/LinkTuple.java
+++ b/src/main/java/net/onrc/onos/core/util/LinkTuple.java
@@ -4,10 +4,13 @@
 
 import java.util.Objects;
 
+import javax.annotation.concurrent.Immutable;
+
 
 /**
  * Immutable class to identify a Link between 2 ports.
  */
+@Immutable
 public final class LinkTuple {
 
     private final SwitchPort src;
@@ -66,11 +69,7 @@
 
     @Override
     public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((src == null) ? 0 : src.hashCode());
-        result = prime * result + ((dst == null) ? 0 : dst.hashCode());
-        return result;
+        return Objects.hash(src, dst);
     }
 
     @Override
diff --git a/src/main/java/net/onrc/onos/core/util/OnosInstanceId.java b/src/main/java/net/onrc/onos/core/util/OnosInstanceId.java
index 61b0751..9badb1b 100644
--- a/src/main/java/net/onrc/onos/core/util/OnosInstanceId.java
+++ b/src/main/java/net/onrc/onos/core/util/OnosInstanceId.java
@@ -3,11 +3,14 @@
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkArgument;
 
+import javax.annotation.concurrent.Immutable;
+
 /**
  * The class representing an ONOS Instance ID.
  *
  * This class is immutable.
  */
+@Immutable
 public final class OnosInstanceId {
     private final String id;
 
diff --git a/src/main/java/net/onrc/onos/core/util/PortNumber.java b/src/main/java/net/onrc/onos/core/util/PortNumber.java
index 09df247..0320a42 100644
--- a/src/main/java/net/onrc/onos/core/util/PortNumber.java
+++ b/src/main/java/net/onrc/onos/core/util/PortNumber.java
@@ -1,14 +1,15 @@
 package net.onrc.onos.core.util;
 
+import javax.annotation.concurrent.Immutable;
+
 import org.codehaus.jackson.annotate.JsonProperty;
 
 import com.google.common.primitives.UnsignedInts;
 
 /**
  * Immutable class representing a port number.
- * <p/>
- * Current implementation supports only OpenFlow 1.0 (16 bit unsigned) port number.
  */
+@Immutable
 public final class PortNumber {
 
     private final int value;
diff --git a/src/main/java/net/onrc/onos/core/util/SwitchPort.java b/src/main/java/net/onrc/onos/core/util/SwitchPort.java
index 74f0ed4..da60cbf 100644
--- a/src/main/java/net/onrc/onos/core/util/SwitchPort.java
+++ b/src/main/java/net/onrc/onos/core/util/SwitchPort.java
@@ -2,6 +2,10 @@
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
+import java.util.Objects;
+
+import javax.annotation.concurrent.Immutable;
+
 import net.onrc.onos.core.util.serializers.SwitchPortSerializer;
 
 import org.codehaus.jackson.map.annotate.JsonSerialize;
@@ -11,6 +15,7 @@
  * This class is immutable.
  */
 @JsonSerialize(using = SwitchPortSerializer.class)
+@Immutable
 public final class SwitchPort {
     private final Dpid dpid;            // The DPID of the switch
     private final PortNumber port;      // The port number on the switch
@@ -101,9 +106,6 @@
 
     @Override
     public int hashCode() {
-        int hash = 17;
-        hash += 31 * hash + dpid.hashCode();
-        hash += 31 * hash + port.hashCode();
-        return hash;
+        return Objects.hash(dpid, port);
     }
 }