Menu

sort generates IllegalArgumentException

KubaSz
2012-05-29
2012-05-29
  • KubaSz

    KubaSz - 2012-05-29

    Hi Zemi.

    I've trided to add sort to table, and when i put pages:sort into code I get exception "Input cannot be null". As far as I know there shouldn't be null pointers in my collection. Do you have an idea what could lead to this?

    Stack trace:

    HTTP Status 500 -

    type Exception report

    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception

    org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateProcessingException: Error during execution of processor 'org.thymeleaf.standard.processor.attr.StandardTextAttrProcessor' (/account/contests:35)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    net.sourceforge.pagesdialect.ExportFilter.doFilter(ExportFilter.java:43)
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

    root cause

    org.thymeleaf.exceptions.TemplateProcessingException: Error during execution of processor 'org.thymeleaf.standard.processor.attr.StandardTextAttrProcessor' (/account/contests:35)
    org.thymeleaf.processor.AbstractProcessor.process(AbstractProcessor.java:223)
    org.thymeleaf.dom.Node.applyNextProcessor(Node.java:805)
    org.thymeleaf.dom.Node.processNode(Node.java:767)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.Document.process(Document.java:90)
    org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1029)
    org.thymeleaf.TemplateEngine.process(TemplateEngine.java:978)
    org.thymeleaf.spring3.view.ThymeleafView.render(ThymeleafView.java:460)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1157)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:927)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    net.sourceforge.pagesdialect.ExportFilter.doFilter(ExportFilter.java:43)
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

    root cause

    java.lang.IllegalArgumentException: Input cannot be null
    org.thymeleaf.util.Validate.notNull(Validate.java:37)
    org.thymeleaf.standard.expression.StandardExpressionParser.parseExpression(StandardExpressionParser.java:69)
    org.thymeleaf.standard.expression.StandardExpressionProcessor.parseExpression(StandardExpressionProcessor.java:53)
    org.thymeleaf.standard.expression.StandardExpressionProcessor.processExpression(StandardExpressionProcessor.java:91)
    org.thymeleaf.standard.processor.attr.AbstractStandardTextChildModifierAttrProcessor.getText(AbstractStandardTextChildModifierAttrProcessor.java:60)
    org.thymeleaf.processor.attr.AbstractTextChildModifierAttrProcessor.getModifiedChildren(AbstractTextChildModifierAttrProcessor.java:59)
    org.thymeleaf.processor.attr.AbstractChildrenModifierAttrProcessor.processAttribute(AbstractChildrenModifierAttrProcessor.java:58)
    org.thymeleaf.processor.attr.AbstractAttrProcessor.doProcess(AbstractAttrProcessor.java:74)
    org.thymeleaf.processor.AbstractProcessor.process(AbstractProcessor.java:212)
    org.thymeleaf.dom.Node.applyNextProcessor(Node.java:805)
    org.thymeleaf.dom.Node.processNode(Node.java:767)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:626)
    org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:608)
    org.thymeleaf.dom.Node.processNode(Node.java:785)
    org.thymeleaf.dom.Document.process(Document.java:90)
    org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1029)
    org.thymeleaf.TemplateEngine.process(TemplateEngine.java:978)
    org.thymeleaf.spring3.view.ThymeleafView.render(ThymeleafView.java:460)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1157)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:927)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    net.sourceforge.pagesdialect.ExportFilter.doFilter(ExportFilter.java:43)
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
    org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

    note The full stack trace of the root cause is available in the Apache Tomcat/7.0.22 logs.
    Apache Tomcat/7.0.22

     
    • Jose Miguel Samper

      Hi KubaSz,

      I think this has been already fixed in trunk.

      Which version are you using? Could you try 1.0.0-beta3-SNAPSHOT?

      If you're using Maven you need to configure the Sonatype snapshot repository, as in http://www.thymeleaf.org/faq.html#use-snapshot

      If you're not using Maven, I could release beta3 in a few hours.

       
      • KubaSz

        KubaSz - 2012-05-29

        I've changed version to 1.0.0-beta3-SNAPSHOT and still see the same error.
        If you think I can provide additional clues - just ask :)

         
        • Jose Miguel Samper

          Could you post the code with the pages:sort attribute?

          Something like
          < th pages:sort="name" th:text="#{name}" >...< /th >

          Could you try if it works removing the th:text expression?
          < th pages:sort="name" >...< /th >

           
          • KubaSz

            KubaSz - 2012-05-29

            You were right.

            I have:
            < th pages:sort="contest.name" th:text="#{account.contests.contest}">< / th>

            When I changed it to:
            < th pages:sort="contest.name">Bla bla< / th>
            it works.

             

            Last edit: Jose Miguel Samper 2012-05-29
  • Jose Miguel Samper

    Ok, thank you. I'll try to reproduce and fix it.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.