/** Put ServerInfo into registry */ private void put(ServerInfo info) { synchronized (serverInfos) { // store private copy ! info = info.duplicate(); updateServerInfoID(info); logger.debugPrintf("+++ Storing info:%s\n", info); ServerInfo prev = this.serverInfos.get(info.getID()); if (prev == info) logger.infoPrintf(">>> updating ServerInfo:%s\n", info); else if (prev != null) logger.infoPrintf(">>> WARNING: Overwriting previous object with:%s\n", info); else logger.infoPrintf(">>> storing new ServerInfo:%s\n", info); this.serverInfos.put(info.getID(), info); // mark dirty: this.isSaved = false; } }
public ServerInfo remove(ServerInfo info) { if (info == null) return null; logger.infoPrintf("--- Removing ServerInfo:%s\n", info); ServerInfo prev = null; synchronized (this.serverInfos) { String key = info.getID(); // return NULL if key hasn't been // set/info hasn't been stored ! if (key != null) prev = this.getServerInfo(key); removeByKey(key); return prev; } }