SelectItem-Name in selectOneChoice is not null-save
---------------------------------------------------

                 Key: TOBAGO-802
                 URL: https://issues.apache.org/jira/browse/TOBAGO-802
             Project: MyFaces Tobago
          Issue Type: Bug
    Affects Versions: 1.0.24
         Environment: Tobago 1.0.24-SNAPSHOT; java version "1.6.0_16", linux
            Reporter: Sven Bunge
            Priority: Minor


A javax.faces.model.SelectItem with an itemName 'null' will result in an 
strange NPE. Everyone (like me ;-)) will guess that tobago handle it like an 
empty string.

Example:
  public List<SelectItem> getItems() {
    List<SelectItem> items = new ArrayList<SelectItem>();
    for (int i = 0; i <a.size(); i++) {
      items.add(new SelectItem(a.get(i), a.getName())); // a.getName is null
    }
    return items;
  }

will result in:
2009-10-19 11:13:43,342 TP-Processor3 ERROR - 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/erm].[FacesServlet]:253
 - Servlet.service() for servlet FacesServlet t
hrew exception
java.lang.NullPointerException
        at 
org.apache.myfaces.tobago.util.HtmlWriterUtil.writeText(HtmlWriterUtil.java:59)
        at 
org.apache.myfaces.tobago.webapp.TobagoResponseWriterImpl.writeText(TobagoResponseWriterImpl.java:178)
        at 
org.apache.myfaces.tobago.webapp.TobagoResponseWriter.writeText(TobagoResponseWriter.java:171)
        at 
org.apache.myfaces.tobago.renderkit.html.HtmlRendererUtil.renderSelectItems(HtmlRendererUtil.java:641)
        at 
org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.SelectOneChoiceRenderer.encodeEnd(SelectOneChoiceRenderer.java:97)
        at 
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:740)
        at 
org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java:86)
        at 
org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildrenOfComponent(GridLayoutRenderer.java:379)
        at 
org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(UILayout.java:70)
        at 
org.apache.myfaces.tobago.component.UIGridLayout.encodeChildrenOfComponent(UIGridLayout.java:276)
        at 
org.apache.myfaces.tobago.component.UIPanelBase.encodeChildren(UIPanelBase.java:43)
        at 
org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java:79)
        at 
org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildrenOfComponent(GridLayoutRenderer.java:379)
        at 
org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(UILayout.java:70)
        at 
org.apache.myfaces.tobago.component.UIGridLayout.encodeChildrenOfComponent(UIGridLayout.java:276)
        at 
org.apache.myfaces.tobago.component.UIPanelBase.encodeChildren(UIPanelBase.java:43)
        at 
org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java:79)
        at 
org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildrenOfComponent(GridLayoutRenderer.java:379)
        at 
org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(UILayout.java:70)
        at 
org.apache.myfaces.tobago.component.UIGridLayout.encodeChildrenOfComponent(UIGridLayout.java:276)
        at 
org.apache.myfaces.tobago.component.UIPanelBase.encodeChildren(UIPanelBase.java:43)
        at 
org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java:79)
        at 
org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildrenOfComponent(GridLayoutRenderer.java:379)
        at 
org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(UILayout.java:70)
        at 
org.apache.myfaces.tobago.component.UIGridLayout.encodeChildrenOfComponent(UIGridLayout.java:276)
        at 
org.apache.myfaces.tobago.renderkit.RenderUtil.encodeChildren(RenderUtil.java:58)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to