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
Priority: Minor
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]