[ 
https://issues.apache.org/jira/browse/TOBAGO-1359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13931739#comment-13931739
 ] 

Udo Schnurpfeil commented on TOBAGO-1359:
-----------------------------------------

The second NPE is because of nesting sheets. Nested sheets are not supported in 
Tobago.
I've changed the code, so that the NPE will not occure, but a warning will be 
rendered.
The problem is here, that the header layout will not be computed for each sheet 
in each row.

Generally, there will no layout computed for each row, because of performance.

> NPE when rendering sheet
> ------------------------
>
>                 Key: TOBAGO-1359
>                 URL: https://issues.apache.org/jira/browse/TOBAGO-1359
>             Project: MyFaces Tobago
>          Issue Type: Bug
>          Components: Themes
>    Affects Versions: 2.0.0-alpha-3
>            Reporter: Dennis Kieselhorst
>            Assignee: Udo Schnurpfeil
>             Fix For: 2.0.0-beta-1
>
>
> A NPE is thrown when rendering a simple empty sheet:
> <tc:sheet value="#{controller.testItems}" var="test">
>     <tc:column label="#{label.test}">
>         <tx:selectBooleanCheckbox label="${test.name}" 
> value="#{test.selected}"/>
>     </tc:column>
> </tc:sheet>
> java.lang.NullPointerException
>       at 
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.SheetRenderer.renderSheet(SheetRenderer.java:437)
>       at 
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.SheetRenderer.encodeEnd(SheetRenderer.java:171)
>       at 
> org.apache.myfaces.tobago.renderkit.AbstractRendererBaseWrapper.encodeEnd(AbstractRendererBaseWrapper.java:105)
>       at 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:665)
>       at javax.faces.component.UIData.encodeEnd(UIData.java:1704)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:121)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:97)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encodeChildren(RenderUtils.java:92)
>       at 
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildren(GridLayoutRenderer.java:55)
>       at 
> org.apache.myfaces.tobago.renderkit.AbstractRendererBaseWrapper.encodeChildren(AbstractRendererBaseWrapper.java:100)
>       at 
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:634)
>       at 
> org.apache.myfaces.tobago.internal.component.AbstractUIPanel.encodeChildren(AbstractUIPanel.java:50)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:115)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:97)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encodeChildren(RenderUtils.java:92)
>       at 
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildren(GridLayoutRenderer.java:55)
>       at 
> org.apache.myfaces.tobago.renderkit.AbstractRendererBaseWrapper.encodeChildren(AbstractRendererBaseWrapper.java:100)
>       at 
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:634)
>       at 
> org.apache.myfaces.tobago.internal.component.AbstractUIPanel.encodeChildren(AbstractUIPanel.java:50)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:115)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:97)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encodeChildren(RenderUtils.java:92)
>       at 
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildren(GridLayoutRenderer.java:55)
>       at 
> org.apache.myfaces.tobago.renderkit.AbstractRendererBaseWrapper.encodeChildren(AbstractRendererBaseWrapper.java:100)
>       at 
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:634)
>       at 
> org.apache.myfaces.tobago.internal.component.AbstractUIPanel.encodeChildren(AbstractUIPanel.java:50)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:115)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:97)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encodeChildren(RenderUtils.java:92)
>       at 
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildren(GridLayoutRenderer.java:55)
>       at 
> org.apache.myfaces.tobago.renderkit.AbstractRendererBaseWrapper.encodeChildren(AbstractRendererBaseWrapper.java:100)
>       at 
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:634)
>       at 
> org.apache.myfaces.tobago.internal.component.AbstractUIPanel.encodeChildren(AbstractUIPanel.java:50)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:115)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:97)
>       at 
> org.apache.myfaces.tobago.renderkit.util.RenderUtils.encodeChildren(RenderUtils.java:92)
>       at 
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildren(GridLayoutRenderer.java:55)
>       at 
> org.apache.myfaces.tobago.renderkit.AbstractRendererBaseWrapper.encodeChildren(AbstractRendererBaseWrapper.java:100)
>       at 
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:634)
>       at 
> org.apache.myfaces.tobago.internal.component.AbstractUIPage.encodeChildren(AbstractUIPage.java:111)
>       at 
> javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:532)
>       at 
> javax.faces.component.UIComponentBase.encodeAll(UIComponentBase.java:541)
>       at 
> org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1981)
>       at 
> org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:305)
>       at 
> org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:116)
>       at 
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241)
>       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:199)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to