[ 
https://issues.apache.org/jira/browse/SLING-4942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Konrad Windszus updated SLING-4942:
-----------------------------------
    Description: 
In previous versions of sightly (i.e. part of AEM 6.0) {{data-sly-resource}} 
was  not emitting a failure in case a non-existing resource path was 
referenced. Instead it just skipped that Sightly block. With the Sightly 
implementation from Sling this leads to an exception 
({{javax.servlet.ServletException: 
org.apache.sling.api.resource.ResourceNotFoundException: No resource found}}).
There is a difference though if data-sly-resource is also used with the option 
resourceType. In that case it will work perfectly fine on the non-existing 
resource.
Please clarify what is the desired behaviour.
An example exception looks like this
{code}
Caused by: org.apache.sling.scripting.sightly.SightlyException: 
javax.servlet.ServletException: 
org.apache.sling.api.resource.ResourceNotFoundException: No resource found
        at 
com.adobe.cq.sightly.WCMScriptHelper.includeResource(WCMScriptHelper.java:143)
        at 
com.adobe.cq.sightly.WCMScriptHelper.includeResource(WCMScriptHelper.java:86)
        at 
com.adobe.cq.sightly.internal.extensions.ResourceExtension.call(ResourceExtension.java:99)
        at 
org.apache.sling.scripting.sightly.impl.engine.runtime.RenderContextImpl.call(RenderContextImpl.java:89)
        at 
apps.daimler.embxp_wholesale.components.pages.contentpager.SightlyJava_product_html.render(SightlyJava_product_html.java:78)
        at 
org.apache.sling.scripting.sightly.impl.engine.runtime.RenderUnit.render(RenderUnit.java:52)
        at 
org.apache.sling.scripting.sightly.impl.engine.SightlyScriptEngine.evaluateScript(SightlyScriptEngine.java:95)
        at 
org.apache.sling.scripting.sightly.impl.engine.SightlyScriptEngine.eval(SightlyScriptEngine.java:83)
        at 
org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:361)
        at 
org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:171)
        at 
org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:463)
        at 
org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:533)
        at 
org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:44)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:77)
        at 
com.daimler.embxp.wholesale.base.core.servletfilter.DeepLinkingFilter.doFilter(DeepLinkingFilter.java:60)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
        at 
com.daimler.embxp.wholesale.base.core.exception.ExceptionFilter.doFilter(ExceptionFilter.java:118)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
        at 
com.day.cq.personalization.impl.TargetComponentFilter.doFilter(TargetComponentFilter.java:96)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
        at 
com.day.cq.wcm.core.impl.WCMDebugFilter.doFilterWithErrorHandling(WCMDebugFilter.java:182)
        at 
com.day.cq.wcm.core.impl.WCMDebugFilter.doFilter(WCMDebugFilter.java:149)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
        at 
com.day.cq.wcm.core.impl.WCMComponentFilter.doFilter(WCMComponentFilter.java:259)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
        at 
com.day.cq.wcm.core.impl.WCMDeveloperModeFilter.doFilter(WCMDeveloperModeFilter.java:117)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
        at 
org.apache.sling.engine.impl.SlingRequestProcessorImpl.processComponent(SlingRequestProcessorImpl.java:282)
        at 
org.apache.sling.engine.impl.SlingRequestProcessorImpl.dispatchRequest(SlingRequestProcessorImpl.java:322)
        at 
org.apache.sling.engine.impl.request.SlingRequestDispatcher.dispatch(SlingRequestDispatcher.java:216)
        at 
org.apache.sling.engine.impl.request.SlingRequestDispatcher.include(SlingRequestDispatcher.java:103)
        at 
com.day.cq.wcm.core.impl.WCMComponentFilter$ForwardRequestDispatcher.include(WCMComponentFilter.java:445)
        at 
org.apache.jsp.libs.foundation.components.primary.cq.Page.Page_jsp._jspService(Page_jsp.java:106)
        at 
org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:502)
        ... 251 common frames omitted
Caused by: javax.servlet.ServletException: 
org.apache.sling.api.resource.ResourceNotFoundException: No resource found
        at 
        at 
com.daimler.embxp.wholesale.base.core.exception.ExceptionFilter.doFilter(ExceptionFilter.java:124)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
        at 
com.day.cq.personalization.impl.TargetComponentFilter.doFilter(TargetComponentFilter.java:96)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
        at 
com.day.cq.wcm.core.impl.WCMDebugFilter.doFilterWithErrorHandling(WCMDebugFilter.java:182)
        at 
com.day.cq.wcm.core.impl.WCMDebugFilter.doFilter(WCMDebugFilter.java:149)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
        at 
