FilterTable Classcast Exception

I am using the FilterTable add on

https://vaadin.com/directory/#addon/filteringtable

I used the HbnContainer to create the Containter data soource of the FilterTable object. I determine which columns I want to display, there are 11. Some of them are originally stored as Integer objects within the database however I create a generated columns which present strings based on the Integer value of the cells.

I was originally using FilterTable 0.9.3.v7 but ran into an error.

When I go about filtering these generatedColumns, of course I am entering a String but the database values are Integers and a Class cast exception is thrown.

I think perhaps I am missing something with regard to Coverters?

Additionally, once I updated the filtertable version to 0.9.10.v7, I had to create the controls on the FilterTable using a PagedFilterControlConfig object. However when I load this, the controls are not present and the ClassCastException remains.

Any feedback would be appreciated.

Patrick

Error Message

17:07:24,224 SEVERE [com.vaadin.server.DefaultErrorHandler]
 (http-localhost-127.0.0.1-8580-2) : com.vaadin.event.ListenerMethod$MethodException: Invocation of method valueChange in org.tepi.filtertable.FilterFieldGenerator$2 failed.
    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:528) [vaadin-server-7.1.5.jar:7.1.5]

    at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:167) [vaadin-server-7.1.5.jar:7.1.5]

    at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:969) [vaadin-server-7.1.5.jar:7.1.5]

    at com.vaadin.ui.AbstractField.fireValueChange(AbstractField.java:1126) [vaadin-server-7.1.5.jar:7.1.5]

    at com.vaadin.ui.AbstractField.setValue(AbstractField.java:542) [vaadin-server-7.1.5.jar:7.1.5]

    at com.vaadin.ui.AbstractTextField.changeVariables(AbstractTextField.java:181) [vaadin-server-7.1.5.jar:7.1.5]

    at com.vaadin.server.communication.ServerRpcHandler.changeVariables(ServerRpcHandler.java:403) [vaadin-server-7.1.5.jar:7.1.5]

    at com.vaadin.server.communication.ServerRpcHandler.handleBurst(ServerRpcHandler.java:228) [vaadin-server-7.1.5.jar:7.1.5]

    at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:111) [vaadin-server-7.1.5.jar:7.1.5]

    at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:91) [vaadin-server-7.1.5.jar:7.1.5]

    at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:37) [vaadin-server-7.1.5.jar:7.1.5]

    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1371) [vaadin-server-7.1.5.jar:7.1.5]

    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:238) [vaadin-server-7.1.5.jar:7.1.5]

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]

    at com.wlgore.rmt.servlet.HibernateServletFilter.doFilter(HibernateServletFilter.java:43) [classes:]

    at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source) [:1.7.0_25]

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25]

    at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25]

    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) [spring-aop-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) [spring-aop-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) [spring-aop-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98) [spring-tx-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262) [spring-tx-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) [spring-tx-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) [spring-aop-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at com.sun.proxy.$Proxy128.doFilter(Unknown Source)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) [spring-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) [spring-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]

    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:94) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) [spring-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) [spring-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) [spring-security-web-3.2.1.RELEASE.jar:3.2.1.RELEASE]

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) [spring-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) [spring-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]

    at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]

    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]

    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]

    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]

    at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]

Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
    at org.hibernate.type.descriptor.java.IntegerTypeDescriptor.unwrap(IntegerTypeDescriptor.java:36) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.type.descriptor.sql.IntegerTypeDescriptor$1.doBind(IntegerTypeDescriptor.java:57) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:92) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:280) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:275) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1963) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.loader.Loader.bindParameterValues(Loader.java:1934) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1870) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1831) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1811) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.loader.Loader.doQuery(Loader.java:899) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.loader.Loader.doList(Loader.java:2516) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.loader.Loader.doList(Loader.java:2502) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2332) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.loader.Loader.list(Loader.java:2327) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:124) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1621) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:374) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at org.hibernate.internal.CriteriaImpl.uniqueResult(CriteriaImpl.java:396) [hibernate-core-4.1.10.Final.jar:4.1.10.Final]

    at com.vaadin.data.hbnutil.HbnContainer.size(HbnContainer.java:1048) [hbncontainer-2.0.1.jar:2.0.1]

    at org.tepi.filtertable.paged.PagedFilterTableContainer.size(PagedFilterTableContainer.java:55) [filteringtable-0.9.10.v7.jar:0.9.10.v7]

    at com.vaadin.ui.AbstractSelect.size(AbstractSelect.java:762) [vaadin-server-7.1.5.jar:7.1.5]

    at com.vaadin.ui.CustomTable.setCurrentPageFirstItemIndex(CustomTable.java:1475) [filteringtable-0.9.10.v7.jar:7.1.5]

    at com.vaadin.ui.CustomTable.containerItemSetChange(CustomTable.java:4463) [filteringtable-0.9.10.v7.jar:7.1.5]

    at com.vaadin.data.hbnutil.HbnContainer.fireItemSetChange(HbnContainer.java:1729) [hbncontainer-2.0.1.jar:2.0.1]

    at com.vaadin.data.hbnutil.HbnContainer.addContainerFilter(HbnContainer.java:1959) [hbncontainer-2.0.1.jar:2.0.1]

    at com.vaadin.data.hbnutil.HbnContainer.addContainerFilter(HbnContainer.java:1937) [hbncontainer-2.0.1.jar:2.0.1]

    at com.vaadin.data.hbnutil.HbnContainer.addContainerFilter(HbnContainer.java:1360) [hbncontainer-2.0.1.jar:2.0.1]

    at org.tepi.filtertable.paged.PagedFilterTableContainer.addContainerFilter(PagedFilterTableContainer.java:226) [filteringtable-0.9.10.v7.jar:0.9.10.v7]

    at org.tepi.filtertable.FilterFieldGenerator.setFilter(FilterFieldGenerator.java:327) [filteringtable-0.9.10.v7.jar:0.9.10.v7]

    at org.tepi.filtertable.FilterFieldGenerator.updateFilterForField(FilterFieldGenerator.java:528) [filteringtable-0.9.10.v7.jar:0.9.10.v7]

    at org.tepi.filtertable.FilterFieldGenerator.access$100(FilterFieldGenerator.java:43) [filteringtable-0.9.10.v7.jar:0.9.10.v7]

    at org.tepi.filtertable.FilterFieldGenerator$2.valueChange(FilterFieldGenerator.java:491) [filteringtable-0.9.10.v7.jar:0.9.10.v7]

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25]

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25]

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25]

    at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25]

    at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508) [vaadin-server-7.1.5.jar:7.1.5]

    ... 77 more