package org.rhq.plugin1;
import java.net.URL;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import dummy.Dummy;
import org.rhq.core.pluginapi.inventory.ClassLoaderFacet;
import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
import org.rhq.core.pluginapi.inventory.ResourceComponent;
import org.rhq.core.pluginapi.inventory.ResourceContext;
import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
public class SamplePlugin1BDiscoveryComponent implements ResourceDiscoveryComponent, ClassLoaderFacet {
private ResourceDiscoveryContext context;
public Set<DiscoveredResourceDetails> discoverResources(ResourceDiscoveryContext context) {
System.out.println("Discovering plugin1-1B");
this.context = context;
HashSet<DiscoveredResourceDetails> set = new HashSet<DiscoveredResourceDetails>();
String key = "plugin1-1B";
String name = "plugin1-1B";
String version = "1.0";
String description = "This describes plugin1-1B";
DiscoveredResourceDetails resource = new DiscoveredResourceDetails(context.getResourceType(), key, name,
version, description, null, null);
set.add(resource);
System.out.println("+ plugin1-1B discover Dummy.VERSION=" + Dummy.VERSION);
System.out.println("+ plugin1-1B discover Dummy.getVersion=" + (new Dummy()).getVersion());
System.out.println("+ plugin1-1B discover Dummy classloader=" + Dummy.class.getClassLoader());
System.out.println("+ plugin1-1B discover resourcetype=" + this.context.getResourceType());
System.out.println("+ plugin1-1B discover this classloader=" + this.getClass().getClassLoader());
System.out.println("+ plugin1-1B discover ctx classloader=" + Thread.currentThread().getContextClassLoader());
System.out.println("==========");
return set;
}
@SuppressWarnings("unchecked")
public List<URL> getAdditionalClasspathUrls(ResourceDiscoveryContext context, DiscoveredResourceDetails details) {
ResourceComponent parentComponent = context.getParentResourceComponent();
ResourceContext parentContext = context.getParentResourceContext();
System.out.println("+ plugin1-1B cl-facet parent context resource key=" + parentContext.getResourceKey());
System.out.println("+ plugin1-1B cl-facet parent context resource type=" + parentContext.getResourceType());
System.out.println("+ plugin1-1B cl-facet parent component=" + parentComponent);
System.out.println("+ plugin1-1B cl-facet parent component CL=" + parentComponent.getClass().getClassLoader());
System.out.println("+ plugin1-1B cl-facet ctx CL=" + Thread.currentThread().getContextClassLoader());
System.out.println("~~~~~~~~~~");
return Collections.emptyList();
}
}