X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=mappingservice%2Fapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Flispflowmapping%2Finterfaces%2Fdao%2FSubscriber.java;h=4ecd880e5078e602e5c5865e6eb35a22430f563d;hb=refs%2Fchanges%2F43%2F85143%2F1;hp=cfb3f4cb21dbbc785156fae14e7d576f75ca7861;hpb=e3837c10af5ed28af6c8b9fcd9b72b91d964297c;p=lispflowmapping.git diff --git a/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/interfaces/dao/Subscriber.java b/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/interfaces/dao/Subscriber.java index cfb3f4cb2..4ecd880e5 100644 --- a/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/interfaces/dao/Subscriber.java +++ b/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/interfaces/dao/Subscriber.java @@ -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; @@ -26,6 +28,17 @@ public class Subscriber { private SubscriberData data; private Date lastRequestDate; + /** + * Constructor. + * + * @param subscriberData YANG modeled SubscriberData object. + */ + public Subscriber(SubscriberData subscriberData) { + super(); + this.data = subscriberData; + this.lastRequestDate = new Date(System.currentTimeMillis()); + } + /** * Constructor. * @@ -48,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() { @@ -64,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() { @@ -103,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 @@ -118,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; @@ -129,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()) + "]"; + } }