Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-1968

onPassivate is not handling % or / well

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 5.0.6
    • None
    • tapestry-core
    • None
    • Safari, OS X, JBoss 4.2.2

    Description

      These 2 situations occurred when onPassivate() returned Object[]. I'm guessing that they would have happened if I was returning a single Object too...

      • When one of the objects in the array was a String containing the character "/" then when redisplaying the page it went to a blank page. I guess the generated URL is the clue:

      if the passivation String is "jo" then the generated URL contains the string "/jo/".
      If the passivation String is "j/o" then the generated URL contains the string "/j%2Fo/".

      • When one of the objects in the array was a String containing the character "%" then I get an exception: "org.apache.commons.codec.DecoderException: Invalid URL encoding". Stack trace:

      org.apache.commons.codec.net.URLCodec.decodeUrl(URLCodec.java:174)
      org.apache.commons.codec.net.URLCodec.decode(URLCodec.java:206)
      org.apache.commons.codec.net.URLCodec.decode(URLCodec.java:270)
      org.apache.commons.codec.net.URLCodec.decode(URLCodec.java:290)
      org.apache.tapestry.internal.TapestryInternalUtils.urlDecode(TapestryInternalUtils.java:504)
      org.apache.tapestry.internal.services.PageRenderDispatcher.convertActivationContext(PageRenderDispatcher.java:103)
      org.apache.tapestry.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:69)
      org.apache.tapestry.services.TapestryModule$13.service(TapestryModule.java:1108)
      org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:43)
      org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java:688)
      org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:84)
      org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:97)
      org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:88)
      org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
      org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:110)
      org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:1086)
      org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
      org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
      org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
      org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
      java.lang.Thread.run(Thread.java:613)

      Attachments

        Activity

          People

            hlship Howard Lewis Ship
            geoffcallender Geoff Callender
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: