Mojarra2.3.0-m06: Glassfish4.1.1: PF6.0: p:dataTable fails

UI Components for JSF
Post Reply
webel
Posts: 87
Joined: 18 Sep 2010, 09:29
Location: Sydney, Australia
Contact:

11 Sep 2016, 04:53

Not reported as a Primefaces issue because I suspect it is a JSF Mojarra issue: reported as JAVASERVERFACES-4183
Mojarra 2.3.0-m06: Glassfish4.1.1: Primefaces 6.0: basic p:dataTable with rowEdit fails



There is a complete description and mini web test app at:

- https://github.com/webelcomau/PrimeFace ... JSF23/wiki

- https://github.com/webelcomau/PrimeFace ... master.zip

That test web app works fine when I use the built-in Mojarra in Glassfish 4.1.1 OR when I use Mojarra 2.2.8-18 as .../glassfish/modules/javax.faces.jar.

It fails when I use Mojarra 2.3.0-m6 with a row-editable Primefaces 6.0 p:dataTable.

To demonstrate the problem with the test web app

The test web app project includes under ./lib for convenience these Mojarra versions: javax.faces-2.2.8-12.jar, javax.faces-2.2.8-17.jar, javax.faces-2.2.8-18.jar, javax.faces-2.3.0-m06.jar

First convince yourself it works fine with Mojarra 2.2.8-x versions:

- Use the javax.faces.jar provided with NetBeans8.1/Glassfish4.1.1 (or copy one of the javax.faces-2.2.8-x.jar versions provided over .../glassfish/modules/javax.faces.jar).

- (Re)start Glassfish and run the web app from within NetBeans8.1. It will bring up an index page that echoes the Mojarra version, and offers a link to a p:dataTable test page. Click on that link, use row editing in the functioning p:dataTable.

From tableDEBUG.xhtml:

Code: Select all

            <p:dataTable                                         
                id="dataTable" 
                var="e" 
                value="#{viewBean.entities}" 
                editable="true"
                >

                <p:ajax                         
                    event="rowEdit" 
                    listener="#{viewBean.updateRow}" 
                    />

                <p:column 
                    sortBy="#{e.name}"
                    >
                    <f:facet name="header">
                        Name
                    </f:facet>
                    <h:outputText value="#{e.name}"/>
                </p:column>

                <p:column 
                    headerText="ValInt"
                    sortBy="#{e.valInt}"
                    >
                    <p:cellEditor>
                        <f:facet name="output">
                            <h:outputText value="#{e.valInt}"/>
                        </f:facet>
                        <f:facet name="input">
                            <p:inputText 
                                id="valInt"
                                value="#{e.valInt}"
                                required="true"
                                />
                            <p:message
                                for="valInt"
                                />
                        </f:facet>
                    </p:cellEditor>
                </p:column>

                <p:column>
                    <f:facet name="header">
                        EDIT !
                    </f:facet>
                    <p:rowEditor/>                
                </p:column>

            </p:dataTable>
Then show it does not work with Mojarra 2.3.0-m06:

- Undeploy the web app and stop Glassfish. Copy javax.faces-2.3.0-m06.jar over .../glassfish/modules/javax.faces.jar. Restart Glassfish (after clearing caches to be sure) and run the web app again.

- Check that the index page echoes the Mojarra version 2.3.0-m06.

- Click on the link to the p:dataTable test page to get this error:

Code: Select all

Severe: Error Rendering View[/tableDEBUG.xhtml] java.lang.NullPointerException at com.sun.faces.facelets.util.DevTools.writeAttributes(DevTools.java:410) at com.sun.faces.facelets.util.DevTools.writeStart(DevTools.java:463) at com.sun.faces.facelets.util.DevTools.writeComponent(DevTools.java:272) at com.sun.faces.facelets.util.DevTools.writeComponent(DevTools.java:291) at com.sun.faces.facelets.util.DevTools.writeComponent(DevTools.java:291) at com.sun.faces.facelets.util.DevTools.writeComponent(DevTools.java:291) at com.sun.faces.facelets.util.DevTools.debugHtml(DevTools.java:202) at com.sun.faces.facelets.tag.ui.UIDebug.writeDebugOutput(UIDebug.java:153) at com.sun.faces.facelets.tag.ui.UIDebug.encodeBegin(UIDebug.java:134) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1903) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1908) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1908) at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:460) at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:136) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:126) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:223) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:669) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283) at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206) at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180) at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) at org.glassfish.grizzly.filterchain.ExecutorResolver.execute(ExecutorResolver.java:119) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200) at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132) at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111) at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536) at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access00(WorkerThreadIOStrategy.java:56) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571) at java.lang.Thread.run(Thread.java:745)

Warning: StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception java.lang.NullPointerException at com.sun.faces.facelets.util.DevTools.writeAttributes(DevTools.java:410) at com.sun.faces.facelets.util.DevTools.writeStart(DevTools.java:463) at com.sun.faces.facelets.util.DevTools.writeComponent(DevTools.java:272) at com.sun.faces.facelets.util.DevTools.writeComponent(DevTools.java:291) at com.sun.faces.facelets.util.DevTools.writeComponent(DevTools.java:291) at com.sun.faces.facelets.util.DevTools.writeComponent(DevTools.java:291) at com.sun.faces.facelets.util.DevTools.debugHtml(DevTools.java:141) at com.sun.faces.renderkit.RenderKitUtils.renderHtmlErrorPage(RenderKitUtils.java:1299) at com.sun.faces.context.ExceptionHandlerImpl.throwIt(ExceptionHandlerImpl.java:279) at com.sun.faces.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:143) at javax.faces.context.ExceptionHandlerWrapper.handle(ExceptionHandlerWrapper.java:100) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:223) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:669) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283) at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206) at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180) at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) at org.glassfish.grizzly.filterchain.ExecutorResolver.execute(ExecutorResolver.java:119) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200) at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132) at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111) at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536) at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access00(WorkerThreadIOStrategy.java:56) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571) at java.lang.Thread.run(Thread.java:745)
Primefaces 6.1
JSF Mojarra 2.3.0
(Netbeans 8.2+Glassfish 4.1.1 OR Payara 4.1)
Mac OS X "Yosemite" 10.10.5 / Linux CentOS 6.7

webel
Posts: 87
Joined: 18 Sep 2010, 09:29
Location: Sydney, Australia
Contact:

18 Nov 2016, 23:39

This Mojarra issue seems (according to a quick test) to have been fixed by:

javax.faces-2.3.0-m07-20161118.080334-135.jar Fri Nov 18 08:03:39 UTC 2016

https://java.net/jira/browse/JAVASERVERFACES-4183
Primefaces 6.1
JSF Mojarra 2.3.0
(Netbeans 8.2+Glassfish 4.1.1 OR Payara 4.1)
Mac OS X "Yosemite" 10.10.5 / Linux CentOS 6.7

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: Google [Bot] and 35 guests