package es.tid.pce.server.lspdb; /** * Interface for a database of rpts * * @author Ayk * */ import java.util.Hashtable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import es.tid.pce.pcep.constructs.StateReport; public class ReportDB_Simple implements ReportDB { protected Hashtable<Integer, StateReport> StateReportList; protected Logger log; protected String moduleId=""; public ReportDB_Simple(String moduleId) { this.moduleId = moduleId; StateReportList = new Hashtable<Integer, StateReport>(); log = LoggerFactory.getLogger("Roadm"); } public void add(StateReport rpt) { int key = getKey(rpt); StateReportList.put(key, rpt); }; public StateReport remove(StateReport rpt) throws NullPointerException { int key = getKey(rpt); return StateReportList.remove(key); }; public StateReport remove(int lspId) throws NullPointerException { return StateReportList.remove(lspId); }; public void clearReports() { StateReportList = new Hashtable<Integer, StateReport>(); }; public void update(StateReport rpt) { add(rpt); }; public StateReport get(int lspId) { return StateReportList.get(lspId); } public String getModuleId() { return moduleId; } public void setModuleId(String moduleId) { this.moduleId = moduleId; } @Override public int getVersion() { return StateReportList.size(); } public int getKey(StateReport rpt) { return rpt.getLSP().getLspId(); } }