com.day.cq.wcm.core.impl.WCMComponentFilter.doFilter(WCMComponentFilter.java:230)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
        at 
com.day.cq.wcm.core.impl.WCMDeveloperModeFilter.doFilter(WCMDeveloperModeFilter.java:117)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
        at 
org.apache.sling.engine.impl.SlingRequestProcessorImpl.processComponent(SlingRequestProcessorImpl.java:282)
        at 
org.apache.sling.engine.impl.SlingRequestProcessorImpl.dispatchRequest(SlingRequestProcessorImpl.java:322)
        at 
org.apache.sling.engine.impl.request.SlingRequestDispatcher.dispatch(SlingRequestDispatcher.java:216)
        at 
org.apache.sling.engine.impl.request.SlingRequestDispatcher.include(SlingRequestDispatcher.java:103)
        at 
com.day.cq.wcm.core.impl.WCMComponentFilter$ForwardRequestDispatcher.include(WCMComponentFilter.java:445)
        at 
com.adobe.cq.sightly.WCMScriptHelper.includeResource(WCMScriptHelper.java:138)
        ... 286 common frames omitted
Caused by: org.apache.sling.api.resource.ResourceNotFoundException: No resource 
found
        at 
org.apache.sling.servlets.get.impl.DefaultGetServlet.doGet(DefaultGetServlet.java:219)
        at 
org.apache.sling.api.servlets.SlingSafeMethodsServlet.mayService(SlingSafeMethodsServlet.java:269)
        at 
org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:345)
        at 
org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:376)
        at 
org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:533)
        at 
org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:44)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:77)
        at 
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
        at 
com.daimler.embxp.wholesale.base.core.exception.ExceptionFilter.doFilter(ExceptionFilter.java:118)
        ... 302 common frames omitted
{code}

  was:
In previous versions of sightly (i.e. part of AEM 6.0) {{data-sly-resource}} 
was  not emitting a failure in case a non-existing resource path was 
referenced. Instead it just skipped that Sightly block. With the Sightly 
implementation from Sling this leads to an exception 
({{javax.servlet.ServletException: 
org.apache.sling.api.resource.ResourceNotFoundException: No resource found}}).
There is a difference though if data-sly-resource is also used with the option 
resourceType. In that case it will work perfectly fine on the non-existing 
resource.
Please clarify what is the desired behaviour.


