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);
}
/**