/*
- * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
+ * Copyright (c) 2015, 2016 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
package org.opendaylight.lispflowmapping.mapcache;
-import java.util.Date;
-
+import java.util.Collections;
+import java.util.Set;
import org.opendaylight.lispflowmapping.interfaces.dao.ILispDAO;
-import org.opendaylight.lispflowmapping.interfaces.dao.IRowVisitor;
import org.opendaylight.lispflowmapping.interfaces.dao.MappingEntry;
import org.opendaylight.lispflowmapping.interfaces.dao.SubKeys;
import org.opendaylight.lispflowmapping.interfaces.mapcache.IMapCache;
import org.opendaylight.lispflowmapping.lisp.util.MaskUtil;
+import org.opendaylight.lispflowmapping.mapcache.lisp.LispMapCacheStringifier;
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.mapping.authkey.container.MappingAuthkey;
/**
* Flat key implementation of a map-cache. As the name suggests, no longest prefix matching is done for IP addresses
}
@Override
- public void addMapping(Eid eid, Object data, boolean shouldOverwrite, boolean shouldMerge) {
+ public void addMapping(Eid eid, Object value) {
Eid key = MaskUtil.normalize(eid);
- dao.put(key, new MappingEntry<>(SubKeys.REGDATE, new Date(System.currentTimeMillis())));
- dao.put(key, new MappingEntry<>(SubKeys.RECORD, data));
+ dao.put(key, new MappingEntry<>(SubKeys.RECORD, value));
}
@Override
}
@Override
- public void removeMapping(Eid eid, boolean overwrite) {
- Eid key = MaskUtil.normalize(eid);
- dao.removeSpecific(key, SubKeys.RECORD);
+ public Set<Eid> getSubtree(Eid key) {
+ return Collections.emptySet();
}
@Override
- public void addAuthenticationKey(Eid eid, MappingAuthkey authKey) {
+ public void removeMapping(Eid eid) {
Eid key = MaskUtil.normalize(eid);
- dao.put(key, new MappingEntry<>(SubKeys.AUTH_KEY, authKey));
- }
-
- @Override
- public MappingAuthkey getAuthenticationKey(Eid eid) {
- Eid key = MaskUtil.normalize(eid);
- Object data = dao.getSpecific(key, SubKeys.AUTH_KEY);
- if (data instanceof MappingAuthkey) {
- return (MappingAuthkey) data;
- } else {
- return null;
- }
- }
-
- @Override
- public void removeAuthenticationKey(Eid eid) {
- Eid key = MaskUtil.normalize(eid);
- dao.removeSpecific(key, SubKeys.AUTH_KEY);
- }
-
- @Override
- public void updateMappingRegistration(Eid eid, Long timestamp) {
- Eid key = MaskUtil.normalize(eid);
- if (dao.get(key) != null) {
- if (timestamp == null) {
- timestamp = System.currentTimeMillis();
- }
- dao.put(key, new MappingEntry<>(SubKeys.REGDATE, new Date(timestamp)));
- }
+ dao.removeSpecific(key, SubKeys.RECORD);
}
@Override
- public void addData(Eid eid, String subKey, Object data) {
+ public void addData(Eid eid, String subKey, Object value) {
Eid key = MaskUtil.normalize(eid);
- dao.put(key, new MappingEntry<>(subKey, data));
+ dao.put(key, new MappingEntry<>(subKey, value));
}
@Override
@Override
public String printMappings() {
- final StringBuffer sb = new StringBuffer();
- sb.append("Keys\tValues\n");
- dao.getAll(new IRowVisitor() {
- String lastKey = "";
+ return LispMapCacheStringifier.printFMCMappings(dao);
+ }
- public void visitRow(Object keyId, String valueKey, Object value) {
- String key = keyId.getClass().getSimpleName() + "#" + keyId;
- if (!lastKey.equals(key)) {
- sb.append("\n" + key + "\t");
- }
- sb.append(valueKey + "=" + value + "\t");
- lastKey = key;
- }
- });
- sb.append("\n");
- return sb.toString();
+ @Override
+ public String prettyPrintMappings() {
+ return LispMapCacheStringifier.prettyPrintFMCMappings(dao);
}
}