package org.rhq.plugins.irc;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
import java.util.HashSet;
import java.util.Set;
import java.util.List;
/**
* Discovery class
* @author Greg Hinkle
*/
public class IRCChannelDiscoveryComponent implements ResourceDiscoveryComponent<IRCServerComponent> {
private final Log log = LogFactory.getLog(this.getClass());
public static final String CONFIG_CHANNEL = "channelName";
/**
* Run the discovery
*/
public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext discoveryContext) throws Exception {
Set<DiscoveredResourceDetails> discoveredResources = new HashSet<DiscoveredResourceDetails>();
List<Configuration> contextPluginConfigurations = discoveryContext.getPluginConfigurations();
for (Configuration config : contextPluginConfigurations) {
String channel = config.getSimple(CONFIG_CHANNEL).getStringValue();
DiscoveredResourceDetails details =
new DiscoveredResourceDetails(
discoveryContext.getResourceType(),
channel,
"Channel " + channel,
null, null,
config,
null
);
discoveredResources.add(details);
}
return discoveredResources;
}
}