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;
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() {
}
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() {
@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
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;
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()) + "]";
+ }
}