* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-package org.opendaylight.lispflowmapping.lisp.type;
+package org.opendaylight.lispflowmapping.type;
import com.google.common.base.Optional;
+import com.google.common.collect.Sets;
import java.util.Date;
+import java.util.Set;
import org.opendaylight.lispflowmapping.lisp.util.LispAddressStringifier;
import org.opendaylight.lispflowmapping.lisp.util.MappingRecordUtil;
import org.opendaylight.lispflowmapping.lisp.util.Stringifier;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.XtrId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.mapping.record.container.MappingRecord;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.MappingOrigin;
/**
* Wrapper class for MappingRecord with timestamp added.
*
*/
public class MappingData {
+ private Set<MappingOrigin> origin = Sets.newConcurrentHashSet();
private MappingRecord record = null;
private Date timestamp = null;
private XtrId xtrId = null;
private boolean mergeEnabled = false;
- public MappingData(MappingRecord record, Long timestamp) {
- this(record, new Date(timestamp));
+ public MappingData(MappingOrigin origin, MappingRecord record, Long timestamp) {
+ this(origin, record, new Date(timestamp));
}
- public MappingData(MappingRecord record, Date timestamp) {
+ public MappingData(Set<MappingOrigin> origin, MappingRecord record, Date timestamp) {
+ setOrigin(origin);
setRecord(record);
setTimestamp(timestamp);
}
- public MappingData(MappingRecord record) {
+ public MappingData(Set<MappingOrigin> origin, MappingRecord record) {
+ setOrigin(origin);
setRecord(record);
}
+ public MappingData(MappingOrigin origin, MappingRecord record, Date timestamp) {
+ addOrigin(origin);
+ setRecord(record);
+ setTimestamp(timestamp);
+ }
+
+ public MappingData(MappingOrigin origin, MappingRecord record) {
+ addOrigin(origin);
+ setRecord(record);
+ }
+
+ public synchronized Set<MappingOrigin> getOrigin() {
+ return origin;
+ }
+
+ public synchronized void setOrigin(Set<MappingOrigin> origin) {
+ this.origin = origin;
+ }
+
+ public synchronized void addOrigin(MappingOrigin origin) {
+ this.origin.add(origin);
+ }
+
public synchronized MappingRecord getRecord() {
return record;
}
sb.append(timestamp);
}
+ if (origin != null) {
+ sb.append(", origin=");
+ sb.append(origin);
+ }
+
if (record != null) {
sb.append(", record=");
sb.append(record);