Symmertry issue on overridden equals method - fix
Change-Id: If19d09a31e02b6c1957fd07e052e7f295e4f0c7b
diff --git a/core/api/src/main/java/org/onosproject/net/OchPort.java b/core/api/src/main/java/org/onosproject/net/OchPort.java
index eb956f2..94d4d32 100644
--- a/core/api/src/main/java/org/onosproject/net/OchPort.java
+++ b/core/api/src/main/java/org/onosproject/net/OchPort.java
@@ -87,7 +87,9 @@
if (this == obj) {
return true;
}
- if (obj instanceof OchPort) {
+
+ // Subclass is considered as a change of identity, hence equals() will return false if class type don't match
+ if (obj != null && getClass() == obj.getClass()) {
final OchPort other = (OchPort) obj;
return Objects.equals(this.element().id(), other.element().id()) &&
Objects.equals(this.number(), other.number()) &&
diff --git a/core/api/src/main/java/org/onosproject/net/OduCltPort.java b/core/api/src/main/java/org/onosproject/net/OduCltPort.java
index e5602f3..f51393a 100644
--- a/core/api/src/main/java/org/onosproject/net/OduCltPort.java
+++ b/core/api/src/main/java/org/onosproject/net/OduCltPort.java
@@ -71,7 +71,7 @@
if (this == obj) {
return true;
}
- if (obj instanceof OduCltPort) {
+ if (obj != null && getClass() == obj.getClass()) {
final OduCltPort other = (OduCltPort) obj;
return Objects.equals(this.element().id(), other.element().id()) &&
Objects.equals(this.number(), other.number()) &&
diff --git a/core/api/src/main/java/org/onosproject/net/OmsPort.java b/core/api/src/main/java/org/onosproject/net/OmsPort.java
index 753834b..d37fe75 100644
--- a/core/api/src/main/java/org/onosproject/net/OmsPort.java
+++ b/core/api/src/main/java/org/onosproject/net/OmsPort.java
@@ -102,7 +102,7 @@
if (this == obj) {
return true;
}
- if (obj instanceof OmsPort) {
+ if (obj != null && getClass() == obj.getClass()) {
final OmsPort other = (OmsPort) obj;
return Objects.equals(this.element().id(), other.element().id()) &&
Objects.equals(this.number(), other.number()) &&