Robert Munteanu created SLING-13071:
---------------------------------------

             Summary: HTL use objects that adapt from the javax 
SlingHttpServletRequest do not work in a Jakarta context 
                 Key: SLING-13071
                 URL: https://issues.apache.org/jira/browse/SLING-13071
             Project: Sling
          Issue Type: Bug
          Components: HTL
            Reporter: Robert Munteanu
            Assignee: Robert Munteanu
             Fix For: Scripting HTL Engine 2.0.2-1.4.0


The following preconditions are sufficient to trigger the error:

- app running in a Jakarta context ( e.g. Sling Starter 14-SNAPSHOT)
- a HTL has a data-sly-use instruction for a Pojo without a default constructor
- an AdapterFactory exists that adapts from SlingHttpServletRequest to the Pojo

The {{JavaUseProvider}} will fail to adapt from the request and fall back to 
trying the default constructor, with an error such as

{noformat}
Caused by: java.lang.NoSuchMethodException: 
org.apache.sling.starter.testservices.exported.RequestHashCodePojo.<init>()
        at java.base/java.lang.Class.getConstructor0(Class.java:3187)
        at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2491)
        at 
org.apache.sling.scripting.sightly.impl.engine.extension.use.JavaUseProvider.loadObject(JavaUseProvider.java:244)
        at 
org.apache.sling.scripting.sightly.impl.engine.extension.use.JavaUseProvider.provide(JavaUseProvider.java:133)
        at 
org.apache.sling.scripting.sightly.impl.engine.extension.use.UseRuntimeExtension.call(UseRuntimeExtension.java:69)
{noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to