]> source.dussan.org Git - vaadin-framework.git/commitdiff
Remove 'Application' from RequestHandler API (#9402)
authorLeif Åstrand <leif@vaadin.com>
Thu, 6 Sep 2012 10:34:36 +0000 (13:34 +0300)
committerLeif Åstrand <leif@vaadin.com>
Thu, 6 Sep 2012 14:07:47 +0000 (17:07 +0300)
14 files changed:
server/src/com/vaadin/server/AbstractCommunicationManager.java
server/src/com/vaadin/server/BootstrapHandler.java
server/src/com/vaadin/server/ConnectorResourceHandler.java
server/src/com/vaadin/server/GlobalResourceHandler.java
server/src/com/vaadin/server/PortletCommunicationManager.java
server/src/com/vaadin/server/RequestHandler.java
server/src/com/vaadin/server/UnsupportedBrowserHandler.java
server/src/com/vaadin/server/VaadinSession.java
server/src/com/vaadin/ui/LoginForm.java
uitest/src/com/vaadin/tests/Parameters.java
uitest/src/com/vaadin/tests/minitutorials/v7a1/DynamicImageUI.java
uitest/src/com/vaadin/tests/tickets/Ticket1589.java
uitest/src/com/vaadin/tests/tickets/Ticket1921.java
uitest/src/com/vaadin/tests/tickets/Ticket2292.java

index 008b3e74ab28939e7768cdac16fb4e7ef6321c90..5b4a334660fd3a856b7b9b12ecd240a0a992f8e0 100644 (file)
@@ -2386,9 +2386,45 @@ public abstract class AbstractCommunicationManager implements Serializable {
 
     protected abstract BootstrapHandler createBootstrapHandler();
 
+    /**
+     * Handles a request by passing it to each registered {@link RequestHandler}
+     * in turn until one produces a response. This method is used for requests
+     * that have not been handled by any specific functionality in the terminal
+     * implementation (e.g. {@link VaadinServlet}).
+     * <p>
+     * The request handlers are invoked in the revere order in which they were
+     * added to the session until a response has been produced. This means that
+     * the most recently added handler is used first and the first request
+     * handler that was added to the application is invoked towards the end
+     * unless any previous handler has already produced a response.
+     * </p>
+     * 
+     * @param request
+     *            the wrapped request to get information from
+     * @param response
+     *            the response to which data can be written
+     * @return returns <code>true</code> if a {@link RequestHandler} has
+     *         produced a response and <code>false</code> if no response has
+     *         been written.
+     * @throws IOException
+     *             if a handler throws an exception
+     * 
+     * @see VaadinSession#addRequestHandler(RequestHandler)
+     * @see RequestHandler
+     * 
+     * @since 7.0
+     */
     protected boolean handleApplicationRequest(WrappedRequest request,
             WrappedResponse response) throws IOException {
-        return application.handleRequest(request, response);
+        // Use a copy to avoid ConcurrentModificationException
+        for (RequestHandler handler : new ArrayList<RequestHandler>(
+                application.getRequestHandlers())) {
+            if (handler.handleRequest(application, request, response)) {
+                return true;
+            }
+        }
+        // If not handled
+        return false;
     }
 
     public void handleBrowserDetailsRequest(WrappedRequest request,
index 29792d710a60c9e08ce9b54e836b7b6c4b84bf9a..491830fb8192531bfa5df5ec2e3601f3ab1394a4 100644 (file)
@@ -103,20 +103,20 @@ public abstract class BootstrapHandler implements RequestHandler {
     }
 
     @Override
-    public boolean handleRequest(VaadinSession application,
+    public boolean handleRequest(VaadinSession session,
             WrappedRequest request, WrappedResponse response)
             throws IOException {
 
         try {
-            Class<? extends UI> uiClass = application.getUIClass(request);
+            Class<? extends UI> uiClass = session.getUIClass(request);
 
             BootstrapContext context = createContext(request, response,
-                    application, uiClass);
+                    session, uiClass);
             setupMainDiv(context);
 
             BootstrapFragmentResponse fragmentResponse = context
                     .getBootstrapResponse();
-            application.modifyBootstrapResponse(fragmentResponse);
+            session.modifyBootstrapResponse(fragmentResponse);
 
             String html = getBootstrapHtml(context);
 
index 6702fb140f14c0934aa94eef2344f51f7316c580..50e5377e8dd43d0304eb59f6947bb43568f02907 100644 (file)
@@ -24,7 +24,7 @@ public class ConnectorResourceHandler implements RequestHandler {
     }
 
     @Override
-    public boolean handleRequest(VaadinSession application,
+    public boolean handleRequest(VaadinSession session,
             WrappedRequest request, WrappedResponse response)
             throws IOException {
         String requestPath = request.getRequestPathInfo();
@@ -36,7 +36,7 @@ public class ConnectorResourceHandler implements RequestHandler {
             String uiId = matcher.group(1);
             String cid = matcher.group(2);
             String key = matcher.group(3);
-            UI ui = application.getUIById(Integer.parseInt(uiId));
+            UI ui = session.getUIById(Integer.parseInt(uiId));
             if (ui == null) {
                 return error(request, response,
                         "Ignoring connector request for no-existent root "
index 03dab9817d302e4df427454045a9a9d34c5adc16..33a965369d21681114041a0e97f412c89c16ec63 100644 (file)
@@ -65,7 +65,7 @@ public class GlobalResourceHandler implements RequestHandler {
             "");
 
     @Override
-    public boolean handleRequest(VaadinSession application,
+    public boolean handleRequest(VaadinSession session,
             WrappedRequest request, WrappedResponse response)
             throws IOException {
         String pathInfo = request.getRequestPathInfo();
@@ -90,7 +90,7 @@ public class GlobalResourceHandler implements RequestHandler {
                     + " is not a valid global resource path");
         }
 
-        UI ui = application.getUIById(Integer.parseInt(uiid));
+        UI ui = session.getUIById(Integer.parseInt(uiid));
         if (ui == null) {
             return error(request, response, "No UI found for id  " + uiid);
         }
index f238fa4925eab564d6200511f2d08ef2a04852d4..e8904c71bd3960a4e4ef7cdc30695433604151d1 100644 (file)
@@ -48,13 +48,13 @@ public class PortletCommunicationManager extends AbstractCommunicationManager {
     protected BootstrapHandler createBootstrapHandler() {
         return new BootstrapHandler() {
             @Override
-            public boolean handleRequest(VaadinSession application,
+            public boolean handleRequest(VaadinSession session,
                     WrappedRequest request, WrappedResponse response)
                     throws IOException {
                 PortletRequest portletRequest = WrappedPortletRequest.cast(
                         request).getPortletRequest();
                 if (portletRequest instanceof RenderRequest) {
-                    return super.handleRequest(application, request, response);
+                    return super.handleRequest(session, request, response);
                 } else {
                     return false;
                 }
index 66e20dafbea31aff4fe6e07354a2d51f76ecfb60..c2409af2d789b9bb28f168a8048633ba6b93ff63 100644 (file)
@@ -21,7 +21,8 @@ import java.io.Serializable;
 
 /**
  * Handler for producing a response to non-UIDL requests. Handlers can be added
- * to applications using {@link VaadinSession#addRequestHandler(RequestHandler)}
+ * to vaadin sessions using
+ * {@link VaadinSession#addRequestHandler(RequestHandler)}
  */
 public interface RequestHandler extends Serializable {
 
@@ -30,8 +31,8 @@ public interface RequestHandler extends Serializable {
      * return <code>false</code> to indicate that no more request handlers
      * should be invoked for the request.
      * 
-     * @param application
-     *            The application to which the request belongs
+     * @param session
+     *            The session for the request
      * @param request
      *            The request to handle
      * @param response
@@ -40,7 +41,7 @@ public interface RequestHandler extends Serializable {
      *         handlers should be called, otherwise false
      * @throws IOException
      */
-    boolean handleRequest(VaadinSession application, WrappedRequest request,
+    boolean handleRequest(VaadinSession session, WrappedRequest request,
             WrappedResponse response) throws IOException;
 
 }
index f84c2ec5dc6e333ae2240f4a76715b1de4931708..38ac14b2d2ab051cdc52c0636eae481f3cb82db8 100644 (file)
@@ -34,7 +34,7 @@ public class UnsupportedBrowserHandler implements RequestHandler {
     public static final String FORCE_LOAD_COOKIE = "vaadinforceload=1";
 
     @Override
-    public boolean handleRequest(VaadinSession application,
+    public boolean handleRequest(VaadinSession session,
             WrappedRequest request, WrappedResponse response)
             throws IOException {
 
index 05b6aed96a0d4a88b547ac4f3b352dd7fcc3c044..094f3501d749e0c39836ba5058ca871688c8afc0 100644 (file)
 
 package com.vaadin.server;
 
-import java.io.IOException;
 import java.io.Serializable;
 import java.lang.reflect.Method;
 import java.net.URL;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.EventObject;
@@ -754,47 +752,6 @@ public class VaadinSession implements HttpSessionBindingListener, Serializable {
         throw new RuntimeException("No UI provider found for request");
     }
 
-    /**
-     * Handles a request by passing it to each registered {@link RequestHandler}
-     * in turn until one produces a response. This method is used for requests
-     * that have not been handled by any specific functionality in the terminal
-     * implementation (e.g. {@link VaadinServlet}).
-     * <p>
-     * The request handlers are invoked in the revere order in which they were
-     * added to the application until a response has been produced. This means
-     * that the most recently added handler is used first and the first request
-     * handler that was added to the application is invoked towards the end
-     * unless any previous handler has already produced a response.
-     * </p>
-     * 
-     * @param request
-     *            the wrapped request to get information from
-     * @param response
-     *            the response to which data can be written
-     * @return returns <code>true</code> if a {@link RequestHandler} has
-     *         produced a response and <code>false</code> if no response has
-     *         been written.
-     * @throws IOException
-     * 
-     * @see #addRequestHandler(RequestHandler)
-     * @see RequestHandler
-     * 
-     * @since 7.0
-     */
-    @Deprecated
-    public boolean handleRequest(WrappedRequest request,
-            WrappedResponse response) throws IOException {
-        // Use a copy to avoid ConcurrentModificationException
-        for (RequestHandler handler : new ArrayList<RequestHandler>(
-                requestHandlers)) {
-            if (handler.handleRequest(this, request, response)) {
-                return true;
-            }
-        }
-        // If not handled
-        return false;
-    }
-
     /**
      * Adds a request handler to this session. Request handlers can be added to
      * provide responses to requests that are not handled by the default
@@ -807,7 +764,6 @@ public class VaadinSession implements HttpSessionBindingListener, Serializable {
      * @param handler
      *            the request handler to add
      * 
-     * @see #handleRequest(WrappedRequest, WrappedResponse)
      * @see #removeRequestHandler(RequestHandler)
      * 
      * @since 7.0
@@ -836,7 +792,6 @@ public class VaadinSession implements HttpSessionBindingListener, Serializable {
      * @return a collection of request handlers, with the iteration order
      *         according to the order they would be invoked
      * 
-     * @see #handleRequest(WrappedRequest, WrappedResponse)
      * @see #addRequestHandler(RequestHandler)
      * @see #removeRequestHandler(RequestHandler)
      * 
index f597908b8c7754e0230a208e3a262930d5f2a4d0..2e372e851244e2646642e080e99f7a8d7b1c9fc2 100644 (file)
@@ -83,7 +83,7 @@ public class LoginForm extends CustomComponent {
 
     private final RequestHandler requestHandler = new RequestHandler() {
         @Override
-        public boolean handleRequest(VaadinSession application,
+        public boolean handleRequest(VaadinSession session,
                 WrappedRequest request, WrappedResponse response)
                 throws IOException {
             String requestPathInfo = request.getRequestPathInfo();
index f57c0aece68cd0fc121ff4025ccef3e5ab2dcf40..056427d685cec18c20988966f289b7733bd87b34 100644 (file)
@@ -106,7 +106,7 @@ public class Parameters extends com.vaadin.Application implements
     }
 
     @Override
-    public boolean handleRequest(VaadinSession application,
+    public boolean handleRequest(VaadinSession session,
             WrappedRequest request, WrappedResponse response)
             throws IOException {
         context.setValue("Context not available");
index 632eda24911b954b81f7baf319fefee7774cd22a..e17d7c2a34853e39ef2fea6a53aecbf792f884c9 100644 (file)
@@ -56,7 +56,7 @@ class DynamicImageRequestHandler implements RequestHandler {
     public static final String IMAGE_URL = "myimage.png";
 
     @Override
-    public boolean handleRequest(VaadinSession application,
+    public boolean handleRequest(VaadinSession session,
             WrappedRequest request, WrappedResponse response)
             throws IOException {
         String pathInfo = request.getRequestPathInfo();
index 82cfa2b3ec255eba1997721103bb0b0c22517d0b..327b5b57d0b72b27b3245251491501c774656ef6 100644 (file)
@@ -52,7 +52,7 @@ class MyDynamicResource implements RequestHandler {
      * stream that contains the response from the server.
      */
     @Override
-    public boolean handleRequest(VaadinSession application,
+    public boolean handleRequest(VaadinSession session,
             WrappedRequest request, WrappedResponse response)
             throws IOException {
         String relativeUri = request.getRequestPathInfo();
index 3f2529db5fa87af71f167f2dc956d2e9691c6689..b33484da236b5f4c1aaa828c47f2360877ed7d18 100644 (file)
@@ -94,7 +94,7 @@ public class Ticket1921 extends Application implements RequestHandler {
     }
 
     @Override
-    public boolean handleRequest(VaadinSession application,
+    public boolean handleRequest(VaadinSession session,
             WrappedRequest request, WrappedResponse response)
             throws IOException {
         Map<String, String[]> parameters = request.getParameterMap();
index 839c175866749d8d4117235933486985788a354a..6a831d1cfd1cb7494e75fc93a8c4d12f1ce217b1 100644 (file)
@@ -48,7 +48,7 @@ public class Ticket2292 extends com.vaadin.Application implements
     }
 
     @Override
-    public boolean handleRequest(VaadinSession application,
+    public boolean handleRequest(VaadinSession session,
             WrappedRequest request, WrappedResponse response)
             throws IOException {
         String relativeUri = request.getRequestPathInfo();