[ONOS-4718] Add toString, equals, hashCode for LISP control message

Change-Id: I722ab27f50074af26ea92503aac237dec0c64bcf
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispMapReply.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispMapReply.java
index f2a5689..760d1ad 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispMapReply.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispMapReply.java
@@ -15,8 +15,11 @@
  */
 package org.onosproject.lisp.msg.protocols;
 
+import com.google.common.base.Objects;
 import io.netty.buffer.ByteBuf;
 
+import static com.google.common.base.MoreObjects.toStringHelper;
+
 /**
  * Default LISP map reply message class.
  */
@@ -86,6 +89,38 @@
         return this.nonce;
     }
 
+    @Override
+    public String toString() {
+        return toStringHelper(this)
+                .add("type", getType())
+                .add("nonce", nonce)
+                .add("recordCount", recordCount)
+                .add("probe", probe)
+                .add("etr", etr)
+                .add("security", security).toString();
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o == null || getClass() != o.getClass()) {
+            return false;
+        }
+        DefaultLispMapReply that = (DefaultLispMapReply) o;
+        return Objects.equal(nonce, that.nonce) &&
+                Objects.equal(recordCount, that.recordCount) &&
+                Objects.equal(probe, that.probe) &&
+                Objects.equal(etr, that.etr) &&
+                Objects.equal(security, that.security);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hashCode(nonce, recordCount, probe, etr, security);
+    }
+
     public static final class DefaultReplyBuilder implements ReplyBuilder {
 
         private long nonce;