sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ben Fortuna (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SLING-8562) Unable to resolve ESP scripts loaded from Filesystem Resource Provider
Date Tue, 09 Jul 2019 01:46:00 GMT

    [ https://issues.apache.org/jira/browse/SLING-8562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16880843#comment-16880843
] 

Ben Fortuna commented on SLING-8562:
------------------------------------

Can reproduce issue with both Java 8 and Java 11.

It appears that the jsFunctions are not being registered with the Rhino script engine, so
it falls back on calling
{code:java}
javax.jcr.Node.getNodes(String){code}
This is possibly also happening with regular bundles, but in such cases the Node implementation
is an actual JCR node rather than the FsNode partial implementation.

I'd be interested to know what the roadmap for Javascript support in Sling involves, as Nashorn
is being deprecated in favour of GraalVM, so is Rhino the preferred script engine?

 

> Unable to resolve ESP scripts loaded from Filesystem Resource Provider
> ----------------------------------------------------------------------
>
>                 Key: SLING-8562
>                 URL: https://issues.apache.org/jira/browse/SLING-8562
>             Project: Sling
>          Issue Type: Bug
>    Affects Versions: Scripting Core 2.0.46, File System Resource Provider 2.1.16
>            Reporter: Ben Fortuna
>            Priority: Major
>
> A simple test fails when trying to load a resource via Sling Filesystem Resource Provider.
> /content/sample/index.json:
> {code:java}
> {
>   "sling:resourceType": "sample/page/index",
>   "jcr:primaryType": "nt:unstructured",
>   "title": "Sample App"
> }{code}
>  
> /apps/sample/page/index/html.esp:
> {code:java}
> <html>
> <head><title>${currentNode.title}</title></head>
> <body></body>
> </html>{code}
>  
> When both content and app are mounted via Filesystem Resource Provider config the following
error results:
> {code:java}
> Internal Server Error (500)
> Exception:
> java.lang.UnsupportedOperationException
>   at org.apache.sling.fsprovider.internal.mapper.jcr.FsNode.getNodes(FsNode.java:517)
>   at org.apache.sling.scripting.javascript.wrapper.ScriptableNode.get(ScriptableNode.java:319)
> ...{code}
>  
> Basically the javascript renderer tries to call `Node.getNodes(pattern)` to resolve the
property `currentNode.title` but Filesystem Resource Provider doesnt support this method.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message