Konrad Windszus created SLING-4943:
--------------------------------------
Summary: ResourceNotFoundException: Include resource in the
toString method
Key: SLING-4943
URL: https://issues.apache.org/jira/browse/SLING-4943
Project: Sling
Issue Type: Bug
Components: API
Affects Versions: API 2.9.0
Reporter: Konrad Windszus
Fix For: API 2.10.0
Currently if instantiating a {{ResourceNotFoundException}} with both a resource
path and a message only the message is given out. That is e.g. a problem in
{{DefaultGetServlet}}
(https://github.com/apache/sling/blob/trunk/bundles/servlets/get/src/main/java/org/apache/sling/servlets/get/impl/DefaultGetServlet.java#L218).
That leads to exceptions like this in the log
{code}
...
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
...
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)
...
{code}
You basically have no clue which resource path was requested (especially if the
request was issued through request dispatching. Therefore I propose to always
include the resource path in the message given out by {{getMessage()}} or
{{getLocalizedMessage()}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)