You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pa...@apache.org on 2012/04/10 12:33:25 UTC

[2/7] git commit: support setResponsePage and other redirects

support setResponsePage and other redirects


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

Branch: refs/heads/sandbox/atmosphere
Commit: ce8f8f07e2191a6d0faeacabddfda168923804c8
Parents: 0c6ff12
Author: Emond Papegaaij <pa...@apache.org>
Authored: Tue Apr 10 07:44:08 2012 +0200
Committer: Emond Papegaaij <pa...@apache.org>
Committed: Tue Apr 10 07:44:08 2012 +0200

----------------------------------------------------------------------
 .../atmosphere/AtmosphereRequestHandler.java       |    2 +-
 .../wicket/atmosphere/AtmosphereWebResponse.java   |    8 ++++++--
 2 files changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ce8f8f07/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestHandler.java
----------------------------------------------------------------------
diff --git a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestHandler.java b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestHandler.java
index c36f0b7..45a3d50 100644
--- a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestHandler.java
+++ b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestHandler.java
@@ -34,8 +34,8 @@ public class AtmosphereRequestHandler implements IRequestHandler
 	{
 		Page page = (Page)Application.get().getMapperContext().getPageInstance(pageKey.getPageId());
 		AjaxRequestTarget target = WebApplication.get().newAjaxRequestTarget(page);
-		executeHandlers(target, page);
 		requestCycle.scheduleRequestHandlerAfterCurrent(target);
+		executeHandlers(target, page);
 	}
 
 	private void executeHandlers(AjaxRequestTarget target, Page page)

http://git-wip-us.apache.org/repos/asf/wicket/blob/ce8f8f07/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebResponse.java
----------------------------------------------------------------------
diff --git a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebResponse.java b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebResponse.java
index 34dc127..19e9b3e 100644
--- a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebResponse.java
+++ b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebResponse.java
@@ -11,6 +11,7 @@ public class AtmosphereWebResponse extends WebResponse
 {
 	private AtmosphereResponse response;
 	private final AppendingStringBuffer out;
+	private boolean redirect;
 
 	public AtmosphereWebResponse(AtmosphereResponse response)
 	{
@@ -81,7 +82,9 @@ public class AtmosphereWebResponse extends WebResponse
 	@Override
 	public void sendRedirect(String url)
 	{
-		throw new UnsupportedOperationException();
+		out.clear();
+		out.append("<ajax-response><redirect><![CDATA[" + url + "]]></redirect></ajax-response>");
+		redirect = true;
 	}
 
 	@Override
@@ -128,7 +131,8 @@ public class AtmosphereWebResponse extends WebResponse
 	@Override
 	public void write(CharSequence sequence)
 	{
-		out.append(sequence);
+		if (!redirect)
+			out.append(sequence);
 	}
 
 	/**