/** * Add an SSA server resource to the known list. * * @param server an instance of RegResource. * @param save if true then the backing store of servers should be updated. */ protected void addServer(SSAPRegResource server, boolean save) { serverList.put(server.getShortName(), server); if (save) { try { saveServers(); } catch (SplatException e) { // Do nothing, it's not fatal. } } }
/** Read an InputStream that contains a list of servers to restore. */ protected boolean restoreServers(InputStream inputStream) throws SplatException { XMLDecoder decoder = new XMLDecoder(inputStream); boolean ok = true; SSAPRegResource server = null; while (true) { try { server = (SSAPRegResource) decoder.readObject(); String name = server.getShortName(); if (name == null || name.length() == 0) name = "<>"; serverList.put(name, server); selectionList.put(name, true); } catch (ArrayIndexOutOfBoundsException e) { break; // End of list. } catch (NoSuchElementException e) { System.out.println( "Failed to read server list " + " (old-style or invalid): '" + e.getMessage() + "'"); ok = false; break; } } decoder.close(); return ok; }
/** * Remove an SSA server from the known list, if already present. * * @param server an instance of RegResource. */ public void removeServer(SSAPRegResource server) { serverList.remove(server.getShortName()); }