You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2015/06/27 09:11:31 UTC

[2/2] wicket git commit: WICKET-5929 remove ajax from page update

WICKET-5929 remove ajax from page update


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

Branch: refs/heads/master
Commit: 470f2a286a51e05f78251f6d8f9a6837d42b2125
Parents: 7c40e4d
Author: Sven Meier <sv...@apache.org>
Authored: Sat Jun 27 09:00:38 2015 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Sat Jun 27 09:03:49 2015 +0200

----------------------------------------------------------------------
 .../apache/wicket/ajax/AjaxRequestHandler.java  | 75 ++++++++++----------
 .../apache/wicket/ajax/PartialPageUpdate.java   | 11 +--
 .../wicket/ajax/XmlPartialPageUpdate.java       |  2 +-
 .../ws/api/WebSocketRequestHandler.java         | 14 +---
 4 files changed, 44 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/470f2a28/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java
index 439319d..f7ab416 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java
@@ -81,10 +81,9 @@ public class AjaxRequestHandler implements AjaxRequestTarget
 {
 
 	/**
-	 * A POJO-like that collects the data for the Ajax response written to the client and serializes
-	 * it to specific String-based format (XML, JSON, ...).
+	 * Collector of page updates.
 	 */
-	private final PartialPageUpdate responseObject;
+	private final PartialPageUpdate update;
 
 	/** a list of listeners */
 	private List<AjaxRequestTarget.IListener> listeners = null;
@@ -111,8 +110,28 @@ public class AjaxRequestHandler implements AjaxRequestTarget
 	{
 		this.page = Args.notNull(page, "page");
 
-		responseObject = new XmlPartialPageUpdate(page)
+		update = new XmlPartialPageUpdate(page)
 		{
+			/**
+			 * Freezes the {@link AjaxRequestHandler#listeners} before firing the event and
+			 * un-freezes them afterwards to allow components to add more
+			 * {@link AjaxRequestTarget.IListener}s for the second event.
+			 */
+			@Override
+			protected void onBeforeRespond(final Response response)
+			{
+				listenersFrozen = true;
+
+				if (listeners != null)
+				{
+					for (AjaxRequestTarget.IListener listener : listeners)
+					{
+						listener.onBeforeRespond(markupIdToComponent, AjaxRequestHandler.this);
+					}
+				}
+
+				listenersFrozen = false;
+			}
 
 			/**
 			 * Freezes the {@link AjaxRequestHandler#listeners}, and does not un-freeze them as the
@@ -122,7 +141,7 @@ public class AjaxRequestHandler implements AjaxRequestTarget
 			 *      the response to write to
 			 */
 			@Override
-			protected void fireOnAfterRespondListeners(final Response response)
+			protected void onAfterRespond(final Response response)
 			{
 				listenersFrozen = true;
 
@@ -148,28 +167,6 @@ public class AjaxRequestHandler implements AjaxRequestTarget
 					}
 				}
 			}
-
-			/**
-			 * Freezes the {@link AjaxRequestHandler#listeners} before firing the event and
-			 * un-freezes them afterwards to allow components to add more
-			 * {@link AjaxRequestTarget.IListener}s for the second event.
-			 */
-			@Override
-			protected void fireOnBeforeRespondListeners()
-			{
-				listenersFrozen = true;
-
-				if (listeners != null)
-				{
-					for (AjaxRequestTarget.IListener listener : listeners)
-					{
-						listener.onBeforeRespond(markupIdToComponent, AjaxRequestHandler.this);
-					}
-				}
-
-				listenersFrozen = false;
-			}
-
 		};
 	}
 
@@ -236,13 +233,13 @@ public class AjaxRequestHandler implements AjaxRequestTarget
 	@Override
 	public void add(Component component, String markupId)
 	{
-		responseObject.add(component, markupId);
+		update.add(component, markupId);
 	}
 
 	@Override
 	public final Collection<? extends Component> getComponents()
 	{
-		return responseObject.getComponents();
+		return update.getComponents();
 	}
 
 	@Override
