Santiago García Pimentel created SLING-8079:
-----------------------------------------------

             Summary: Returning false in a model PostConstruct causes an 
java.lang.IllegalStateException
                 Key: SLING-8079
                 URL: https://issues.apache.org/jira/browse/SLING-8079
             Project: Sling
          Issue Type: Bug
    Affects Versions: Sling Models Impl 1.4.10
            Reporter: Santiago García Pimentel


I was just trying the exporter framework and the feature from SLING-7124, where 
you can return false in a post construct to prevent a model to being returned.

Unfortunately I found myself with an IllegalStateException:

 
{quote}java.lang.IllegalStateException: No throwable available at 
org.apache.sling.models.impl.Result.getThrowable(Result.java:61) at 
org.apache.sling.models.impl.ModelAdapterFactory.createModel(ModelAdapterFactory.java:263)
 at 
org.apache.sling.models.impl.ExportServlet$RequestAccessor.getExportedString(ExportServlet.java:202)
 at org.apache.sling.models.impl.ExportServlet.doGet(ExportServlet.java:106) at 
org.apache.sling.api.servlets.SlingSafeMethodsServlet.mayService(SlingSafeMethodsServlet.java:266)
 at 
org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:342)
 at 
org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:374){quote}
It seems like the ModelAdapterFactory assumes that there should be an exception 
if a model was not returned, which is no longer the case. I don't think this 
exception should be thrown.

The easiest solution I think is to make o.a.s.models.impl.Result not throw that 
exception and let the ModelAdapterFactory handle it, but Im not sure that would 
the be most appropriate way.

 

 

 



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

Reply via email to