return;
}
private void discovery(String pcName, PrintWriter out, String pluginName, String resourceTypeName, boolean verbose)
throws Exception {
PluginContainer pc = PluginContainer.getInstance();
PluginMetadataManager metadataManager = pc.getPluginManager().getMetadataManager();
Set<ResourceType> typesToDiscover = new TreeSet<ResourceType>(new PluginPrimaryResourceTypeComparator());
// make sure the plugin exists first (if one was specified)
Set<String> allPlugins = metadataManager.getPluginNames();
if (pluginName != null) {
if (!allPlugins.contains(pluginName)) {
out.println(MSG.getMsg(AgentI18NResourceKeys.DISCOVERY_BAD_PLUGIN_NAME, pluginName));
return;
}
}
// determine which resource types are to be discovered
Set<ResourceType> allTypes = metadataManager.getAllTypes();
if (resourceTypeName != null) {
for (ResourceType type : allTypes) {
if (type.getName().equals(resourceTypeName)) {
if ((pluginName == null) || (pluginName.equals(type.getPlugin()))) {
typesToDiscover.add(type);
}
}
}
} else {
// if a plugin was specified, only discover its types; otherwise, discover ALL types
if (pluginName != null) {
for (ResourceType type : allTypes) {
if (pluginName.equals(type.getPlugin())) {
typesToDiscover.add(type);
}
}
} else {
typesToDiscover.addAll(allTypes);
}
}
if (typesToDiscover.size() == 0) {
if (pluginName == null) {
out.println(MSG.getMsg(AgentI18NResourceKeys.DISCOVERY_BAD_RESOURCE_TYPE_NAME, resourceTypeName));
} else {
out.println(MSG.getMsg(AgentI18NResourceKeys.DISCOVERY_BAD_PLUGIN_RESOURCE_TYPE_NAME, pluginName,
resourceTypeName));
}
return;
}
InventoryManager inventoryManager = pc.getInventoryManager();
HashSet<ResourceType> blacklist = inventoryManager.getDiscoveryComponentProxyFactory()
.getResourceTypeBlacklist();
Iterator<ResourceType> iterator = blacklist.iterator();
while (iterator.hasNext()) {
ResourceType type = iterator.next();