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

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

I assume you want to be able to overwrite/extend the default list of plugins, 
right ?

Why would you want to do that ? Do you have a problem you cannot solve by just 
registering plugins and thus need to place your plugins in the same bundle as 
the web console and thus extend the web console servlet ?

Thanks for clarification.

> 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