equals for {Device,Port,Link,Host}Description
Change-Id: Ia69a469ed7b3ef183e45b3fb4d110edcbb4f3aad
diff --git a/core/api/src/main/java/org/onosproject/net/link/DefaultLinkDescription.java b/core/api/src/main/java/org/onosproject/net/link/DefaultLinkDescription.java
index 891eb65..cba1764 100644
--- a/core/api/src/main/java/org/onosproject/net/link/DefaultLinkDescription.java
+++ b/core/api/src/main/java/org/onosproject/net/link/DefaultLinkDescription.java
@@ -20,6 +20,7 @@
import org.onosproject.net.ConnectPoint;
import org.onosproject.net.Link;
import org.onosproject.net.SparseAnnotations;
+import com.google.common.base.Objects;
/**
* Default implementation of immutable link description entity.
@@ -70,4 +71,23 @@
.add("type", type()).toString();
}
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(super.hashCode(), src, dst, type);
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ if (object != null && getClass() == object.getClass()) {
+ if (!super.equals(object)) {
+ return false;
+ }
+ DefaultLinkDescription that = (DefaultLinkDescription) object;
+ return Objects.equal(this.src, that.src)
+ && Objects.equal(this.dst, that.dst)
+ && Objects.equal(this.type, that.type);
+ }
+ return false;
+ }
+
}