@@ -261,7 +258,7 @@ public class AjaxRequestHandler implements AjaxRequestTarget
 	@Override
 	public final void appendJavaScript(CharSequence javascript)
 	{
-		responseObject.appendJavaScript(javascript);
+		update.appendJavaScript(javascript);
 	}
 
 	/**
@@ -275,7 +272,7 @@ public class AjaxRequestHandler implements AjaxRequestTarget
 			logData = new PageLogData(page);
 		}
 
-		responseObject.detach(requestCycle);
+		update.detach(requestCycle);
 	}
 
 	/**
@@ -287,7 +284,7 @@ public class AjaxRequestHandler implements AjaxRequestTarget
 		if (obj instanceof AjaxRequestHandler)
 		{
 			AjaxRequestHandler that = (AjaxRequestHandler)obj;
-			return responseObject.equals(that.responseObject);
+			return update.equals(that.update);
 		}
 		return false;
 	}
@@ -299,14 +296,14 @@ public class AjaxRequestHandler implements AjaxRequestTarget
 	public int hashCode()
 	{
 		int result = "AjaxRequestHandler".hashCode();
-		result += responseObject.hashCode() * 17;
+		result += update.hashCode() * 17;
 		return result;
 	}
 
 	@Override
 	public final void prependJavaScript(CharSequence javascript)
 	{
-		responseObject.prependJavaScript(javascript);
+		update.prependJavaScript(javascript);
 	}
 
 	@Override
@@ -350,20 +347,20 @@ public class AjaxRequestHandler implements AjaxRequestTarget
 		final String encoding = app.getRequestCycleSettings().getResponseRequestEncoding();
 
 		// Set content type based on markup type for page
-		responseObject.setContentType(response, encoding);
+		update.setContentType(response, encoding);
 
 		// Make sure it is not cached by a client
 		response.disableCaching();
 
 		final StringResponse bodyResponse = new StringResponse();
-		responseObject.writeTo(bodyResponse, encoding);
+		update.writeTo(bodyResponse, encoding);
 		CharSequence filteredResponse = invokeResponseFilters(bodyResponse);
 		response.write(filteredResponse);
 	}
 
 	private boolean shouldRedirectToPage(IRequestCycle requestCycle)
 	{
-		if (responseObject.containsPage())
+		if (update.containsPage())
 		{
 			return true;
 		}
@@ -411,13 +408,13 @@ public class AjaxRequestHandler implements AjaxRequestTarget
 	@Override
 	public String toString()
 	{
-		return "[AjaxRequestHandler@" + hashCode() + " responseObject [" + responseObject + "]";
+		return "[AjaxRequestHandler@" + hashCode() + " responseObject [" + update + "]";
 	}
 
 	@Override
 	public IHeaderResponse getHeaderResponse()
 	{
-		return responseObject.getHeaderResponse();
+		return update.getHeaderResponse();
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/470f2a28/wicket-core/src/main/java/org/apache/wicket/ajax/PartialPageUpdate.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/PartialPageUpdate.java b/wicket-core/src/main/java/org/apache/wicket/ajax/PartialPageUpdate.java
index 5970f38..35ea016 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/PartialPageUpdate.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/PartialPageUpdate.java
@@ -153,13 +153,12 @@ public abstract class PartialPageUpdate
 	{
 		writeHeader(response, encoding);
 
-		// invoke onbeforerespond event on listeners
-		fireOnBeforeRespondListeners();
+		onBeforeRespond(response);
 
 		// process added components
 		writeComponents(response, encoding);
 
-		fireOnAfterRespondListeners(response);
+		onAfterRespond(response);
 
 		// queue up prepend javascripts. unlike other steps these are executed out of order so that
 		// components can contribute them from inside their onbeforerender methods.
@@ -175,9 +174,11 @@ public abstract class PartialPageUpdate
 		writeFooter(response, encoding);
 	}
 
-	protected abstract void fireOnAfterRespondListeners(Response response);
+	protected void onBeforeRespond(Response response) {
+	}
 
-	protected abstract void fireOnBeforeRespondListeners();
+	protected void onAfterRespond(Response response) {
+	}
 
 	/**
 	 * @param response

http://git-wip-us.apache.org/repos/asf/wicket/blob/470f2a28/wicket-core/src/main/java/org/apache/wicket/ajax/XmlPartialPageUpdate.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/XmlPartialPageUpdate.java b/wicket-core/src/main/java/org/apache/wicket/ajax/XmlPartialPageUpdate.java
index d3f6d73..fb157c5 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/XmlPartialPageUpdate.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/XmlPartialPageUpdate.java
@@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory;
 /**
  * A {@link PartialPageUpdate} that serializes itself to XML.
  */
-public abstract class XmlPartialPageUpdate extends PartialPageUpdate
+public class XmlPartialPageUpdate extends PartialPageUpdate
 {
 	private static final Logger LOG = LoggerFactory.getLogger(XmlPartialPageUpdate.class);
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/470f2a28/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketRequestHandler.java
----------------------------------------------------------------------
diff --git a/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketRequestHandler.java b/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketRequestHandler.java
index 6cbda67..5528f76 100644
--- a/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketRequestHandler.java
+++ b/wicket-native-websocket/wicket-native-websocket-core/src/main/java/org/apache/wicket/protocol/ws/api/WebSocketRequestHandler.java
@@ -29,7 +29,6 @@ import org.apache.wicket.core.request.handler.logger.PageLogData;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.request.ILogData;
 import org.apache.wicket.request.IRequestCycle;
-import org.apache.wicket.request.Response;
 import org.apache.wicket.request.component.IRequestablePage;
 import org.apache.wicket.request.http.WebRequest;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
@@ -67,18 +66,7 @@ public class WebSocketRequestHandler implements IWebSocketRequestHandler
 	{
 		this.page = Args.notNull(component, "component").getPage();
 		this.connection = Args.notNull(connection, "connection");
-		this.update = new XmlPartialPageUpdate(page)
-		{
-			@Override
-			protected void fireOnAfterRespondListeners(Response response)
-			{
-			}
-
-			@Override
-			protected void fireOnBeforeRespondListeners()
-			{
-			}
-		};
+		this.update = new XmlPartialPageUpdate(page);
 	}
 
 	@Override