Corrected equals & hashcode methods in extension keys
[openflowjava.git] / openflow-protocol-api / src / main / java / org / opendaylight / openflowjava / protocol / api / keys / InstructionSerializerKey.java
index 738156a079f82e0d561e2feaa4421f5b7f3f01ed..899568dc24ae3ac9457bc33f571f92a553eb8f26 100644 (file)
@@ -35,26 +35,34 @@ public class InstructionSerializerKey<TYPE extends InstructionBase>
         this.experimenterId = experimenterId;\r
     }\r
 \r
+    @Override\r
+    public int hashCode() {\r
+        final int prime = 31;\r
+        int result = super.hashCode();\r
+        result = prime * result + ((experimenterId == null) ? 0 : experimenterId.hashCode());\r
+        result = prime * result + ((instructionType == null) ? 0 : instructionType.hashCode());\r
+        return result;\r
+    }\r
+\r
     @Override\r
     public boolean equals(Object obj) {\r
         if (this == obj)\r
             return true;\r
         if (!super.equals(obj))\r
             return false;\r
-        if (getClass() != obj.getClass())\r
-            return false;\r
-        @SuppressWarnings("rawtypes")\r
-        InstructionSerializerKey other = (InstructionSerializerKey) obj;\r
-        if (instructionType == null) {\r
-            if (other.instructionType != null)\r
-                return false;\r
-        } else if (!instructionType.equals(other.instructionType))\r
+        if (!(obj instanceof InstructionSerializerKey))\r
             return false;\r
+        InstructionSerializerKey<?> other = (InstructionSerializerKey<?>) obj;\r
         if (experimenterId == null) {\r
             if (other.experimenterId != null)\r
                 return false;\r
         } else if (!experimenterId.equals(other.experimenterId))\r
             return false;\r
+        if (instructionType == null) {\r
+            if (other.instructionType != null)\r
+                return false;\r
+        } else if (!instructionType.equals(other.instructionType))\r
+            return false;\r
         return true;\r
     }\r
 \r