Hi,
I have been using richfaces listShuttle without any issue so far. Recently, have modified that I am updating sourceValue attribute of listShuttle 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>