}
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);