Generic ROADM port models and descriptions

Change-Id: I053d61c7a057d6298b7990373448df28b3aaa5a5
diff --git a/core/api/src/main/java/org/onosproject/net/DefaultAnnotations.java b/core/api/src/main/java/org/onosproject/net/DefaultAnnotations.java
index 4cf92ba..13e74b8 100644
--- a/core/api/src/main/java/org/onosproject/net/DefaultAnnotations.java
+++ b/core/api/src/main/java/org/onosproject/net/DefaultAnnotations.java
@@ -38,6 +38,26 @@
         this.map = null;
     }
 
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o == null || getClass() != o.getClass()) {
+            return false;
+        }
+
+        DefaultAnnotations that = (DefaultAnnotations) o;
+
+        return Objects.equals(this.map, that.map);
+
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hashCode(this.map);
+    }
+
     /**
      * Creates a new set of annotations using clone of the specified hash map.
      *