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