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

NPE creating a link from pageValidate() when there are client-persistent properties with page scope

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.0
    • 4.0
    • Framework
    • None
    • WinXP Pro, JBOSS 4.0.3RC1

    Description

      A page that's using the 'client' persistence strategy for one of its properties includes a ServiceLink that triggers a subclass of RestartService. The service logs the user out, invalidates the session and then tries to redirect the user back to the 'Home' page, using HomeService.getLink(). However, trying to get the link from the HomeService resulted in a NPE...

      org.apache.tapestry.record.PageClientPropertyPersistenceScope.shouldEncodeState(PageClientPropertyPersistenceScope.java:45)
      $ClientPropertyPersistenceScope_106dad08dcb.shouldEncodeState($ClientPropertyPersistenceScope_106dad08dcb.java)
      org.apache.tapestry.record.ClientPropertyPersistenceStrategy.addParametersForPersistentProperties(ClientPropertyPersistenceStrategy.java:136)
      $PropertyPersistenceStrategy_106dad08dc7.addParametersForPersistentProperties($PropertyPersistenceStrategy_106dad08dc7.java)
      $PropertyPersistenceStrategy_106dad08dc8.addParametersForPersistentProperties($PropertyPersistenceStrategy_106dad08dc8.java)
      org.apache.tapestry.record.PropertyPersistenceStrategySourceImpl.addParametersForPersistentProperties(PropertyPersistenceStrategySourceImpl.java:99)
      $PropertyPersistenceStrategySource_106dad08d18.addParametersForPersistentProperties($PropertyPersistenceStrategySource_106dad08d18.java)
      org.apache.tapestry.services.impl.LinkFactoryImpl.constructLink(LinkFactoryImpl.java:112)
      $LinkFactory_106dad08ca2.constructLink($LinkFactory_106dad08ca2.java)
      org.apache.tapestry.engine.HomeService.getLink(HomeService.java:58)
      (rest of stack trace omitted)

      It seems that the NullPointer is caused by a null IPage in the RequestCycle, which PageClientPropertyPersistenceScope tries to check to determine if encoding should be applied.

      Attachments

        Activity

          People

            hlship Howard Lewis Ship
            sjarvi Scott Jarvi
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: