0 Replies Latest reply on Dec 21, 2011 9:57 AM by narvava

    Problem with rich:listShuttle

    narvava

      Hi,

       

      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>