api spotbugs cleanup
[lispflowmapping.git] / mappingservice / api / src / main / java / org / opendaylight / lispflowmapping / interfaces / dao / Subscriber.java
index b740bdc4c153ebf635f477bccd582466553103f7..4ecd880e5078e602e5c5865e6eb35a22430f563d 100644 (file)
@@ -8,7 +8,9 @@
 package org.opendaylight.lispflowmapping.interfaces.dao;
 
 import java.util.Date;
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
+import org.opendaylight.lispflowmapping.lisp.util.LispAddressStringifier;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.rloc.container.Rloc;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.subscriber.data.grouping.SubscriberData;
@@ -59,7 +61,7 @@ public class Subscriber {
     public Subscriber(Rloc srcRloc, Eid srcEid, int subscriberTtl, Date lastRequestDate) {
         super();
         this.data = new SubscriberDataBuilder().setRloc(srcRloc).setEid(srcEid).setTtl(subscriberTtl).build();
-        this.lastRequestDate = lastRequestDate;
+        this.lastRequestDate = new Date(lastRequestDate.getTime());
     }
 
     public SubscriberData getSubscriberData() {
@@ -75,11 +77,11 @@ public class Subscriber {
     }
 
     public Date getLastRequestDate() {
-        return lastRequestDate;
+        return new Date(lastRequestDate.getTime());
     }
 
     public void setLastRequestDate(Date lastRequestDate) {
-        this.lastRequestDate = lastRequestDate;
+        this.lastRequestDate = new Date(lastRequestDate.getTime());
     }
 
     public int getSubscriberTtl() {
@@ -114,7 +116,11 @@ public class Subscriber {
 
     @Override
     public int hashCode() {
-        return data.hashCode();
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + Objects.hashCode(data.getRloc());
+        result = prime * result + Objects.hashCode(data.getEid());
+        return result;
     }
 
     @Override
@@ -129,7 +135,10 @@ public class Subscriber {
             return false;
         }
         Subscriber other = (Subscriber) obj;
-        if (!data.equals(other.data)) {
+        if (!Objects.equals(data.getEid(), other.getSrcEid())) {
+            return false;
+        }
+        if (!Objects.equals(data.getRloc(), other.getSrcRloc())) {
             return false;
         }
         return true;
@@ -140,4 +149,9 @@ public class Subscriber {
         return "_rloc=" + data.getRloc().toString() + ", _eid=" + data.getEid().toString()
                 + ", _ttl=" + data.getTtl().toString() + ", last request @ " + lastRequestDate.toString();
     }
+
+    public String getString() {
+        return "[" + LispAddressStringifier.getString(data.getRloc())
+                + ", " + LispAddressStringifier.getString(data.getEid()) + "]";
+    }
 }