You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Udo Schnurpfeil (JIRA)" <de...@myfaces.apache.org> on 2018/02/15 14:22:00 UTC
[jira] [Comment Edited] (TOBAGO-1589) Sorting in sheet work not
with Mojarra 2.0
[ https://issues.apache.org/jira/browse/TOBAGO-1589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16365558#comment-16365558 ]
Udo Schnurpfeil edited comment on TOBAGO-1589 at 2/15/18 2:21 PM:
------------------------------------------------------------------
The problem happens, with each AJAX refresh while component rebuild (resoreView) of the sheet paging or sorting command facets.
In the example, you need to set sortable="false" and rows="100". In that case, there is no such command, and it will work.
Current test:
{code}
<?xml version="1.0" encoding="UTF-8"?>
<ui:composition template="/plain.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:tc="http://myfaces.apache.org/tobago/component"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core">
<tc:button image="fa-refresh" label="reload out">
<f:ajax execute="out" render="out"/>
</tc:button>
<tc:out id="out" value="#{sheetSortingController.solarList[0].name}" label="Name"/>
<tc:button image="fa-refresh" label="reload sheet">
<f:ajax execute="sheet" render="sheet"/>
</tc:button>
<tc:sheet id="sheet" value="#{sheetSortingController.solarList}" var="object" rendered="true" rows="50">
<tc:column label="Name" sortable="false">
<tc:out value="#{object.name}"/>
</tc:column>
</tc:sheet>
</ui:composition>
{code}
Exception (e.g. Mojarra 2.3):
{code}
javax.faces.FacesException: java.lang.NullPointerException
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:271)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:133)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:201)
at org.apache.deltaspike.jsf.impl.listener.request.DeltaSpikeLifecycleWrapper.execute(DeltaSpikeLifecycleWrapper.java:89)
at javax.faces.lifecycle.LifecycleWrapper.execute(LifecycleWrapper.java:97)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:670)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:206)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
at org.apache.myfaces.tobago.facelets.FixCharacterEncodingFilter.doFilter(FixCharacterEncodingFilter.java:53)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
at org.apache.myfaces.tobago.internal.webapp.LoggingMdcFilter.doFilter(LoggingMdcFilter.java:67)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1629)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:561)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:334)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:243)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at javax.faces.component.UIComponent$ComponentSystemEventListenerAdapter.processEvent(UIComponent.java:2654)
at javax.faces.event.SystemEvent.processListener(SystemEvent.java:147)
at javax.faces.event.ComponentSystemEvent.processListener(ComponentSystemEvent.java:134)
at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2296)
at com.sun.faces.application.ApplicationImpl.invokeComponentListenersFor(ApplicationImpl.java:2241)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:341)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:299)
at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:748)
at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:748)
at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:748)
at org.apache.deltaspike.jsf.impl.injection.InjectionAwareApplicationWrapper.publishEvent(InjectionAwareApplicationWrapper.java:148)
at javax.faces.component.UIComponentBase.publishAfterViewEvents(UIComponentBase.java:2309)
at javax.faces.component.UIComponentBase.doPostAddProcessing(UIComponentBase.java:1986)
at javax.faces.component.UIComponentBase.setParent(UIComponentBase.java:459)
at javax.faces.component.UIComponentBase$FacetsMap.put(UIComponentBase.java:3105)
at javax.faces.component.UIComponentBase$FacetsMap.put(UIComponentBase.java:3061)
at com.sun.faces.application.view.FaceletPartialStateManagementStrategy.restoreDynamicAdd(FaceletPartialStateManagementStrategy.java:293)
at com.sun.faces.application.view.FaceletPartialStateManagementStrategy.restoreDynamicActions(FaceletPartialStateManagementStrategy.java:227)
at com.sun.faces.application.view.FaceletPartialStateManagementStrategy.restoreView(FaceletPartialStateManagementStrategy.java:396)
at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:139)
at com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:123)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:295)
at com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:157)
at javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:125)
at javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:125)
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:204)
... 44 more
{code}
was (Author: lofwyr):
Current test:
{code}
<?xml version="1.0" encoding="UTF-8"?>
<ui:composition template="/plain.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:tc="http://myfaces.apache.org/tobago/component"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core">
<tc:button image="fa-refresh" label="reload out">
<f:ajax execute="out" render="out"/>
</tc:button>
<tc:out id="out" value="#{sheetSortingController.solarList[0].name}" label="Name"/>
<tc:button image="fa-refresh" label="reload sheet">
<f:ajax execute="sheet" render="sheet"/>
</tc:button>
<tc:sheet id="sheet" value="#{sheetSortingController.solarList}" var="object" rendered="true" rows="50">
<tc:column label="Name" sortable="false">
<tc:out value="#{object.name}"/>
</tc:column>
</tc:sheet>
</ui:composition>
{code}
Exception (e.g. Mojarra 2.3):
{code}
javax.faces.FacesException: java.lang.NullPointerException
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:271)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:133)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:201)
at org.apache.deltaspike.jsf.impl.listener.request.DeltaSpikeLifecycleWrapper.execute(DeltaSpikeLifecycleWrapper.java:89)
at javax.faces.lifecycle.LifecycleWrapper.execute(LifecycleWrapper.java:97)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:670)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:206)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
at org.apache.myfaces.tobago.facelets.FixCharacterEncodingFilter.doFilter(FixCharacterEncodingFilter.java:53)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
at org.apache.myfaces.tobago.internal.webapp.LoggingMdcFilter.doFilter(LoggingMdcFilter.java:67)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1629)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:561)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:334)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:243)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at javax.faces.component.UIComponent$ComponentSystemEventListenerAdapter.processEvent(UIComponent.java:2654)
at javax.faces.event.SystemEvent.processListener(SystemEvent.java:147)
at javax.faces.event.ComponentSystemEvent.processListener(ComponentSystemEvent.java:134)
at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2296)
at com.sun.faces.application.ApplicationImpl.invokeComponentListenersFor(ApplicationImpl.java:2241)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:341)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:299)
at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:748)
at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:748)
at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:748)
at org.apache.deltaspike.jsf.impl.injection.InjectionAwareApplicationWrapper.publishEvent(InjectionAwareApplicationWrapper.java:148)
at javax.faces.component.UIComponentBase.publishAfterViewEvents(UIComponentBase.java:2309)
at javax.faces.component.UIComponentBase.doPostAddProcessing(UIComponentBase.java:1986)
at javax.faces.component.UIComponentBase.setParent(UIComponentBase.java:459)
at javax.faces.component.UIComponentBase$FacetsMap.put(UIComponentBase.java:3105)
at javax.faces.component.UIComponentBase$FacetsMap.put(UIComponentBase.java:3061)
at com.sun.faces.application.view.FaceletPartialStateManagementStrategy.restoreDynamicAdd(FaceletPartialStateManagementStrategy.java:293)
at com.sun.faces.application.view.FaceletPartialStateManagementStrategy.restoreDynamicActions(FaceletPartialStateManagementStrategy.java:227)
at com.sun.faces.application.view.FaceletPartialStateManagementStrategy.restoreView(FaceletPartialStateManagementStrategy.java:396)
at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:139)
at com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:123)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:295)
at com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:157)
at javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:125)
at javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:125)
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:204)
... 44 more
{code}
> Sorting in sheet work not with Mojarra 2.0
> ------------------------------------------
>
> Key: TOBAGO-1589
> URL: https://issues.apache.org/jira/browse/TOBAGO-1589
> Project: MyFaces Tobago
> Issue Type: Bug
> Components: Themes
> Affects Versions: 2.0.9, 3.0.0-alpha-4
> Reporter: Udo Schnurpfeil
> Assignee: Udo Schnurpfeil
> Priority: Minor
>
> There is still a problem with Mojarra 2.0.
> With Mojarra 2.1 this is fixed.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)