> Modified behaviour of data-sly-resource
> ---------------------------------------
>
>                 Key: SLING-4942
>                 URL: https://issues.apache.org/jira/browse/SLING-4942
>             Project: Sling
>          Issue Type: Bug
>          Components: Scripting
>    Affects Versions: Scripting Sightly Engine 1.0.2
>            Reporter: Konrad Windszus
>
> In previous versions of sightly (i.e. part of AEM 6.0) {{data-sly-resource}} 
> was  not emitting a failure in case a non-existing resource path was 
> referenced. Instead it just skipped that Sightly block. With the Sightly 
> implementation from Sling this leads to an exception 
> ({{javax.servlet.ServletException: 
> org.apache.sling.api.resource.ResourceNotFoundException: No resource found}}).
> There is a difference though if data-sly-resource is also used with the 
> option resourceType. In that case it will work perfectly fine on the 
> non-existing resource.
> Please clarify what is the desired behaviour.
> An example exception looks like this
> {code}
> Caused by: org.apache.sling.scripting.sightly.SightlyException: 
> javax.servlet.ServletException: 
> org.apache.sling.api.resource.ResourceNotFoundException: No resource found
>       at 
> com.adobe.cq.sightly.WCMScriptHelper.includeResource(WCMScriptHelper.java:143)
>       at 
> com.adobe.cq.sightly.WCMScriptHelper.includeResource(WCMScriptHelper.java:86)
>       at 
> com.adobe.cq.sightly.internal.extensions.ResourceExtension.call(ResourceExtension.java:99)
>       at 
> org.apache.sling.scripting.sightly.impl.engine.runtime.RenderContextImpl.call(RenderContextImpl.java:89)
>       at 
> apps.daimler.embxp_wholesale.components.pages.contentpager.SightlyJava_product_html.render(SightlyJava_product_html.java:78)
>       at 
> org.apache.sling.scripting.sightly.impl.engine.runtime.RenderUnit.render(RenderUnit.java:52)
>       at 
> org.apache.sling.scripting.sightly.impl.engine.SightlyScriptEngine.evaluateScript(SightlyScriptEngine.java:95)
>       at 
> org.apache.sling.scripting.sightly.impl.engine.SightlyScriptEngine.eval(SightlyScriptEngine.java:83)
>       at 
> org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:361)
>       at 
> org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:171)
>       at 
> org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:463)
>       at 
> org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:533)
>       at 
> org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:44)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:77)
>       at 
> com.daimler.embxp.wholesale.base.core.servletfilter.DeepLinkingFilter.doFilter(DeepLinkingFilter.java:60)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
>       at 
> com.daimler.embxp.wholesale.base.core.exception.ExceptionFilter.doFilter(ExceptionFilter.java:118)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
>       at 
> com.day.cq.personalization.impl.TargetComponentFilter.doFilter(TargetComponentFilter.java:96)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
>       at 
> com.day.cq.wcm.core.impl.WCMDebugFilter.doFilterWithErrorHandling(WCMDebugFilter.java:182)
>       at 
> com.day.cq.wcm.core.impl.WCMDebugFilter.doFilter(WCMDebugFilter.java:149)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
>       at 
> com.day.cq.wcm.core.impl.WCMComponentFilter.doFilter(WCMComponentFilter.java:259)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
>       at 
> com.day.cq.wcm.core.impl.WCMDeveloperModeFilter.doFilter(WCMDeveloperModeFilter.java:117)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
>       at 
> org.apache.sling.engine.impl.SlingRequestProcessorImpl.processComponent(SlingRequestProcessorImpl.java:282)
>       at 
> org.apache.sling.engine.impl.SlingRequestProcessorImpl.dispatchRequest(SlingRequestProcessorImpl.java:322)
>       at 
> org.apache.sling.engine.impl.request.SlingRequestDispatcher.dispatch(SlingRequestDispatcher.java:216)
>       at 
> org.apache.sling.engine.impl.request.SlingRequestDispatcher.include(SlingRequestDispatcher.java:103)
>       at 
> com.day.cq.wcm.core.impl.WCMComponentFilter$ForwardRequestDispatcher.include(WCMComponentFilter.java:445)
>       at 
> org.apache.jsp.libs.foundation.components.primary.cq.Page.Page_jsp._jspService(Page_jsp.java:106)
>       at 
> org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
>       at 
> org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:502)
>       ... 251 common frames omitted
> Caused by: javax.servlet.ServletException: 
> org.apache.sling.api.resource.ResourceNotFoundException: No resource found
>       at 
>       at 
> com.daimler.embxp.wholesale.base.core.exception.ExceptionFilter.doFilter(ExceptionFilter.java:124)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
>       at 
> com.day.cq.personalization.impl.TargetComponentFilter.doFilter(TargetComponentFilter.java:96)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
>       at 
> com.day.cq.wcm.core.impl.WCMDebugFilter.doFilterWithErrorHandling(WCMDebugFilter.java:182)
>       at 
> com.day.cq.wcm.core.impl.WCMDebugFilter.doFilter(WCMDebugFilter.java:149)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
>       at 
> com.day.cq.wcm.core.impl.WCMComponentFilter.doFilter(WCMComponentFilter.java:230)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
>       at 
> com.day.cq.wcm.core.impl.WCMDeveloperModeFilter.doFilter(WCMDeveloperModeFilter.java:117)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
>       at 
> org.apache.sling.engine.impl.SlingRequestProcessorImpl.processComponent(SlingRequestProcessorImpl.java:282)
>       at 
> org.apache.sling.engine.impl.SlingRequestProcessorImpl.dispatchRequest(SlingRequestProcessorImpl.java:322)
>       at 
> org.apache.sling.engine.impl.request.SlingRequestDispatcher.dispatch(SlingRequestDispatcher.java:216)
>       at 
> org.apache.sling.engine.impl.request.SlingRequestDispatcher.include(SlingRequestDispatcher.java:103)
>       at 
> com.day.cq.wcm.core.impl.WCMComponentFilter$ForwardRequestDispatcher.include(WCMComponentFilter.java:445)
>       at 
> com.adobe.cq.sightly.WCMScriptHelper.includeResource(WCMScriptHelper.java:138)
>       ... 286 common frames omitted
> Caused by: org.apache.sling.api.resource.ResourceNotFoundException: No 
> resource found
>       at 
> org.apache.sling.servlets.get.impl.DefaultGetServlet.doGet(DefaultGetServlet.java:219)
>       at 
> org.apache.sling.api.servlets.SlingSafeMethodsServlet.mayService(SlingSafeMethodsServlet.java:269)
>       at 
> org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:345)
>       at 
> org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:376)
>       at 
> org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:533)
>       at 
> org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:44)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:77)
>       at 
> org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)
>       at 
> com.daimler.embxp.wholesale.base.core.exception.ExceptionFilter.doFilter(ExceptionFilter.java:118)
>       ... 302 common frames omitted
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to