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 <[email protected]>
Authored: Sat Jun 27 09:00:38 2015 +0200
Committer: Sven Meier <[email protected]>
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

Reply via email to