You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "David Rain (JIRA)" <ji...@apache.org> on 2014/02/05 13:42:09 UTC

[jira] [Created] (WICKET-5499) Page is not touched during initialization

David Rain created WICKET-5499:
----------------------------------

             Summary: Page is not touched during initialization
                 Key: WICKET-5499
                 URL: https://issues.apache.org/jira/browse/WICKET-5499
             Project: Wicket
          Issue Type: Bug
          Components: wicket
    Affects Versions: 6.13.0
         Environment: Windows 7 64-bit
JDK/JRE 1.6.0_29
            Reporter: David Rain


After migration from 6.12.0 to 6.13.0 our app stopped working.
I figured out that there is a new condition in Page#dirty(final boolean isInitialization) on line 288:
{code}
if (isInitialization == false)
{
	pageManager.touchPage(this);
}
{code}
That means that nely constructed page does not get touched thus is not stored in page store.
The problém is that when I do something like this
{code}
printPage = new PrintPage(event.getFormId(), event.getFormData());
PageProvider pp = new PageProvider(printPage);
RenderPageRequestHandler rh = new RenderPageRequestHandler(pp);
CharSequence url = RequestCycle.get().urlFor(rh);
{code}
I get an URL pointing to page with id X - but that page is not found because it was not stored and I ends with nonsense PageExpired exception.

I notice that 6.13.0 version fixed some bugs with stateless / statefull pages, etc. so that may be the cause. Nevertheless I think it's a bug.
If you do not want to touch page during creation, then it must get touched whenever it is involved in some request handler.





--
This message was sent by Atlassian JIRA
(v6.1.5#6160)