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)