/** * Return 1st ServerInfo object for the specified Scheme. Is used to find *any* server of the * specified protocol. * * @param scheme * @return ServerInfo object */ public ServerInfo getServerInfoForScheme(String scheme) { if (scheme == null) return null; ServerInfo infos[] = this.getServerInfos(scheme, null); if ((infos == null) || (infos.length <= 0)) { logger.warnPrintf("Couldn't find server info for scheme:%s\n", scheme); return null; } return infos[0]; }
/** Find ServerInfos for specified location, this can be 0 or more matches ! */ public ServerInfo[] getServerInfosFor(VRL loc) { String host = loc.getHostname(); int port = loc.getPort(); String scheme = loc.getScheme(); String userInfo = loc.getUserinfo(); // use FULL userinformation // no port in VRL mean => use DEFAULT, not DON'T CARE. (-1= DON'T CARE) if (port < 0) port = 0; ServerInfo[] infos = this.getServerInfos(scheme, host, port, userInfo); if (infos != null) if (infos.length > 1) logger.warnPrintf("Warning: matched more then 1 ServerInfo for location:%s\n", loc); // else // logger.warnPrintf(">>> returning 1 info:"+infos[0]); return infos; }