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.