[
http://issues.apache.org/jira/browse/TAPESTRY-701?page=comments#action_12358243
]
Howard M. Lewis Ship commented on TAPESTRY-701:
-----------------------------------------------
Ok, was able to reproduce it, as:
#
org.apache.tapestry.record.PageClientPropertyPersistenceScope.shouldEncodeState(PageClientPropertyPersistenceScope.java:46)
#
$ClientPropertyPersistenceScope_107b85a0b3f.shouldEncodeState($ClientPropertyPersistenceScope_107b85a0b3f.java)
#
org.apache.tapestry.record.ClientPropertyPersistenceStrategy.addParametersForPersistentProperties(ClientPropertyPersistenceStrategy.java:123)
#
$PropertyPersistenceStrategy_107b85a0b39.addParametersForPersistentProperties($PropertyPersistenceStrategy_107b85a0b39.java)
#
$PropertyPersistenceStrategy_107b85a0b3a.addParametersForPersistentProperties($PropertyPersistenceStrategy_107b85a0b3a.java)
#
org.apache.tapestry.record.PropertyPersistenceStrategySourceImpl.addParametersForPersistentProperties(PropertyPersistenceStrategySourceImpl.java:98)
#
$PropertyPersistenceStrategySource_107b85a0a9a.addParametersForPersistentProperties($PropertyPersistenceStrategySource_107b85a0a9a.java)
#
org.apache.tapestry.services.impl.LinkFactoryImpl.constructLink(LinkFactoryImpl.java:123)
# $LinkFactory_107b85a0a1f.constructLink($LinkFactory_107b85a0a1f.java)
# org.apache.tapestry.engine.PageService.getLink(PageService.java:51)
# $IEngineService_107b85a0aaa.getLink($IEngineService_107b85a0aaa.java)
#
org.apache.tapestry.services.impl.EngineServiceOuterProxy.getLink(EngineServiceOuterProxy.java:60)
# pages.RedirectValidate.pageValidate(RedirectValidate.java:17)
# org.apache.tapestry.AbstractPage.firePageValidate(AbstractPage.java:585)
Added a second page, whose pageValidate() redirects to the first page:
public void pageValidate(PageEvent event)
{
String url = getPageService().getLink(false, "Redirect").getURL();
throw new RedirectException(url);
}
Because the page has not validated, then there will be no active page in the
request cycle.
> NullPointerException in PageClientPropertyPersistenceScope when using
> 'client' persistence strategy and executing a ServiceLink
> -------------------------------------------------------------------------------------------------------------------------------
>
> Key: TAPESTRY-701
> URL: http://issues.apache.org/jira/browse/TAPESTRY-701
> Project: Tapestry
> Type: Bug
> Components: Framework
> Versions: 4.0
> Environment: WinXP Pro, JBOSS 4.0.3RC1
> Reporter: Scott Jarvi
> Assignee: Howard M. Lewis Ship
> Priority: Minor
>
> 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.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]