Add missing equals(), hashCode() and toString()

Change-Id: I99e313b1672369092596d8e28e08778021eb1998
diff --git a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/EncodedDiscreteResources.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/EncodedDiscreteResources.java
index 59c39d8..6e3f613 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/EncodedDiscreteResources.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/EncodedDiscreteResources.java
@@ -15,6 +15,7 @@
  */
 package org.onosproject.store.resource.impl;
 
+import com.google.common.base.MoreObjects;
 import com.google.common.collect.DiscreteDomain;
 import com.google.common.collect.Range;
 import com.google.common.collect.RangeSet;
@@ -26,6 +27,7 @@
 import org.onosproject.net.resource.Resources;
 
 import java.util.LinkedHashSet;
+import java.util.Objects;
 import java.util.Set;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
@@ -83,4 +85,30 @@
     boolean isEmpty() {
         return rangeSet.isEmpty();
     }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(rangeSet, codec);
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null || getClass() != obj.getClass()) {
+            return false;
+        }
+        final EncodedDiscreteResources other = (EncodedDiscreteResources) obj;
+        return Objects.equals(this.rangeSet, other.rangeSet)
+                && Objects.equals(this.codec, other.codec);
+    }
+
+    @Override
+    public String toString() {
+        return MoreObjects.toStringHelper(this)
+                .add("rangeSet", rangeSet)
+                .add("codec", codec)
+                .toString();
+    }
 }