Author: mgrigorov
Date: Sun Aug 28 17:27:43 2011
New Revision: 1162563
URL: http://svn.apache.org/viewvc?rev=1162563&view=rev
Log:
WICKET-3991 SignInPanel prevents the page being Stateless when signing in with
the "rember me" facility.
WICKET-3965 A (stateless) page immediately disappears after the first render
Revert the changes for WICKET-3991 and reimplement WICKET-3965. Not the
stateless hint is set automatically only for usages of
RequestCycle#setResponsePage(IRequestablePage).
TODO: see how MockPageManager#touchPage() can be fixed too. Currently it stores
even stateless pages, which is wrong.
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/mock/MockPageManager.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/ListenerInterfaceRequestHandler.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_10-2.html
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_10-3.html
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java?rev=1162563&r1=1162562&r2=1162563&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java
(original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/Component.java Sun
Aug 28 17:27:43 2011
@@ -3286,17 +3286,14 @@ public abstract class Component
{
int id = getBehaviorId(behaviour);
Page page = getPage();
+ PageAndComponentProvider provider = new
PageAndComponentProvider(page, this);
IRequestHandler handler;
if (page.isPageStateless())
{
- PageAndComponentProvider provider = new
PageAndComponentProvider(page.getPageId(),
- page.getPageClass(), page.getPageParameters(),
page.getRenderCount(),
- getPageRelativePath());
handler = new
BookmarkableListenerInterfaceRequestHandler(provider, listener, id);
}
else
{
- PageAndComponentProvider provider = new
PageAndComponentProvider(page, this);
handler = new ListenerInterfaceRequestHandler(provider,
listener, id);
}
return getRequestCycle().urlFor(handler);
@@ -3329,17 +3326,14 @@ public abstract class Component
public final CharSequence urlFor(final RequestListenerInterface
listener)
{
Page page = getPage();
+ PageAndComponentProvider provider = new
PageAndComponentProvider(page, this);
IRequestHandler handler;
if (page.isPageStateless())
{
- PageAndComponentProvider provider = new
PageAndComponentProvider(page.getPageId(),
- page.getPageClass(), page.getPageParameters(),
page.getRenderCount(),
- getPageRelativePath());
handler = new
BookmarkableListenerInterfaceRequestHandler(provider, listener);
}
else
{
- PageAndComponentProvider provider = new
PageAndComponentProvider(page, this);
handler = new ListenerInterfaceRequestHandler(provider,
listener);
}
return getRequestCycle().urlFor(handler);
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/mock/MockPageManager.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/mock/MockPageManager.java?rev=1162563&r1=1162562&r2=1162563&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/mock/MockPageManager.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/mock/MockPageManager.java
Sun Aug 28 17:27:43 2011
@@ -78,7 +78,7 @@ public class MockPageManager implements
public void touchPage(IManageablePage page)
{
- if (page.isPageStateless() == false)
+ if (true || page.isPageStateless() == false)
{
pages.put(page.getPageId(), page);
}
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java?rev=1162563&r1=1162562&r2=1162563&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/cycle/RequestCycle.java
Sun Aug 28 17:27:43 2011
@@ -556,6 +556,10 @@ public class RequestCycle implements IRe
*/
public void setResponsePage(IRequestablePage page)
{
+ if (page instanceof Page)
+ {
+ ((Page)page).setStatelessHint(false);
+ }
scheduleRequestHandlerAfterCurrent(new
RenderPageRequestHandler(new PageProvider(page),
RenderPageRequestHandler.RedirectPolicy.AUTO_REDIRECT));
}
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/ListenerInterfaceRequestHandler.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/ListenerInterfaceRequestHandler.java?rev=1162563&r1=1162562&r2=1162563&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/ListenerInterfaceRequestHandler.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/ListenerInterfaceRequestHandler.java
Sun Aug 28 17:27:43 2011
@@ -153,22 +153,11 @@ public class ListenerInterfaceRequestHan
if (isAjax == false &&
listenerInterface.isRenderPageAfterInvocation())
{
// schedule page render after current request
handler is done. this can be
- // overridden
- // during invocation of listener
+ // overridden during invocation of listener
// method (i.e. by calling
RequestCycle#setResponsePage)
- final IPageProvider pageProvider;
- final RedirectPolicy policy;
- if (page.isPageStateless())
- {
- policy = RedirectPolicy.NEVER_REDIRECT;
- pageProvider = new
PageProvider(page.getPageId(), page.getClass(),
- page.getPageParameters(),
page.getRenderCount());
- }
- else
- {
- policy = RedirectPolicy.AUTO_REDIRECT;
- pageProvider = new PageProvider(page);
- }
+ final IPageProvider pageProvider = new
PageProvider(page);
+ final RedirectPolicy policy =
page.isPageStateless()
+ ? RedirectPolicy.NEVER_REDIRECT :
RedirectPolicy.AUTO_REDIRECT;
requestCycle.scheduleRequestHandlerAfterCurrent(new RenderPageRequestHandler(
pageProvider, policy));
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java?rev=1162563&r1=1162562&r2=1162563&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
Sun Aug 28 17:27:43 2011
@@ -17,7 +17,6 @@
package org.apache.wicket.request.handler;
import org.apache.wicket.Application;
-import org.apache.wicket.Page;
import org.apache.wicket.Session;
import org.apache.wicket.page.IPageManager;
import org.apache.wicket.protocol.http.PageExpiredException;
@@ -151,10 +150,6 @@ public class PageProvider implements IPa
pageInstance = page;
pageId = page.getPageId();
renderCount = page.getRenderCount();
- if (pageInstance instanceof Page)
- {
- ((Page)pageInstance).setStatelessHint(false);
- }
}
/**
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_10-2.html
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_10-2.html?rev=1162563&r1=1162562&r2=1162563&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_10-2.html
(original)
+++
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_10-2.html
Sun Aug 28 17:27:43 2011
@@ -1,5 +1,8 @@
<html xmlns:wicket>
<body>
-
+ <wicket:enclosure child="input">
+ <input wicket:id="input" type="checkbox" name="input"/>
+ <span wicket:id="label"></span>
+ </wicket:enclosure>
</body>
</html>
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_10-3.html
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_10-3.html?rev=1162563&r1=1162562&r2=1162563&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_10-3.html
(original)
+++
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_10-3.html
Sun Aug 28 17:27:43 2011
@@ -2,7 +2,7 @@
<body>
<wicket:enclosure child="input">
<input wicket:id="input" type="checkbox" name="input"/>
-
+ <span wicket:id="label"></span>
</wicket:enclosure>
</body>
</html>