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

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.0
    • Fix Version/s: 4.0
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      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

            • Assignee:
              hlship Howard M. Lewis Ship
              Reporter:
              sjarvi Scott Jarvi
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: