[
https://issues.apache.org/jira/browse/SLING-8310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16787660#comment-16787660
]
Ashish Chopra commented on SLING-8310:
--------------------------------------
The problem was that the class was made an OSGi {{@Component}} via SLING-7612
[0], but wasn't made {{public}}, thus SCR wasn't able to instantiate it -
making it {{public}} fixes the issue.
trivial patch attached as
[^0001-SLING-8310-mimetypes-Web-Console-Printer-broken.patch]
[0]
https://github.com/apache/sling-org-apache-sling-commons-mime/commit/4606f104d9fc15ab1681c125a0abcd7096dfcbdb
> mimetypes Web Console Printer broken
> ------------------------------------
>
> Key: SLING-8310
> URL: https://issues.apache.org/jira/browse/SLING-8310
> Project: Sling
> Issue Type: Bug
> Components: Commons
> Affects Versions: Commons Mime 2.2.0
> Reporter: Ashish Chopra
> Priority: Major
> Attachments:
> 0001-SLING-8310-mimetypes-Web-Console-Printer-broken.patch
>
>
> {{/system/console/mimetypes}} is broken in v2.2.0 of CoOmmons MIME - post [0]
> {{org.apache.sling.commons.mime.internal.MimeTypeWebConsolePlugin}} stays
> unsatisfied, so the "Sling MIME Types" printer entry doesn't appear in the
> system-console's Sling menu.
> However, in subsequent commit (specifically due to [1]), the printer entry
> does appear in the Menu (because the component is now satisfied), but the
> page fails to load with stack-trace at [2] since the component fails
> activation due to {{java.lang.InstantiationException: Constructor not found}}.
> [0]
> https://github.com/apache/sling-org-apache-sling-commons-mime/commit/4606f104d9fc15ab1681c125a0abcd7096dfcbdb
> [1]
> https://github.com/apache/sling-org-apache-sling-commons-mime/commit/13b5592d0657b8e382b13f911d121b37ff0686d9#diff-cbf2203631e848af70ed5a42adb0c350L61
> [2]
> {noformat}
> java.lang.InstantiationException: Constructor not found.
> at
> org.apache.felix.scr.impl.inject.ComponentConstructor.newInstance(ComponentConstructor.java:243)
> at
> org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:277)
> at
> org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114)
> at
> org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:982)
> at
> org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955)
> at
> org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:900)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:348)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:248)
> at
> org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:350)
> at org.apache.felix.framework.Felix.getService(Felix.java:3954)
> at
> org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:450)
> at
> org.apache.felix.webconsole.internal.servlet.PluginHolder$ServletPlugin.doGetConsolePlugin(PluginHolder.java:719)
> at
> org.apache.felix.webconsole.internal.servlet.PluginHolder$Plugin.getConsolePlugin(PluginHolder.java:594)
> at
> org.apache.felix.webconsole.internal.servlet.PluginHolder.getPlugin(PluginHolder.java:205)
> at
> org.apache.felix.webconsole.internal.servlet.OsgiManager.getConsolePlugin(OsgiManager.java:645)
> at
> org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:536)
> at
> org.apache.felix.webconsole.internal.servlet.OsgiManager$3.run(OsgiManager.java:465)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:461)
> at
> org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:123)
> at
> org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:86)
> at
> com.adobe.granite.license.impl.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:308)
> at
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:142)
> at
> org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81)
> at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:131)
> at
> org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:142)
> at
> org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81)
> at
> org.apache.felix.http.base.internal.dispatch.Dispatcher$1.doFilter(Dispatcher.java:146)
> at
> org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$2.doFilter(WhiteboardManager.java:1002)
> at
> org.apache.sling.security.impl.ReferrerFilter.doFilter(ReferrerFilter.java:326)
> at
> org.apache.felix.http.base.internal.handler.PreprocessorHandler.handle(PreprocessorHandler.java:136)
> at
> org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$2.doFilter(WhiteboardManager.java:1008)
> at
> org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:97)
> at
> org.apache.felix.http.base.internal.handler.PreprocessorHandler.handle(PreprocessorHandler.java:136)
> at
> org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$2.doFilter(WhiteboardManager.java:1008)
> at
> org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.invokePreprocessors(WhiteboardManager.java:1012)
> at
> org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:91)
> at
> org.apache.felix.http.base.internal.dispatch.DispatcherServlet.service(DispatcherServlet.java:49)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:873)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:542)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1701)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1668)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
> at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
> at org.eclipse.jetty.server.Server.handle(Server.java:502)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
> at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
> at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
> at
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
> at
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
> at java.lang.Thread.run(Thread.java:748)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)