package org.rhq.plugins.jbossas5; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.rhq.core.pc.PluginContainer; import org.rhq.core.pc.PluginContainerConfiguration; import org.rhq.core.pc.plugin.SimplePluginFinder; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletContext; import javax.servlet.http.HttpServlet; import java.net.URL; import java.util.Set; /** * @author Jason Dobies */ public class BootstrapServlet extends HttpServlet { private static final Log LOG = LogFactory.getLog(BootstrapServlet.class); public void init(ServletConfig config) throws ServletException { super.init(config); try { bootstrap(); } catch (Exception e) { LOG.error("Error bootstrapping AS 5 Plugin Test Suite", e); } } private void bootstrap() throws Exception { ServletContext context = getServletContext(); SimplePluginFinder finder = new SimplePluginFinder(); Set<String> pluginStringSet = context.getResourcePaths("/plugins/"); for (String pluginString : pluginStringSet) { if (pluginString.endsWith(".jar")) { URL pluginUrl = context.getResource(pluginString); finder.addUrl(pluginUrl); } } PluginContainerConfiguration config = new PluginContainerConfiguration(); config.setPluginFinder(finder); PluginContainer container = PluginContainer.getInstance(); container.setConfiguration(config); //container.initialize(); //Collection<PluginEnvironment> plugins = container.getPluginManager().getPlugins(); //for (PluginEnvironment pluginEnvironment : plugins) //{ // LOG.info("Loaded Plugin: " + pluginEnvironment.getPluginName()); //} //LOG.info("==============================================="); } }