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 2014/08/15 12:01:04 UTC

[09/23] git commit: WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

WICKET-5452 Make Wicket-Atmosphere testable - AtmosphereTester

Fix the callback url to the AtmosphereBehavior. It should be an Ajax one to prevent incrementing of the page id/renderCount


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

Branch: refs/heads/5674-jquery-atmo-webjar
Commit: 0b770b05e0f7b86cbe647a155dfe1a82f1bccc3a
Parents: e841383
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Aug 13 12:18:28 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Fri Aug 15 09:45:29 2014 +0200

----------------------------------------------------------------------
 .../wicket/atmosphere/AtmosphereBehavior.java   | 21 ++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/0b770b05/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java
index f41e91f..35c1ed8 100644
--- a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java
+++ b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java
@@ -24,13 +24,12 @@ import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.ajax.json.JSONException;
 import org.apache.wicket.ajax.json.JSONObject;
 import org.apache.wicket.behavior.AbstractAjaxBehavior;
-import org.apache.wicket.behavior.IBehaviorListener;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
 import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
 import org.apache.wicket.request.cycle.RequestCycle;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.request.http.WebRequest;
 import org.apache.wicket.resource.CoreLibrariesContributor;
 import org.atmosphere.cpr.AtmosphereRequest;
 import org.atmosphere.cpr.AtmosphereResource;
@@ -196,11 +195,9 @@ public class AtmosphereBehavior extends AbstractAjaxBehavior
 
 			response.render(JavaScriptHeaderItem.forReference(JQueryWicketAtmosphereResourceReference.get()));
 			JSONObject options = findEventBus().getParameters().toJSON();
-			options.put("url",
-				component.urlFor(this, IBehaviorListener.INTERFACE, new PageParameters())
-					.toString());
+			options.put("url", getCallbackUrl());
 			response.render(OnDomReadyHeaderItem.forScript("$('#" + component.getMarkupId() +
-				"').wicketAtmosphere(" + options.toString() + ")"));
+					"').wicketAtmosphere(" + options.toString() + ")"));
 		}
 		catch (JSONException e)
 		{
@@ -209,6 +206,18 @@ public class AtmosphereBehavior extends AbstractAjaxBehavior
 	}
 
 	/**
+	 * Make it look like a normal Ajax call so the page id/renderCount are not incremented when Atmosphere makes
+	 * the "upgrade" request
+	 *
+	 * @return the url to this behavior's listener interface
+	 */
+	@Override
+	public CharSequence getCallbackUrl()
+	{
+		return super.getCallbackUrl() + "&" + WebRequest.PARAM_AJAX + "=true&" + WebRequest.PARAM_AJAX_BASE_URL + "=.";
+	}
+
+	/**
 	 * Find the Atmosphere UUID for the suspended connection for the given page (if any).
 	 * 
 	 * @param page