You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2013/06/06 17:35:27 UTC

[jira] [Closed] (FELIX-3784) Configuration Admin tab not working when Metatype Service API is missing

     [ https://issues.apache.org/jira/browse/FELIX-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger closed FELIX-3784.
------------------------------------


Close after release
                
> Configuration Admin tab not working when Metatype Service API is missing
> ------------------------------------------------------------------------
>
>                 Key: FELIX-3784
>                 URL: https://issues.apache.org/jira/browse/FELIX-3784
>             Project: Felix
>          Issue Type: Bug
>          Components: Web Console
>    Affects Versions: webconsole-4.0.0
>            Reporter: Felix Meschberger
>            Assignee: Felix Meschberger
>             Fix For: webconsole-4.2.0
>
>
> When the MetaType Service API is missing the Web Console Configuration Admin tab is non-operational:
> * displaying the "configMgr" label instead of a title
> * sending 404/NOT FOUND when accessed
> * logging an error message (see at the bottom)
> The ConfigurationAdmin plugin should be refactored such, that:
>   * It operates without the MetaType Service API available
>       (already copes with missing MetaType Service instance)
>   * It properly handles missing Configuration Admin API
>       (same as for missing Configuration Admin Service instance)
> [ERROR] Failed to instantiate plugin org.apache.felix.webconsole.internal.compendium.ConfigManager
> java.lang.NoClassDefFoundError: org/osgi/service/metatype/ObjectClassDefinition
> 	at java.lang.Class.getDeclaredConstructors0(Native Method)
> 	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404)
> 	at java.lang.Class.getConstructor0(Class.java:2714)
> 	at java.lang.Class.newInstance0(Class.java:343)
> 	at java.lang.Class.newInstance(Class.java:325)
> 	at org.apache.felix.webconsole.internal.servlet.PluginHolder$InternalPlugin.doGetConsolePlugin(PluginHolder.java:748)
> 	at org.apache.felix.webconsole.internal.servlet.PluginHolder$Plugin.getConsolePlugin(PluginHolder.java:535)
> 	at org.apache.felix.webconsole.internal.servlet.PluginHolder$Plugin.doGetTitle(PluginHolder.java:522)
> 	at org.apache.felix.webconsole.internal.servlet.PluginHolder$Plugin.getTitle(PluginHolder.java:512)
> 	at org.apache.felix.webconsole.internal.servlet.PluginHolder.getLocalizedLabelMap(PluginHolder.java:248)
> 	at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:470)
> 	at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:418)
> 	at org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
> 	at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
> 	at org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
> 	at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
> 	at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
> 	at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
> 	at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
> 	at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> 	at org.mortbay.jetty.Server.handle(Server.java:326)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:926)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
> 	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> Caused by: java.lang.ClassNotFoundException: org.osgi.service.metatype.ObjectClassDefinition not found by org.apache.felix.webconsole.all [10]
> 	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1460)
> 	at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
> 	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
> 	... 34 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira