Incorrect array handling
Change-Id: I084cbaeeec0992bb371470c6c201a3ac6fb219a9
diff --git a/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborDiscoveryOptions.java b/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborDiscoveryOptions.java
index 15290ad..5924244 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborDiscoveryOptions.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ndp/NeighborDiscoveryOptions.java
@@ -19,6 +19,8 @@
import org.onlab.packet.DeserializationException;
import org.onlab.packet.Deserializer;
import org.onlab.packet.IPacket;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Objects;
import java.nio.ByteBuffer;
import java.util.ArrayList;
@@ -121,14 +123,8 @@
@Override
public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("[");
- sb.append("type= ");
- sb.append(type);
- sb.append("data= ");
- sb.append(data);
- sb.append("]");
- return sb.toString();
+ return MoreObjects.toStringHelper(this).add("type", type).
+ add("data", data).toString();
}
}
@@ -230,14 +226,7 @@
@Override
public int hashCode() {
- final int prime = 31;
- int result = 1;
-
- for (Option option : this.options) {
- result = prime * result + option.type();
- result = prime * result + Arrays.hashCode(option.data());
- }
- return result;
+ return Objects.hashCode(this.options.toArray());
}
@Override
@@ -247,7 +236,7 @@
}
if (obj instanceof NeighborDiscoveryOptions) {
NeighborDiscoveryOptions other = (NeighborDiscoveryOptions) obj;
- return this.options.equals(other.options);
+ return Objects.equal(this.options, other.options);
}
return false;
}