1 2 Previous Next 19 Replies Latest reply on Oct 21, 2009 9:34 AM by nbelaevski

    Problem with performacne of table filtering

      When I have to filter about 10000 results I get sometimes following error:

      java.lang.IllegalArgumentException
       at javax.faces.model.ListDataModel.getRowData(ListDataModel.java:139)
       at org.ajax4jsf.model.SequenceDataModel.getRowData(SequenceDataModel.java:147)
       at org.richfaces.model.ModifiableModel$RowKeyWrapperFactory.wrapObject(ModifiableModel.java:75)
       at org.richfaces.model.impl.expressive.ObjectWrapperFactory$2.convert(ObjectWrapperFactory.java:177)
       at org.richfaces.model.impl.expressive.ObjectWrapperFactory.convertList(ObjectWrapperFactory.java:138)
       at org.richfaces.model.impl.expressive.ObjectWrapperFactory.wrapList(ObjectWrapperFactory.java:175)
       at org.richfaces.model.ModifiableModel.filter(ModifiableModel.java:245)
       at org.richfaces.model.ModifiableModel.modify(ModifiableModel.java:233)
       at org.richfaces.component.UIDataTable.createDataModel(UIDataTable.java:145)
       at org.ajax4jsf.component.UIDataAdaptor.getExtendedDataModel(UIDataAdaptor.java:621)
       at org.ajax4jsf.component.UIDataAdaptor.setRowKey(UIDataAdaptor.java:339)
       at org.ajax4jsf.component.UIDataAdaptor.iterate(UIDataAdaptor.java:1034)
       at org.ajax4jsf.component.UIDataAdaptor.processDecodes(UIDataAdaptor.java:1158)
       at org.ajax4jsf.component.UIDataAdaptor.processDecodes(UIDataAdaptor.java:1168)
       at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:989)
      


      <rich:column filterMethod="#{visaFilterBean.filterAmttxn}">
       <f:facet name="header">
       <h:inputText value="#{visaFilterBean.amttxn}" id="amttxn" styleClass="inStr100">
       <a4j:support event="onkeyup" reRender="list, sc1, sc2" ignoreDupResponses="true" requestDelay="200" focus="amttxn" oncomplete="setCaretToEnd(event);"/>
       </h:inputText>
       </f:facet>
       <h:outputText value="#{visa.amttxn}" />
       </rich:column>
      










      Best regards,
      Luke

        • 1. Re: Problem with performacne of table filtering

          My filterMethod:

           public boolean filterAmttxn(Object current) {
           if (amttxn.length()==0) {
           return true;
           }
           if (String.valueOf(current.getAmttxn()).toLowerCase().startsWith(amttxn.toLowerCase())) {
           return true;
           }else {
           return false;
           }
           }
          


          I use richfaces 3.3.0. Is this error related to amount of results to filter?

          Thanks for all responses in advance!!

          Regards Luke

          • 2. Re: Problem with performacne of table filtering
            ilya_shaikovsky

            not this could not be caused by amount. seems you shown not full stacktrace.

            • 3. Re: Problem with performacne of table filtering

              Full stacktrace:

              java.lang.IllegalArgumentException
               at javax.faces.model.ListDataModel.getRowData(ListDataModel.java:139)
               at javax.faces.model.ListDataModel.setRowIndex(ListDataModel.java:175)
               at org.ajax4jsf.model.SequenceDataModel.setRowKey(SequenceDataModel.java:130)
               at org.richfaces.model.ModifiableModel$RowKeyWrapperFactory.wrapObject(ModifiableModel.java:74)
               at org.richfaces.model.impl.expressive.ObjectWrapperFactory$2.convert(ObjectWrapperFactory.java:177)
               at org.richfaces.model.impl.expressive.ObjectWrapperFactory.convertList(ObjectWrapperFactory.java:138)
               at org.richfaces.model.impl.expressive.ObjectWrapperFactory.wrapList(ObjectWrapperFactory.java:175)
               at org.richfaces.model.ModifiableModel.filter(ModifiableModel.java:245)
               at org.richfaces.model.ModifiableModel.modify(ModifiableModel.java:233)
               at org.richfaces.component.UIDataTable.createDataModel(UIDataTable.java:145)
               at org.ajax4jsf.component.UIDataAdaptor.getExtendedDataModel(UIDataAdaptor.java:621)
               at org.ajax4jsf.component.UIDataAdaptor.getRowCount(UIDataAdaptor.java:248)
               at org.richfaces.component.UIDatascroller.getRowCount(UIDatascroller.java:351)
               at org.richfaces.component.UIDatascroller.getPageCount(UIDatascroller.java:326)
               at org.richfaces.component.UIDatascroller.setupFirstRowValue(UIDatascroller.java:441)
               at org.richfaces.component.RenderPhaseDataScrollerVisitor.afterRoot(RenderPhaseDataScrollerVisitor.java:191)
               at org.richfaces.event.RenderPhaseComponentListener.beforePhase(RenderPhaseComponentListener.java:73)
               at org.ajax4jsf.component.AjaxViewRoot.processPhaseListeners(AjaxViewRoot.java:185)
               at org.ajax4jsf.component.AjaxViewRoot.encodeBegin(AjaxViewRoot.java:502)
               at javax.faces.component.UIComponent.encodeAll(UIComponent.java:882)
               at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
               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:248)
               at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
               at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
               at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
               at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
               at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
               at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
               at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
               at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
               at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
               at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
               at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
               at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
               at com.bzwbk.jsf.MySecurityFilter.doFilter(MySecurityFilter.java:56)
               at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
               at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
               at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
               at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
               at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
               at weblogic.security.service.SecurityManager.runAs(Unknown Source)
               at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
               at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
               at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
               at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
               at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
              2009-08-13 12:11:14 com.sun.faces.lifecycle.LifecycleImpl phase
              WARNING: executePhase(APPLY_REQUEST_VALUES 2,com.sun.faces.context.FacesContextImpl@1fa00ce) threw exception
              javax.faces.FacesException
               at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:109)
               at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
               at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
               at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
               at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
               at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
               at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
               at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
               at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
               at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
               at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
               at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
               at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
               at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
               at com.bzwbk.jsf.MySecurityFilter.doFilter(MySecurityFilter.java:56)
               at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
               at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
               at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
               at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
               at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
               at weblogic.security.service.SecurityManager.runAs(Unknown Source)
               at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
               at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
               at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
               at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
               at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
              Caused by: java.lang.IllegalArgumentException
               at javax.faces.model.ListDataModel.getRowData(ListDataModel.java:139)
               at org.ajax4jsf.model.SequenceDataModel.getRowData(SequenceDataModel.java:147)
               at org.richfaces.model.ModifiableModel$RowKeyWrapperFactory.wrapObject(ModifiableModel.java:75)
               at org.richfaces.model.impl.expressive.ObjectWrapperFactory$2.convert(ObjectWrapperFactory.java:177)
               at org.richfaces.model.impl.expressive.ObjectWrapperFactory.convertList(ObjectWrapperFactory.java:138)
               at org.richfaces.model.impl.expressive.ObjectWrapperFactory.wrapList(ObjectWrapperFactory.java:175)
               at org.richfaces.model.ModifiableModel.filter(ModifiableModel.java:245)
               at org.richfaces.model.ModifiableModel.modify(ModifiableModel.java:233)
               at org.richfaces.component.UIDataTable.createDataModel(UIDataTable.java:145)
               at org.ajax4jsf.component.UIDataAdaptor.getExtendedDataModel(UIDataAdaptor.java:621)
               at org.ajax4jsf.component.UIDataAdaptor.setRowKey(UIDataAdaptor.java:339)
               at org.ajax4jsf.component.UIDataAdaptor.iterate(UIDataAdaptor.java:1034)
               at org.ajax4jsf.component.UIDataAdaptor.processDecodes(UIDataAdaptor.java:1158)
               at org.ajax4jsf.component.UIDataAdaptor.processDecodes(UIDataAdaptor.java:1168)
               at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:989)
               at javax.faces.component.UIForm.processDecodes(UIForm.java:203)
               at org.ajax4jsf.component.AjaxViewRoot$1.invokeContextCallback(AjaxViewRoot.java:392)
               at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:238)
               at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:409)
               at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:101)
               ... 25 more
              


              • 4. Re: Problem with performacne of table filtering

                Further part of stacktrace:

                ]] Root cause of ServletException.
                java.lang.IllegalArgumentException
                 at javax.faces.model.ListDataModel.getRowData(ListDataModel.java:139)
                 at javax.faces.model.ListDataModel.setRowIndex(ListDataModel.java:175)
                 at org.ajax4jsf.model.SequenceDataModel.setRowKey(SequenceDataModel.java:130)
                 at org.richfaces.model.ModifiableModel$RowKeyWrapperFactory.wrapObject(ModifiableModel.java:74)
                 at org.richfaces.model.impl.expressive.ObjectWrapperFactory$2.convert(ObjectWrapperFactory.java:177)
                 Truncated. see log file for complete stacktrace
                >
                2009-08-13 14:32:40 com.sun.facelets.FaceletViewHandler handleRenderException
                SEVERE: Error Rendering View[/pages/acqTlogList.jspx]
                java.lang.ArrayIndexOutOfBoundsException: -1
                 at java.util.ArrayList.get(ArrayList.java:324)
                 at org.apache.openjpa.lib.rop.ListResultList.get(ListResultList.java:75)
                 at org.apache.openjpa.kernel.DelegatingResultList.get(DelegatingResultList.java:244)
                 at javax.faces.model.ListDataModel.getRowData(ListDataModel.java:141)
                 at javax.faces.model.ListDataModel.setRowIndex(ListDataModel.java:175)
                 at org.ajax4jsf.model.SequenceDataModel.setRowKey(SequenceDataModel.java:130)
                 at org.richfaces.model.ModifiableModel$RowKeyWrapperFactory.wrapObject(ModifiableModel.java:74)
                 at org.richfaces.model.impl.expressive.ObjectWrapperFactory$2.convert(ObjectWrapperFactory.java:177)
                 at org.richfaces.model.impl.expressive.ObjectWrapperFactory.convertList(ObjectWrapperFactory.java:138)
                 at org.richfaces.model.impl.expressive.ObjectWrapperFactory.wrapList(ObjectWrapperFactory.java:175)
                 at org.richfaces.model.ModifiableModel.filter(ModifiableModel.java:245)
                 at org.richfaces.model.ModifiableModel.modify(ModifiableModel.java:233)
                 at org.richfaces.component.UIDataTable.createDataModel(UIDataTable.java:145)
                 at org.ajax4jsf.component.UIDataAdaptor.getExtendedDataModel(UIDataAdaptor.java:621)
                 at org.ajax4jsf.component.UIDataAdaptor.getRowCount(UIDataAdaptor.java:248)
                 at org.richfaces.component.UIDatascroller.getRowCount(UIDatascroller.java:351)
                 at org.richfaces.component.UIDatascroller.getPageCount(UIDatascroller.java:326)
                 at org.richfaces.component.UIDatascroller.setupFirstRowValue(UIDatascroller.java:441)
                 at org.richfaces.component.RenderPhaseDataScrollerVisitor.afterRoot(RenderPhaseDataScrollerVisitor.java:191)
                 at org.richfaces.event.RenderPhaseComponentListener.beforePhase(RenderPhaseComponentListener.java:73)
                 at org.ajax4jsf.component.AjaxViewRoot.processPhaseListeners(AjaxViewRoot.java:185)
                 at org.ajax4jsf.component.AjaxViewRoot.encodeBegin(AjaxViewRoot.java:502)
                 at javax.faces.component.UIComponent.encodeAll(UIComponent.java:882)
                 at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
                 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:248)
                 at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
                 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
                 at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
                 at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
                 at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
                 at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
                 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
                 at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
                 at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
                 at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
                 at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
                 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
                 at com.bzwbk.jsf.MySecurityFilter.doFilter(MySecurityFilter.java:56)
                 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
                 at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
                 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
                 at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
                 at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
                 at weblogic.security.service.SecurityManager.runAs(Unknown Source)
                 at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
                 at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
                 at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
                 at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
                 at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
                


                • 5. Re: Problem with performacne of table filtering
                  ilya_shaikovsky

                  okay.. seems full page code for the dataTable and at list basic peaces of java code of your model is needed also.

                  • 6. Re: Problem with performacne of table filtering

                    DataTable:

                     <rich:panel id="panel1">
                     <f:facet name="header">
                     <h:outputText value="#{msg.tlog} - #{msg.results}"/>
                     </f:facet>
                     <h:inputHidden id="selectedRowField" value="#{acqMB.table.selectedRow}"/>
                    
                     <rich:datascroller align="center" for="list" maxPages="20" page="#{acqMB.table.pageNumber}" id="sc1" reRender="sc2" selectedStyleClass="buttonScroll" />
                    
                     <rich:dataTable onRowMouseOver="this.style.backgroundColor='#5FAA5F'" onRowMouseOut="this.style.backgroundColor=''"
                     id="list" rows="#{acqMB.table.rows}" value="#{acqMB.visaList}" var="visa"
                     styleClass="dataTable" rowClasses="firstRow, secondRow">
                     <a4j:support event="onRowClick" action="#{acqMB.view}" oncomplete="toView();"/>
                    
                     <f:facet name="header">
                     <rich:columnGroup>
                     <rich:column>
                     <h:outputText styleClass="headerText" value="#{msg.id}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText styleClass="headerText" value="#{msg.rrn}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText styleClass="headerText" value="#{msg.fncode}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText styleClass="headerText" value="#{msg.amttxn}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText styleClass="headerText" value="#{msg.curtxn}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText styleClass="headerText" value="#{msg.file_ep}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText styleClass="headerText" value="#{msg.rozl_tlog}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText styleClass="headerText" value="#{msg.rozl_elix}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText styleClass="headerText" value="#{msg.txntime}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText styleClass="headerText" value="#{msg.setdate}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText styleClass="headerText" value="#{msg.dpan}" />
                     </rich:column>
                     </rich:columnGroup>
                     </f:facet>
                    
                     <rich:column>
                     <h:outputText value="#{visa.id}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{visa.rrn}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{visa.txntype}" />
                     </rich:column>
                     <rich:column filterMethod="#{visaFilterBean.filterAmttxn}" styleClass="inNum100">
                     <f:facet name="header">
                     <h:inputText value="#{visaFilterBean.amttxn}" id="amttxn" styleClass="inStr100">
                     <a4j:support event="onkeyup" reRender="list, sc1, sc2" ignoreDupResponses="true" requestDelay="200" focus="amttxn" oncomplete="setCaretToEnd(event);"/>
                     </h:inputText>
                     </f:facet>
                     <h:outputText value="#{visa.amttxn}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{visa.curtxn}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{visa.fileVisa}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{visa.rozlTlog}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{visa.rozlElix}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{visa.txntime}" />
                     </rich:column>
                     <rich:column>
                     <h:outputText value="#{visa.setdate}">
                     <f:convertDateTime pattern="yyyy-MM-dd" timeZone="CET"/>
                     </h:outputText>
                     </rich:column>
                     <rich:column filterMethod="#{visaFilterBean.filterPanDisplay}">
                     <f:facet name="header">
                     <h:inputText value="#{visaFilterBean.panDisplay}" id="dpan" styleClass="inStr100">
                     <a4j:support event="onkeyup" reRender="list, sc1, sc2" ignoreDupResponses="true" requestDelay="200" focus="dpan" oncomplete="setCaretToEnd(event);"/>
                     </h:inputText>
                     </f:facet>
                     <h:outputText value="#{visa.panDisplay}" />
                     </rich:column>
                    
                     </rich:dataTable>
                    
                     <rich:datascroller align="center" for="list" maxPages="20" page="#{acqMB.table.pageNumber}" id="sc2" reRender="sc1" selectedStyleClass="buttonScroll" />
                     <h:commandButton id="viewSubmit" styleClass="visible" action="#{acqMB.goViewVisa}"/>
                    <script>
                    //<![CDATA[
                     var dpan = document.getElementById('acqVisaListForm:list:dpan');
                     var amttxn = document.getElementById('acqVisaListForm:list:amttxn');
                     if(dpan.value.length==0 && amttxn.value.length==0){
                     var tabl = document.getElementById('acqVisaListForm:list');
                     var num = document.getElementById('acqVisaListForm:selectedRowField');
                     var rows = tabl.getElementsByTagName('tr');
                     if(rows.length>2 && num.value>0){
                     rows[num.value].style.background = '#ADFF2F';
                     }
                     }
                     //]]>
                    </script>
                    
                     </rich:panel>
                    


                    FilterBean:
                    public class VisaFilterBean implements Serializable{
                     private static final long serialVersionUID = 1L;
                    
                     private String panDisplay = "";
                     private String amttxn = "";
                    
                     public boolean filterPanDisplay(Object current) {
                     VisaCommon visa = Util.getCommonVisa(current);
                     if (panDisplay.length()==0) {
                     return true;
                     }
                     if (visa.getPanDisplay().toLowerCase().startsWith(panDisplay.toLowerCase())) {
                     return true;
                     }else {
                     return false;
                     }
                     }
                    
                     public boolean filterAmttxn(Object current) {
                     VisaCommon visa = Util.getCommonVisa(current);
                     if (amttxn.length()==0) {
                     return true;
                     }
                     if (String.valueOf(visa.getAmttxn()).toLowerCase().startsWith(amttxn.toLowerCase())) {
                     return true;
                     }else {
                     return false;
                     }
                     }
                    
                     public boolean isUsed() {
                     if(amttxn.length()>0 || panDisplay.length()>0){
                     return true;
                     }
                     return false;
                     }
                    
                    
                     public String getPanDisplay() {
                     return panDisplay;
                     }
                     public void setPanDisplay(String panDisplay) {
                     this.panDisplay = panDisplay;
                     }
                     public String getAmttxn() {
                     return amttxn;
                     }
                     public void setAmttxn(String amttxn) {
                     this.amttxn = amttxn;
                     }
                    


                    VisaCommon:
                    public class VisaCommon implements Serializable{
                     private static final long serialVersionUID = 1L;
                    
                     private String panDisplay;
                     private String rrn;
                     private String txntype;
                     private double amttxn;
                     private String curtxn;
                     private double amtset;
                     private String curset;
                     private String termcode;
                     private String txntime;
                     private Date setdate;
                    
                     public VisaCommon() {
                     }
                    
                     public String getPanDisplay() {
                     return panDisplay;
                     }
                     public void setPanDisplay(String panDisplay) {
                     this.panDisplay = panDisplay;
                     }
                     public String getRrn() {
                     return rrn;
                     }
                     public void setRrn(String rrn) {
                     this.rrn = rrn;
                     }
                     public String getTxntype() {
                     return txntype;
                     }
                     public void setTxntype(String txntype) {
                     this.txntype = txntype;
                     }
                     public double getAmttxn() {
                     return amttxn;
                     }
                     public void setAmttxn(double amttxn) {
                     this.amttxn = amttxn;
                     }
                     public String getCurtxn() {
                     return curtxn;
                     }
                     public void setCurtxn(String curtxn) {
                     this.curtxn = curtxn;
                     }
                     public double getAmtset() {
                     return amtset;
                     }
                     public void setAmtset(double amtset) {
                     this.amtset = amtset;
                     }
                     public String getCurset() {
                     return curset;
                     }
                     public void setCurset(String curset) {
                     this.curset = curset;
                     }
                     public String getTermcode() {
                     return termcode;
                     }
                     public void setTermcode(String termcode) {
                     this.termcode = termcode;
                     }
                     public String getTxntime() {
                     return txntime;
                     }
                     public void setTxntime(String txntime) {
                     this.txntime = txntime;
                     }
                     public Date getSetdate() {
                     return setdate;
                     }
                     public void setSetdate(Date setdate) {
                     this.setdate = setdate;
                     }
                    
                     public void setValues(VisaAdv va) {
                     amttxn = va.getAmount();
                     panDisplay = va.getPanDisplay();
                     }
                    


                    • 7. Re: Problem with performacne of table filtering
                      nbelaevski

                      Hi,

                      What is JSF version used?

                      • 8. Re: Problem with performacne of table filtering

                        JSF 1.2

                        Regards,
                        Luke

                        • 9. Re: Problem with performacne of table filtering
                          nbelaevski

                          Please post exact version string from manifest. Version should be 1.2_xx

                          • 10. Re: Problem with performacne of table filtering

                            Created-By: R27.1.0-109-73164-1.5.0_08-20061129-1428-windows-ia32 (BEA
                            Systems, Inc.)
                            Specification-Title: JavaServer Faces
                            Specification-Version: 1.2MR1
                            Implementation-Title: JavaServer Faces Reference Implementation 1.2 Tu
                            e Jul 31 14:39:32 EDT 2007
                            Implementation-Version: 1.2.3.2
                            Implementation-Vendor: BEA Systems
                            Implementation-Vendor-Id: com.sun

                            Regards,
                            Luke

                            • 11. Re: Problem with performacne of table filtering

                              Manifest-Version: 1.0
                              Ant-Version: Apache Ant 1.6.5
                              Created-By: R27.1.0-109-73164-1.5.0_08-20061129-1428-windows-ia32 (BEA
                              Systems, Inc.)
                              Specification-Title: JavaServer Faces
                              Specification-Version: 1.2MR1
                              Implementation-Title: JavaServer Faces Reference Implementation 1.2 Tu
                              e Jul 31 14:39:32 EDT 2007
                              Implementation-Version: 1.2.3.2
                              Implementation-Vendor: BEA Systems
                              Implementation-Vendor-Id: com.sun

                              Regards,
                              Luke

                              • 12. Re: Problem with performacne of table filtering
                                nbelaevski

                                This version of JSF is pretty old and looks like there's a bug in it. Please try upgrading to the latest one.

                                • 13. Re: Problem with performacne of table filtering

                                  Which version do You suggest?? I'm using RichFaces 3.3.0 and Facelets 1.1.14. I have downloaded mojarra-1.2_12 and newest JSTL. After changing libraries my application hasn't worked well. During deployment I've got:

                                  2009-08-18 08:34:24 com.sun.faces.config.ConfigureListener contextInitialized
                                  INFO: Initializing Mojarra (1.2_12-b01-FCS) for context '/App'
                                  2009-08-18 08:34:24 com.sun.faces.config.ConfigureListener contextInitialized
                                  WARNING: JSF1059: WARNING! The com.sun.faces.verifyObjects feature is to aid developers not using tools. It shouldn''t be enabled if using an IDE, or if this application is being deployed for production as it will impact application start times.
                                  log4j:WARN No appenders could be found for logger (org.ajax4jsf.renderkit.ChameleonRenderKitFactory).
                                  log4j:WARN Please initialize the log4j system properly.
                                  2009-08-18 08:34:26 com.sun.faces.spi.InjectionProviderFactory getProviderInstance
                                  SEVERE: JSF1030: The specified InjectionProvider implementation 'com.bea.faces.WeblogicInjectionProvider' cannot be loaded.
                                  2009-08-18 08:34:26 com.sun.faces.spi.InjectionProviderFactory createInstance
                                  INFO: JSF1048: PostConstruct/PreDestroy annotations present. ManagedBeans methods marked with these annotations will have said annotations processed.
                                  


                                  Regards,
                                  Luke

                                  • 14. Re: Problem with performacne of table filtering

                                    I haven't idea how exactly add com.bea.faces.WeblogicInjectionProv
                                    ider class to jsf-1.2_12 beacuse just adding this class to jsf-impl.jar is not good enough.

                                    Thanks in advance for all responses.

                                    Regards,
                                    Luke

                                    1 2 Previous Next