[ http://issues.apache.org/jira/browse/TAPESTRY-1177?page=all ]

Jesse Kuhnert resolved TAPESTRY-1177.
-------------------------------------

    Resolution: Fixed

Resolved issue by changing line of logic that sets the local "render" boolean 
to just check if element is null. Thanks for the patch!

> ForBean can cause NullPointerException when rendered without a template
> -----------------------------------------------------------------------
>
>                 Key: TAPESTRY-1177
>                 URL: http://issues.apache.org/jira/browse/TAPESTRY-1177
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: 4.1.1
>            Reporter: Phil McCarthy
>         Assigned To: Jesse Kuhnert
>            Priority: Minor
>             Fix For: 4.1.1
>
>         Attachments: ForBean.java.tapestry-1177.patch
>
>
> Create a component which doesn't implement ITemplateComponent. In the 
> component specification, declare a For component, but don't bind its optional 
> "element" parameter. Call the For component's render() method.
> Stacktrace is:
> java.lang.NullPointerException
> Stack Trace:
>     * 
> org.apache.tapestry.markup.MarkupWriterImpl.end(MarkupWriterImpl.java:261)
>     * 
> org.apache.tapestry.components.ForBean.renderComponent(ForBean.java:183) 
>     * ...
> The problem is caused by line 140 of ForBean.java:
> String element = HiveMind.isNonBlank(getElement()) ? getElement() : 
> getTemplateTagName();
> Because no element binding was specified, and there's no template, this 
> returns null. The markup writer pushes the null value when begin(null) is 
> called, then barfs when it is popped in end().
> Fix is to not call loopWriter.begin()/end() when element is null.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to