Uploaded image for project: 'Hippo CMS'
  1. Hippo CMS
  2. CMS-15547

[Port to SaaS] Dynamic beans failing for multiple docbase field

    XMLWordPrintable

Details

    • Bug
    • Status: Open
    • Normal
    • Resolution: Unresolved
    • None
    • None
    • None
    • None
    • Pulsar
    • Orion.Cycle.Sprint.Candidate
    • Undetermined

    Description

      Port issue CMS-15523 from brXM to SaaS, if wanted. Not sure docbase is used.

      Note that DynamicBeanBuilder has changed from class to interface so perhaps reimplement this oneliner rather than cherry pick.


      If a multiple Docbase field is present in a document type, DynamicBeanBuilder fails with a long stack trace with "None of [_methods_] allows for delegation from public HippoBean":

      [INFO] [talledLocalContainer] 17.08.2023 10:12:35 WARN  http-nio-8080-exec-4 [HstDelegateeFilterBean.doFilter:742] ContainerException for 'Request{ method='GET', scheme='http', host='localhost:8080', requestURI='/site/content', queryString='null'}': org.hippoecm.hst.core.container.ContainerException: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgumentException: None of [protected void java.lang.Object.finalize() throws java.lang.Throwable, public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException, public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException, public final void java.lang.Object.wait() throws java.lang.InterruptedException, public boolean java.lang.Object.equals(java.lang.Object), public java.lang.String java.lang.Object.toString(), public native int java.lang.Object.hashCode(), public final native java.lang.Class java.lang.Object.getClass(), protected native java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException, public final native void java.lang.Object.notify(), public final native void java.lang.Object.notifyAll(), public java.util.List org.hippoecm.hst.content.beans.dynamic.DynamicBeanBuilder$MultipleDocbaseInterceptor.getDocbaseItem(java.lang.Object)] allows for delegation from public org.hippoecm.hst.content.beans.standard.HippoBean org.example.beans.ContentDocument$Contentdocument$PRh1X7UZ.getMultipleDocbase1()
      

      Reproduction

      • in a default archetype-based project, add a Docbase field to a document type (e.g. Simple Document)
      • set it as the Multiple, commit the type
      • access a page that has instantiates a corresponding bean (e.g. http://localhost:8080/site/content)

      Attachments

        Issue Links

          Activity

            People

              ekarakus Erdem Karakus
              jhoffman Jeroen Hoffman
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: