package org.rhq.plugins.byteman;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.jboss.byteman.agent.submit.Submit;
import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
public class BytemanRuleDiscoveryComponent implements ResourceDiscoveryComponent<BytemanScriptComponent> {
public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext<BytemanScriptComponent> context)
throws Exception {
Set<DiscoveredResourceDetails> details = new HashSet<DiscoveredResourceDetails>();
Submit client = context.getParentResourceComponent().getBytemanClient();
List<String> rules = context.getParentResourceComponent().getRules();
if (rules != null && !rules.isEmpty()) {
for (String rule : rules) {
String ruleName = client.determineRuleName(rule);
details.add(new DiscoveredResourceDetails(context.getResourceType(), ruleName, ruleName, "unversioned",
"A rule defined in a Byteman script", null, null));
}
}
return details;
}
}