[ 
https://issues.apache.org/jira/browse/FELIX-1014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12700562#action_12700562
 ] 

Felix Meschberger commented on FELIX-1014:
------------------------------------------

Ah right, I now remember we discussed this at ApacheCon EU 09 and came to the 
conclusion, that it would be nice to be able to easily disable the default 
plugins to be able to provide replacements.

I think, this should rather be done by configuration, than by overwriting the 
OsgiManagerServlet.

> Hardcoded list of webconsole plugins in OSGiManager
> ---------------------------------------------------
>
>                 Key: FELIX-1014
>                 URL: https://issues.apache.org/jira/browse/FELIX-1014
>             Project: Felix
>          Issue Type: Sub-task
>          Components: Web Console
>    Affects Versions: webconsole-1.2.8
>            Reporter: Thomas Diesler
>
> 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() );

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to