Instead of
private static final String[] PLUGIN_CLASSES =
{ "org.apache.felix.webconsole.internal.compendium.ComponentConfigurationPrinter",
"org.apache.felix.webconsole.internal.compendium.ComponentsServlet",
"org.apache.felix.webconsole.internal.compendium.ConfigManager",
"org.apache.felix.webconsole.internal.core.BundlesServlet",
"org.apache.felix.webconsole.internal.core.InstallAction",
"org.apache.felix.webconsole.internal.core.SetStartLevelAction",
"org.apache.felix.webconsole.internal.deppack.DepPackServlet",
"org.apache.felix.webconsole.internal.misc.EventAdminServlet",
"org.apache.felix.webconsole.internal.misc.LicenseServlet",
"org.apache.felix.webconsole.internal.misc.ConfigurationRender",
"org.apache.felix.webconsole.internal.misc.ShellServlet",
"org.apache.felix.webconsole.internal.obr.BundleRepositoryRender",
"org.apache.felix.webconsole.internal.obr.InstallFromRepoAction",
"org.apache.felix.webconsole.internal.obr.RefreshRepoAction",
"org.apache.felix.webconsole.internal.system.GCAction",
"org.apache.felix.webconsole.internal.system.VMStatPlugin" }
;
we propose
protected String[] getPluginClasses()
{
return new String[]
{
"org.apache.felix.webconsole.internal.compendium.ComponentConfigurationPrinter",
"org.apache.felix.webconsole.internal.compendium.ComponentsServlet",
"org.apache.felix.webconsole.internal.compendium.ConfigManager",
"org.apache.felix.webconsole.internal.core.BundlesServlet",
"org.apache.felix.webconsole.internal.core.InstallAction",
"org.apache.felix.webconsole.internal.core.SetStartLevelAction",
"org.apache.felix.webconsole.internal.deppack.DepPackServlet",
"org.apache.felix.webconsole.internal.misc.EventAdminServlet",
"org.apache.felix.webconsole.internal.misc.LicenseServlet",
"org.apache.felix.webconsole.internal.misc.ConfigurationRender",
"org.apache.felix.webconsole.internal.misc.ShellServlet",
"org.apache.felix.webconsole.internal.obr.BundleRepositoryRender",
"org.apache.felix.webconsole.internal.obr.InstallFromRepoAction",
"org.apache.felix.webconsole.internal.obr.RefreshRepoAction",
"org.apache.felix.webconsole.internal.system.GCAction",
"org.apache.felix.webconsole.internal.system.ShutdownAction",
"org.apache.felix.webconsole.internal.system.ShutdownRender",
"org.apache.felix.webconsole.internal.system.VMStatRender", }
;
}
/**
- The default value for the
{@link #PROP_MANAGER_ROOT}
configuration
- property (value is "/system/console").
*/
protected String getDefaultManagerRoot()
{
return DEFAULT_MANAGER_ROOT;
}
----------------------
public void init()
{
// base class initialization not needed, since the GenericServlet.init
// is an empty method
// get the installed plugin classes
String[] pluginClasses = getPluginClasses();
// setup the included plugins
ClassLoader classLoader = getClass().getClassLoader();
for ( int i = 0; i < pluginClasses.length; i++ )
{
String pluginClassName = pluginClasses[i];
try
{
-------------------
void updateConfiguration( Dictionary config )
{
// get the web manager root path
webManagerRoot = this.getProperty( config, PROP_MANAGER_ROOT, getDefaultManagerRoot() );