/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ package Sirius.server.registry; import Sirius.server.*; import java.util.HashMap; import java.util.Vector; /** * DOCUMENT ME! * * @version $Revision$, $Date$ */ public class ServerManager { //~ Instance fields -------------------------------------------------------- // protected ServerProperties props; protected ServerListHash servers; protected IpListHash ips; //~ Constructors ----------------------------------------------------------- /** * Creates a new ServerManager object. */ ServerManager( /*ServerProperties props*/) { // this.props=props; servers = new ServerListHash(); ips = new IpListHash(); } //~ Methods ---------------------------------------------------------------- /** * DOCUMENT ME! * * @param serverTyp DOCUMENT ME! * @param name DOCUMENT ME! * @param ip DOCUMENT ME! * * @return DOCUMENT ME! * * @throws Exception DOCUMENT ME! */ public boolean registerServer(final int serverTyp, final String name, final String ip) throws Exception { return registerServer(serverTyp, name, ""); // NOI18N } /** * DOCUMENT ME! * * @param serverTyp DOCUMENT ME! * @param name DOCUMENT ME! * @param ip DOCUMENT ME! * @param port DOCUMENT ME! * * @return DOCUMENT ME! * * @throws Exception DOCUMENT ME! */ public boolean registerServer(final int serverTyp, final String name, final String ip, final String port) throws Exception { final boolean ipsDone = ips.addServerIP(serverTyp, name, ip, port); final boolean serversDone = servers.addServer(serverTyp, name, ip, port); return serversDone && ipsDone; } /** * DOCUMENT ME! * * @param serverTyp DOCUMENT ME! * @param name DOCUMENT ME! * @param ip DOCUMENT ME! * * @return DOCUMENT ME! * * @throws Exception DOCUMENT ME! */ public boolean unregisterServer(final int serverTyp, final String name, final String ip) throws Exception { return unregisterServer(serverTyp, name, ""); // NOI18N } /** * DOCUMENT ME! * * @param serverTyp DOCUMENT ME! * @param name DOCUMENT ME! * @param ip DOCUMENT ME! * @param port DOCUMENT ME! * * @return DOCUMENT ME! * * @throws Exception DOCUMENT ME! */ public boolean unregisterServer(final int serverTyp, final String name, final String ip, final String port) throws Exception { final boolean ipsDone = ips.removeServerIP(serverTyp, name, ip, port); final boolean serversDone = servers.removeServer(serverTyp, name /*,ip,port*/); return ipsDone && serversDone; } //------------------------------------------------------------------------------------------------------------- /** * DOCUMENT ME! * * @param serverTyp DOCUMENT ME! * * @return DOCUMENT ME! * * @throws Exception DOCUMENT ME! */ public HashMap<String, String> getServerIPs(final int serverTyp) throws Exception { return ips.getServerIPs(serverTyp); } /** * ------------------------------------------------------------------------------------------------------------- * * @param serverTyp DOCUMENT ME! * @param name DOCUMENT ME! * * @return DOCUMENT ME! * * @throws Exception DOCUMENT ME! */ String getServerIP(final int serverTyp, final String name) throws Exception { return ips.getServerIP(serverTyp, name); } /** * ------------------------------------------------------------------------------------------------------------- * * @param serverTyp DOCUMENT ME! * * @return DOCUMENT ME! */ public Server[] getServers(final int serverTyp) { final Vector s = servers.getServerList(serverTyp); return (Server[])s.toArray(new Server[s.size()]); } /** * ------------------------------------------------------------------------------------------------------------- * * @param serverTyp DOCUMENT ME! * @param serverName DOCUMENT ME! * * @return DOCUMENT ME! */ public Server getServer(final int serverTyp, final String serverName) { return servers.getServer(serverTyp, serverName); } /** * DOCUMENT ME! * * @param serverTyp DOCUMENT ME! * * @return DOCUMENT ME! */ public int getServerCount(final int serverTyp) { return servers.getServerList(serverTyp).size(); } }