Uploaded image for project: 'Magnolia REST Framework'
  1. Magnolia REST Framework
  2. MGNLREST-327

AssetReferenceResolver should be relocated

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • 2.2.8
    • delivery
    • None

      When creating a webapp without the dam installed but rest content delivery included I encountered:
      See AssetReferenceResolver

      2021-08-19 12:47:38,675 INFO  info.magnolia.cms.filters.CompositeFilter         : Initializing filter [Wrapper for RestDispatcherServlet servlet]
      2021-08-19 12:47:38,890 WARN  org.jboss.resteasy.resteasy_jaxrs.i18n            : RESTEASY002145: NoClassDefFoundError: Unable to load builtin provider info.magnolia.rest.reference.dam.AssetWriter from jar:file:/Users/rich.gange/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp2/wtpwebapps/light-public-webapp/WEB-INF/lib/magnolia-rest-content-delivery-2.2.7.jar!/META-INF/services/javax.ws.rs.ext.Providers
      java.lang.NoClassDefFoundError: info/magnolia/dam/api/AssetRendition
      	at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:1.8.0_261]
      	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[?:1.8.0_261]
      	at java.lang.Class.getDeclaredMethods(Class.java:1975) ~[?:1.8.0_261]
      	at org.jboss.resteasy.core.PropertyInjectorImpl.getDeclaredMethods(PropertyInjectorImpl.java:306) ~[resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.core.PropertyInjectorImpl.populateMap(PropertyInjectorImpl.java:83) ~[resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.core.PropertyInjectorImpl.<init>(PropertyInjectorImpl.java:61) ~[resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.core.InjectorFactoryImpl.createPropertyInjector(InjectorFactoryImpl.java:73) ~[resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.core.providerfactory.Utils.injectProperties(Utils.java:75) ~[resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.core.providerfactory.CommonProviders.addMessageBodyWriter(CommonProviders.java:214) ~[resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.core.providerfactory.CommonProviders.processProviderContracts(CommonProviders.java:101) ~[resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.core.providerfactory.ClientHelper.processProviderContracts(ClientHelper.java:104) ~[resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.core.providerfactory.ResteasyProviderFactoryImpl.processProviderContracts(ResteasyProviderFactoryImpl.java:840) ~[resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.core.providerfactory.ResteasyProviderFactoryImpl.registerProvider(ResteasyProviderFactoryImpl.java:828) ~[resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.core.providerfactory.ResteasyProviderFactoryImpl.registerProvider(ResteasyProviderFactoryImpl.java:815) ~[resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.plugins.providers.RegisterBuiltin.registerProviders(RegisterBuiltin.java:109) [resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.plugins.providers.RegisterBuiltin.register(RegisterBuiltin.java:74) [resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.core.ResteasyDeploymentImpl.startInternal(ResteasyDeploymentImpl.java:149) [resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.core.ResteasyDeploymentImpl.start(ResteasyDeploymentImpl.java:122) [resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:144) [resteasy-core-4.5.8.Final.jar:4.5.8.Final]
      	at info.magnolia.rest.RestDispatcherServlet.init(RestDispatcherServlet.java:123) [magnolia-rest-integration-2.2.7.jar:?]
      	at info.magnolia.cms.filters.ServletDispatchingFilter.initializeServlet(ServletDispatchingFilter.java:112) [magnolia-core-6.2.10.jar:?]
      	at info.magnolia.cms.filters.ServletDispatchingFilter.init(ServletDispatchingFilter.java:103) [magnolia-core-6.2.10.jar:?]
      	at info.magnolia.cms.filters.CompositeFilter.initFilters(CompositeFilter.java:92) [magnolia-core-6.2.10.jar:?]
      	at info.magnolia.cms.filters.CompositeFilter.init(CompositeFilter.java:82) [magnolia-core-6.2.10.jar:?]
      	at info.magnolia.cms.filters.CompositeFilter.initFilters(CompositeFilter.java:92) [magnolia-core-6.2.10.jar:?]
      	at info.magnolia.cms.filters.CompositeFilter.init(CompositeFilter.java:82) [magnolia-core-6.2.10.jar:?]
      	at info.magnolia.cms.filters.FilterManagerImpl.initRootFilter(FilterManagerImpl.java:177) [magnolia-core-6.2.10.jar:?]
      	at info.magnolia.cms.filters.FilterManagerImpl$2.doExec(FilterManagerImpl.java:107) [magnolia-core-6.2.10.jar:?]
      	at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:407) [magnolia-core-6.2.10.jar:?]
      	at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:404) [magnolia-core-6.2.10.jar:?]
      	at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:378) [magnolia-core-6.2.10.jar:?]
      	at info.magnolia.cms.filters.FilterManagerImpl.init(FilterManagerImpl.java:102) [magnolia-core-6.2.10.jar:?]
      	at info.magnolia.cms.filters.MgnlMainFilter.init(MgnlMainFilter.java:84) [magnolia-core-6.2.10.jar:?]
      	at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:270) [catalina.jar:9.0.37]
      	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:251) [catalina.jar:9.0.37]
      	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:102) [catalina.jar:9.0.37]
      	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4528) [catalina.jar:9.0.37]
      	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5165) [catalina.jar:9.0.37]
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.37]
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) [catalina.jar:9.0.37]
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) [catalina.jar:9.0.37]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_261]
      	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.37]
      	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) [?:1.8.0_261]
      	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) [catalina.jar:9.0.37]
      	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) [catalina.jar:9.0.37]
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.37]
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) [catalina.jar:9.0.37]
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) [catalina.jar:9.0.37]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_261]
      	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.37]
      	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) [?:1.8.0_261]
      	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) [catalina.jar:9.0.37]
      	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) [catalina.jar:9.0.37]
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.37]
      	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421) [catalina.jar:9.0.37]
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.37]
      	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) [catalina.jar:9.0.37]
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.37]
      	at org.apache.catalina.startup.Catalina.start(Catalina.java:738) [catalina.jar:9.0.37]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_261]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_261]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_261]
      	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_261]
      	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342) [bootstrap.jar:9.0.37]
      	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473) [bootstrap.jar:9.0.37]
      Caused by: java.lang.ClassNotFoundException: info.magnolia.dam.api.AssetRendition
      	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365) ~[catalina.jar:9.0.37]
      	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188) ~[catalina.jar:9.0.37]
      	... 66 more
      2021-08-19 12:47:39,071 DEBUG info.magnolia.rest.RestDispatcherServlet          : Registering additional provider [class info.magnolia.rest.RestExceptionMapper]
      

      Expected
      I should be able to install content delivery without the need for the dam.

      Actual
      The servlet throws a warning about a missing class.

      Notes
      The class should be relocated to a one of the existing dam modules or a separate content delivery dam module.

        Acceptance criteria

              Unassigned Unassigned
              rgange Richard Gange
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:

                  Task DoR