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()) &&