*/
public static void addDiscoveryProxy(DiscoveryProxyDetails pd, Registry registry)
throws DiscoveryException, RegistryException {
if (pd.getName() == null || "".equals(pd.getName())) {
throw new DiscoveryException("No name specified for the discovery proxy");
}
String path = DISCOVERY_PROXY_ROOT + pd.getName();
if (registry.resourceExists(path)) {
throw new DiscoveryException("The discovery proxy named " + pd.getName() +
" already exists");
}
if (pd.getUrl() == null || "".equals(pd.getUrl())) {
throw new DiscoveryException("No URL specified for the discovery proxy");
}
if (pd.getPolicy() != null && !registry.resourceExists(pd.getPolicy())) {
throw new DiscoveryException("The policy resource: " + pd.getPolicy() +
" does not exist");
}
URL url;
try {
url = new URL(pd.getUrl());
} catch (MalformedURLException e) {
throw new DiscoveryException("Invalid URL specified for the discovery proxy", e);
}
Resource proxy = registry.newResource();
proxy.setContent(url.toString());
proxy.setProperty(DISCOVERY_PROXY_NAME, pd.getName());