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