Problem with rich:listShuttle
narvava Dec 21, 2011 9:57 AMHi,
I have been using listShuttle without any issue so far. Recently I am updating sourceValue attribute basing on the search criteria. After this modification now and then while doing copy, remove
or removeAll or Copy All, getting following exception. Could anybody suggest, what is the possible cause for this exception.
;09:29:46;509; ERROR seam.web.ExceptionFilter;:(ExceptionFilter.java:doFilter():69) - exception root cause
java.lang.NullPointerException
at org.ajax4jsf.webapp.FilterServletResponseWrapper$ServletStringWriter.write(FilterServletResponseWrapper.java:319)
at java.io.Writer.write(Writer.java:175)
at java.io.PrintWriter.write(PrintWriter.java:412)
at java.io.PrintWriter.write(PrintWriter.java:429)
at fr.xebia.servlet.filter.ExpiresFilter$XPrintWriter.write(ExpiresFilter.java:919)
at com.sun.facelets.util.DevTools.debugHtml(DevTools.java:111)
at com.sun.facelets.FaceletViewHandler.handleRenderException(FaceletViewHandler.java:692)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:660)
at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:530)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at fr.xebia.servlet.filter.ExpiresFilter.doFilter(ExpiresFilter.java:1243)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:381)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Code :
<h:panelGrid rendered="#{appAdminHelper.searchbuttonenable}">
<h:outputText value="Search Component" style="font-weight:bold" />
<rich:spacer />
<h:inputText value="#{appAdminHelper.searchComp}"
id="searchStrInput">
<a4j:support event="onblur" reRender="searchStrInput" ajaxSingle="true"/>
</h:inputText>
</h:panelGrid>
<h:panelGrid columns="1" rendered="#{appAdminHelper.searchbuttonenable}">
<rich:spacer height="20px"/>
<a4j:commandButton action="#{appAdminHelper.searchComponents}"
styleClass="addContactButton" value="Search" ajaxSingle="true"
status="waitStatus" reRender="componentsInstances"
oncomplete="#{facesContext.maximumSeverity == null ? 'Richfaces.hideModalPanel(\'messagesPanel\');'
: 'Richfaces.showModalPanel(\'messagesPanel\');'}" />
</h:panelGrid>
</h:panelGrid>
</a4j:region>
<h:panelGrid id="componentsInstances">
<a4j:outputPanel id="listshuttleWrapper">
<rich:listShuttle
sourceValue="#{appAdminHelper.componentInstances}"
targetValue="#{appAdminHelper.mappedComps}" listsHeight="250"
sourceListWidth="200" targetListWidth="200"
sourceCaptionLabel="UnMapped Components"
targetCaptionLabel="Mapped Components" id="listshuttle" var="i">
<rich:column>
<h:outputText value="#{i}" />
</rich:column>
<a4j:support event="onlistchanged" reRender="componentsInstances,listshuttle"/>
</rich:listShuttle>
</a4j:outputPanel>
</h:panelGrid>