You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2011/04/13 16:19:13 UTC
svn commit: r1091795 - in
/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render:
PageRenderer.java WebPageRenderer.java
Author: mgrigorov
Date: Wed Apr 13 14:19:13 2011
New Revision: 1091795
URL: http://svn.apache.org/viewvc?rev=1091795&view=rev
Log:
WICKET-3347 Simplify somehow the code in org.apache.wicket.request.handler.render.WebPageRenderer.respond(RequestCycle)
- move non-web specific methods from WebPageRenderer to PageRenderer
- make the methods protected so that it is easier to modify them in user's code
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/PageRenderer.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/PageRenderer.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/PageRenderer.java?rev=1091795&r1=1091794&r2=1091795&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/PageRenderer.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/PageRenderer.java Wed Apr 13 14:19:13 2011
@@ -16,10 +16,14 @@
*/
package org.apache.wicket.request.handler.render;
+import org.apache.wicket.Application;
+import org.apache.wicket.Session;
+import org.apache.wicket.request.component.IRequestablePage;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.handler.IPageProvider;
import org.apache.wicket.request.handler.RenderPageRequestHandler;
import org.apache.wicket.request.handler.RenderPageRequestHandler.RedirectPolicy;
+import org.apache.wicket.settings.IRequestCycleSettings.RenderStrategy;
/**
* Delegate responsible for rendering the page. Depending on the implementation (web, test, portlet,
@@ -45,7 +49,7 @@ public abstract class PageRenderer
/**
* @return page provider
*/
- public IPageProvider getPageProvider()
+ protected IPageProvider getPageProvider()
{
return renderPageRequestHandler.getPageProvider();
}
@@ -53,7 +57,7 @@ public abstract class PageRenderer
/**
* @return redirect policy
*/
- public RedirectPolicy getRedirectPolicy()
+ protected RedirectPolicy getRedirectPolicy()
{
return renderPageRequestHandler.getRedirectPolicy();
}
@@ -61,12 +65,49 @@ public abstract class PageRenderer
/**
* @return the request handler
*/
- public RenderPageRequestHandler getRenderPageRequestHandler()
+ protected RenderPageRequestHandler getRenderPageRequestHandler()
{
return renderPageRequestHandler;
}
/**
+ * @return page instance
+ */
+ protected IRequestablePage getPage()
+ {
+ return getPageProvider().getPageInstance();
+ }
+
+ protected boolean isOnePassRender()
+ {
+ return Application.get().getRequestCycleSettings().getRenderStrategy() == RenderStrategy.ONE_PASS_RENDER;
+ }
+
+ protected boolean isRedirectToRender()
+ {
+ return Application.get().getRequestCycleSettings().getRenderStrategy() == RenderStrategy.REDIRECT_TO_RENDER;
+ }
+
+ protected boolean isRedirectToBuffer()
+ {
+ return Application.get().getRequestCycleSettings().getRenderStrategy() == RenderStrategy.REDIRECT_TO_BUFFER;
+ }
+
+ /**
+ * @return the current session id for stateful pages and <code>null</code> for stateless pages
+ */
+ protected String getSessionId()
+ {
+ return Session.get().getId();
+ }
+
+ protected boolean isSessionTemporary()
+ {
+ return Session.get().isTemporary();
+ }
+
+
+ /**
* Render the response using give {@link RequestCycle}.
*
* @param requestCycle
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java?rev=1091795&r1=1091794&r2=1091795&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java Wed Apr 13 14:19:13 2011
@@ -16,21 +16,17 @@
*/
package org.apache.wicket.request.handler.render;
-import org.apache.wicket.Application;
-import org.apache.wicket.Session;
import org.apache.wicket.protocol.http.BufferedWebResponse;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.IRequestHandler;
import org.apache.wicket.request.Request;
import org.apache.wicket.request.Response;
import org.apache.wicket.request.Url;
-import org.apache.wicket.request.component.IRequestablePage;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.handler.RenderPageRequestHandler;
import org.apache.wicket.request.handler.RenderPageRequestHandler.RedirectPolicy;
import org.apache.wicket.request.http.WebRequest;
import org.apache.wicket.request.http.WebResponse;
-import org.apache.wicket.settings.IRequestCycleSettings.RenderStrategy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -53,47 +49,6 @@ public class WebPageRenderer extends Pag
super(renderPageRequestHandler);
}
- /**
- * @return page instance
- */
- public IRequestablePage getPage()
- {
- return getPageProvider().getPageInstance();
- }
-
- private boolean isOnePassRender()
- {
- return Application.get().getRequestCycleSettings().getRenderStrategy() == RenderStrategy.ONE_PASS_RENDER;
- }
-
- private boolean isRedirectToRender()
- {
- return Application.get().getRequestCycleSettings().getRenderStrategy() == RenderStrategy.REDIRECT_TO_RENDER;
- }
-
- private boolean isRedirectToBuffer()
- {
- return Application.get().getRequestCycleSettings().getRenderStrategy() == RenderStrategy.REDIRECT_TO_BUFFER;
- }
-
- /**
- * @return the current session id for stateful pages and <code>null</code> for stateless pages
- */
- private String getSessionId()
- {
- return Session.get().getId();
- }
-
- private boolean isSessionTemporary()
- {
- return Session.get().isTemporary();
- }
-
- private BufferedWebResponse getAndRemoveBufferedResponse(Url url)
- {
- return WebApplication.get().getAndRemoveBufferedResponse(getSessionId(), url);
- }
-
private boolean isAjax(RequestCycle requestCycle)
{
boolean isAjax = false;
@@ -118,6 +73,11 @@ public class WebPageRenderer extends Pag
WebApplication.get().storeBufferedResponse(getSessionId(), url, response);
}
+ protected BufferedWebResponse getAndRemoveBufferedResponse(Url url)
+ {
+ return WebApplication.get().getAndRemoveBufferedResponse(getSessionId(), url);
+ }
+
/**
* Renders page to a {@link BufferedWebResponse}. All URLs in page will be rendered relative to
* <code>targetUrl</code>
@@ -169,11 +129,10 @@ public class WebPageRenderer extends Pag
* @param url
* @param requestCycle
*/
- private void redirectTo(Url url, RequestCycle requestCycle)
+ protected void redirectTo(Url url, RequestCycle requestCycle)
{
WebResponse response = (WebResponse)requestCycle.getResponse();
String relativeUrl = requestCycle.getUrlRenderer().renderUrl(url);
- // response.reset();
response.sendRedirect(relativeUrl);
}