Uploaded image for project: 'Magnolia RSS Aggregator Module'
  1. Magnolia RSS Aggregator Module
  2. MGNLRSSAGG-189

Remove implicit dependency to STK

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Neutral Neutral
    • 2.4
    • None
    • rss_generator
    • None

      This module doesn't have a pom- nor module-descriptor-dependency to STK. However it still uses a class from STK resulting in a ClassNotFoundException when STK is not installed.

      The module also bootstraps content into STK without checking if the module is installed or not.

      Suggested solution for 2.4
      • Move PageSyndicator class from STK to this module
        • Replace STKTemplatingFunctions with TemplateTypeFunctions (see MAGNOLIA-6042)
      • Conditionally bootstrap STK availability (+ IsInstallSamplesTask)
      • Change renderType of components to freemarker (currently is stk, but STK renderer might not be installed)
        • planetFeeds
        • feedStatistics
        • feedSyndication
        • feedSubscriptions
      ClassNotFoundException

      Occurs because /modules/rssaggregator/config/feedGenerators/templateContent references a class from STK info.magnolia.module.templatingkit.syndication.PageSyndicator.

      2015-01-20 16:21:43,912 WARN  magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl: can't resolve class for node /modules/rssaggregator/config/feedGenerators/templateContent
      java.lang.ClassNotFoundException: info.magnolia.module.templatingkit.syndication.PageSyndicator
          at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
          at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
          at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:648)
          at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:516)
          at info.magnolia.module.groovy.support.classes.GroovyClassFactory.forName(GroovyClassFactory.java:89)
          at info.magnolia.jcr.node2bean.impl.Node2BeanTransformerImpl.resolveType(Node2BeanTransformerImpl.java:160)
          at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:117)
          at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toMap(Node2BeanProcessorImpl.java:227)
          at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toBean(Node2BeanProcessorImpl.java:132)
          at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.toMap(Node2BeanProcessorImpl.java:227)
          at info.magnolia.jcr.node2bean.impl.Node2BeanProcessorImpl.setProperties(Node2BeanProcessorImpl.java:184)
          at info.magnolia.module.ModuleManagerImpl.populateModuleInstance(ModuleManagerImpl.java:460)
          at info.magnolia.module.ModuleManagerImpl.startModules(ModuleManagerImpl.java:341)
          at info.magnolia.module.ui.ModuleManagerWebUI$1.doExec(ModuleManagerWebUI.java:106)
          at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:421)
          at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:418)
          at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:392)
          at info.magnolia.module.ui.ModuleManagerWebUI.execute(ModuleManagerWebUI.java:102)
          at info.magnolia.cms.filters.InstallFilter.doFilter(InstallFilter.java:100)
          at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:89)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
          at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65)
          at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:89)
          at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:107)
          at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67)
          at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:108)
          at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:94)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
          at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
          at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
          at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
          at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:745)
      
      Important note

      These changes will break binary compatibility of some classes.

        Acceptance criteria

              pmundt Philip Mundt
              pmundt Philip Mundt
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Bug DoR
                  Task DoD