0 Replies Latest reply on Dec 16, 2010 11:33 AM by Igor Baz

    Exception with rich:listShuttle

    Igor Baz Newbie

      Hello. I have exception with rich:listShuttle.

      Firefox 3.6 and richfaces 3.3.3

      it happens when i do many many clicks in h:selectManyCheckbox.

      I found similar problem in https://issues.jboss.org/browse/RF-5596. But it is closed.

      somebody has solved this problem?

       

       

      17:58:19,358 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception
      java.lang.NullPointerException
              at org.richfaces.renderkit.ListShuttleRendererBase.encodeOneRow(ListShuttleRendererBase.java:158)
              at org.richfaces.renderkit.AbstractRowsRenderer.process(AbstractRowsRenderer.java:83)
              at org.richfaces.model.ListShuttleDataModel$1.process(ListShuttleDataModel.java:84)
              at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:101)
              at org.richfaces.model.ListShuttleDataModel.walk(ListShuttleDataModel.java:78)
              at org.ajax4jsf.component.UIDataAdaptorBase.walk(UIDataAdaptorBase.java:1156)
              at org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:104)
              at org.richfaces.renderkit.ListShuttleRendererBase.encodeRows(ListShuttleRendererBase.java:116)
              at org.richfaces.renderkit.html.ListShuttleRenderer.doEncodeChildren(ListShuttleRenderer.java:254)
              at org.richfaces.renderkit.html.ListShuttleRenderer.doEncodeChildren(ListShuttleRenderer.java:244)
              at org.richfaces.renderkit.ListShuttleRendererBase.encodeChildren(ListShuttleRendererBase.java:245)
              at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
              at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:277)
              at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:166)
              at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxChildren(AjaxChildrenRenderer.java:83)
              at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:157)
              at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxChildren(AjaxChildrenRenderer.java:83)
              at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:157)
              at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxChildren(AjaxChildrenRenderer.java:83)
              at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:157)
              at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxChildren(AjaxChildrenRenderer.java:83)
              at org.ajax4jsf.renderkit.AjaxChildrenRenderer.encodeAjaxComponent(AjaxChildrenRenderer.java:157)
              at org.ajax4jsf.renderkit.AjaxContainerRenderer.encodeAjax(AjaxContainerRenderer.java:124)
              at org.ajax4jsf.component.AjaxViewRoot.encodeAjax(AjaxViewRoot.java:685)
              at org.ajax4jsf.component.AjaxViewRoot.encodeChildren(AjaxViewRoot.java:556)
              at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)

       

      <h:panelGrid columns="2" columnClasses="vertTopClass">
              <rich:panel>
                  <f:facet name="header">Labels</f:facet>
                  <h:panelGrid columns="1">
                      <h:panelGroup>
                          <h:selectBooleanCheckbox id="showAllSectionsCheckbox"
                              value="#{IDocTypeAction.tagAction.showAllForSections}">
                              <a4j:support     event="onchange"
                                              reRender="listShuttle"
                                              ajaxSingle="true"
                                              limitToList="true"
                                              requestDelay="100"/>
                          </h:selectBooleanCheckbox>
                          <h:outputLabel for="showAllSectionsCheckbox" value="Show All" />
                      </h:panelGroup>
                      <h:selectManyCheckbox
                          value="#{IDocTypeAction.tagAction.selectedTagsForSections}"
                          layout="pageDirection">
                          <f:selectItems value="#{IDocTypeAction.tagAction.allTags}" />
                          <a4j:support     event="onchange"
                                          reRender="listShuttle"
                                          ajaxSingle="true"
                                          limitToList="true"
                                          requestDelay="100"/>
                      </h:selectManyCheckbox>
                  </h:panelGrid>
              </rich:panel>
              <rich:listShuttle sourceValue="#{IDocTypeAction.filteredSections}"
                  targetValue="#{IDocTypeAction.selectedSections}"
                  sourceSelection="#{IDocTypeAction.selectedInSelectedSections}"
                  var="section"
                  listsHeight="500"
                  sourceListWidth="300"
                  targetListWidth="300"
                  sourceCaptionLabel="Filtered Sections"
                  targetCaptionLabel="Selected Sections"
                  converter="org.tolven.web.amaji.idoc.types.DocSectionWrapperConverter"
                  id="listShuttle"
                  onclick="listShuttleSelectOnClick();"
                  columnClasses="listShuttleCol1,listShuttleCol2">
                  <rich:column>
                      <h:outputText>#{section.title}</h:outputText>
                  </rich:column>
                  <rich:column>
                      <h:graphicImage value="../amaji/images/chain.gif"
                          rendered="#{!empty section.sectionDependences}"
                          title="#{section.sectionDependences}" />
                  </rich:column>
                  <a4j:support     event="onlistchanged"
                                  reRender="controlsPanel,listShuttle"
                                  action="#{IDocTypeAction.checkSectionDependences}"
                                  ajaxSingle="true"
                                  limitToList="true"
                                  requestDelay="100"/>
              </rich:listShuttle>
          </h:panelGrid>