title: PrimeFaces 3.0.M4 <p:cellEditor> NullPointerException
body: <p>Here is my page that works:</p>
  
  <pre><code>&lt;html xmlns:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:p="http://primefaces.org/ui"&gt;
  &lt;f:view contentType="text/html"&gt;
  &lt;h:head&gt;
  &lt;/h:head&gt;
  &lt;h:body&gt;
      &lt;h:form&gt;
          &lt;p:dataTable value="#{testBean.testList}" var="test"&gt;
              &lt;p:column&gt;
                  &lt;h:outputText value="#{test}" /&gt;
              &lt;/p:column&gt;
          &lt;/p:dataTable&gt;
      &lt;/h:form&gt;
  &lt;/h:body&gt;
  &lt;/f:view&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>Here is my page that does not work:</p>
  
  <pre><code>&lt;html xmlns:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:p="http://primefaces.org/ui"&gt;
  &lt;f:view contentType="text/html"&gt;
  &lt;h:head&gt;
  &lt;/h:head&gt;
  &lt;h:body&gt;
      &lt;h:form&gt;
          &lt;p:dataTable value="#{testBean.testList}" var="test"&gt;
              &lt;p:column&gt;
                  &lt;p:cellEditor&gt;
                      &lt;f:facet name="output"&gt;
                          &lt;h:outputText value="#{test}" /&gt;
                      &lt;/f:facet&gt;
                      &lt;f:facet name="input"&gt;
                          &lt;p:inputText value="#{test}" style="width:100%" /&gt;
                      &lt;/f:facet&gt;
                  &lt;/p:cellEditor&gt;
              &lt;/p:column&gt;
              &lt;p:column&gt;
                  &lt;p:rowEditor /&gt;
              &lt;/p:column&gt;
          &lt;/p:dataTable&gt;
      &lt;/h:form&gt;   
  &lt;/h:body&gt;
  &lt;/f:view&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>Here is the error that I receive:</p>
  
  <pre><code>Nov 22, 2011 10:17:05 PM org.apache.myfaces.renderkit.ErrorPageWriter handleThrowable
  SEVERE: An exception occurred
  javax.faces.FacesException: java.lang.NullPointerException
  at     org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241)
  at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156)
  at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:258)
  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:191)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
  at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
  at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
  at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
  at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
  at java.lang.Thread.run(Thread.java:722)
  Caused by: java.lang.NullPointerException
  at javax.faces.component.UIData.restoreDescendantComponentStates(UIData.java:718)
  at javax.faces.component.UIData.restoreDescendantComponentStates(UIData.java:729)
  at javax.faces.component.UIData.restoreDescendantComponentStates(UIData.java:729)
  at javax.faces.component.UIData.setRowIndexWithoutPreserveComponentState(UIData.java:580)
  at javax.faces.component.UIData.setRowIndex(UIData.java:500)
  at org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:604)
  at org.primefaces.component.datatable.DataTableRenderer.encodeRegularTable(DataTableRenderer.java:227)
  at org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:205)
  at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:97)
  at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:519)
  at javax.faces.component.UIData.encodeEnd(UIData.java:1416)
  at javax.faces.component.UIComponent.encodeAll(UIComponent.java:672)
  at javax.faces.component.UIComponent.encodeAll(UIComponent.java:668)
  at javax.faces.component.UIComponent.encodeAll(UIComponent.java:668)
  at javax.faces.component.UIComponent.encodeAll(UIComponent.java:668)
  at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1483)
  at org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:281)
  at     org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:85)
  at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:239)
  ... 17 more
  </code></pre>
  
  <p>It only seems to occur when I put the cell editor in, I made the bean as minimalistic as possible.  Any thoughts?</p>