DiscoveryManagement disco = (DiscoveryManagement)Config.getNonNullEntry(config,
BROWSER,
"discoveryManager",
DiscoveryManagement.class);
if (!(disco instanceof DiscoveryGroupManagement)) {
throw new ConfigurationException("discoveryManager does not support DiscoveryGroupManagement");
} else if (!(disco instanceof DiscoveryLocatorManagement)) {
throw new ConfigurationException("discoveryManager does not support DiscoveryLocatorManagement");
}
this.disco = (DiscoveryGroupManagement) disco;
String[] groups = this.disco.getGroups();
if (groups == null || groups.length > 0) {
throw new ConfigurationException("discoveryManager cannot have initial groups");
}
if (((DiscoveryLocatorManagement) disco).getLocators().length > 0) {
throw new ConfigurationException("discoveryManager cannot have initial locators");
}
} catch (NoSuchEntryException e) {
disco = new LookupDiscoveryManager(new String[0], new LookupLocator[0], null, config);
}
disco.setGroups((String[]) config.getEntry(BROWSER,