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

    Problem with performacne of table filtering

    Luke Twardowsky Newbie

      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
          Luke Twardowsky Newbie

          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 Master

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

            • 3. Re: Problem with performacne of table filtering
              Luke Twardowsky Newbie

              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
                Luke Twardowsky Newbie

                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 Master

                  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
                    Luke Twardowsky Newbie

                    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
                      Nick Belaevski Master

                      Hi,

                      What is JSF version used?

                      • 9. Re: Problem with performacne of table filtering
                        Nick Belaevski Master

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

                        • 10. Re: Problem with performacne of table filtering
                          Luke Twardowsky Newbie

                          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
                            Luke Twardowsky Newbie

                            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
                              Nick Belaevski Master

                              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
                                Luke Twardowsky Newbie

                                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
                                  Luke Twardowsky Newbie

                                  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