package org.rhq.modules.plugins.jbossas7;
import java.util.HashSet;
import java.util.Set;
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.configuration.PropertySimple;
import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
import org.rhq.core.pluginapi.inventory.ResourceContext;
import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
/**
* Discovery component for special treatment of JVMs, which live below server=server-x for managed servers
* @author Heiko W. Rupp
*/
public class JVMDiscoveryComponent extends SubsystemDiscovery {
@Override
public Set<DiscoveredResourceDetails> discoverResources(
ResourceDiscoveryContext<BaseComponent<?>> context) throws Exception {
ResourceContext parentContext = context.getParentResourceContext();
if (!parentContext.getResourceType().getName().equals("Managed Server"))
return super.discoverResources(context);
PropertySimple pathProp = parentContext.getPluginConfiguration().getSimple("path");
String path = pathProp.getStringValue();
path = path.replaceAll("server-config=","server=");
path = path + ",core-service=platform-mbean";
Configuration config = new Configuration();
PropertySimple ps = new PropertySimple("path",path);
config.getProperties().add(ps);
DiscoveredResourceDetails detail = new DiscoveredResourceDetails(
context.getResourceType(),
path,
path, // dname, todo
null,
context.getResourceType().getDescription(),
config,
null
);
Set<DiscoveredResourceDetails> discoveredResourceDetails = new HashSet<DiscoveredResourceDetails>();
discoveredResourceDetails.add(detail);
return discoveredResourceDetails;
}
}