WICKET-5509 Wicket examples' MailTemplate from Page is broken

Render the page directly without using PageRenderer.

(cherry picked from commit 1772dd88bdbadc848ee74b5dc665b0e419836ff2)


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/af7d79ba
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/af7d79ba
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/af7d79ba

Branch: refs/heads/sandbox/component-queueing-2
Commit: af7d79ba88d623e9d91e47ae383149a01f49d2f1
Parents: efb0d45
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Mon Feb 17 12:32:07 2014 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Mon Feb 17 12:33:27 2014 +0200

----------------------------------------------------------------------
 .../wicket/core/util/string/ComponentRenderer.java   | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/af7d79ba/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java
 
b/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java
index a5582d2..c5e35eb 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/core/util/string/ComponentRenderer.java
@@ -19,8 +19,8 @@ package org.apache.wicket.core.util.string;
 import org.apache.wicket.Application;
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.ThreadContext;
 import org.apache.wicket.core.request.handler.PageProvider;
-import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
 import org.apache.wicket.markup.IMarkupCacheKeyProvider;
 import org.apache.wicket.markup.IMarkupResourceStreamProvider;
 import org.apache.wicket.markup.MarkupNotFoundException;
@@ -29,7 +29,6 @@ import org.apache.wicket.protocol.http.BufferedWebResponse;
 import org.apache.wicket.request.Response;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.cycle.RequestCycleContext;
-import org.apache.wicket.request.handler.render.PageRenderer;
 import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.resource.StringResourceStream;
 
@@ -48,11 +47,7 @@ public class ComponentRenderer
         */
        public static CharSequence renderPage(final PageProvider pageProvider)
        {
-               final RenderPageRequestHandler handler = new 
RenderPageRequestHandler(pageProvider,
-                               
RenderPageRequestHandler.RedirectPolicy.NEVER_REDIRECT);
-
                Application application = Application.get();
-               final PageRenderer pageRenderer = 
application.getPageRendererProvider().get(handler);
 
                RequestCycle originalRequestCycle = RequestCycle.get();
 
@@ -62,16 +57,14 @@ public class ComponentRenderer
                                tempResponse, 
application.getRootRequestMapper(), 
application.getExceptionMapperProvider().get());
                RequestCycle tempRequestCycle = new 
RequestCycle(requestCycleContext);
 
-               final Response oldResponse = originalRequestCycle.getResponse();
-
                try
                {
-                       originalRequestCycle.setResponse(tempResponse);
-                       pageRenderer.respond(tempRequestCycle);
+                       ThreadContext.setRequestCycle(tempRequestCycle);
+                       pageProvider.getPageInstance().renderPage();
                }
                finally
                {
-                       originalRequestCycle.setResponse(oldResponse);
+                       ThreadContext.setRequestCycle(originalRequestCycle);
                }
 
                return tempResponse.getText();

Reply via email to