]> source.dussan.org Git - vaadin-framework.git/commitdiff
Wrap the atmosphere request instead of reusing an old request which might no longer...
authorArtur Signell <artur@vaadin.com>
Thu, 4 Apr 2013 15:28:38 +0000 (18:28 +0300)
committerArtur Signell <artur@vaadin.com>
Thu, 4 Apr 2013 15:29:45 +0000 (18:29 +0300)
Change-Id: I0623b056a657c341ec367d0249e5f66840119f87

server/src/com/vaadin/server/communication/PushHandler.java
server/src/com/vaadin/server/communication/PushRequestHandler.java

index 39481db46aea270b178ac4ab19bdf3f1060eafcf..de4987a99a3c388fc0e1cb495fbc8c7cc78ba794 100644 (file)
@@ -30,8 +30,8 @@ import org.json.JSONException;
 import com.vaadin.server.LegacyCommunicationManager.InvalidUIDLSecurityKeyException;
 import com.vaadin.server.ServiceException;
 import com.vaadin.server.SessionExpiredException;
-import com.vaadin.server.VaadinRequest;
-import com.vaadin.server.VaadinService;
+import com.vaadin.server.VaadinServletRequest;
+import com.vaadin.server.VaadinServletService;
 import com.vaadin.server.VaadinSession;
 import com.vaadin.ui.UI;
 
@@ -43,9 +43,9 @@ import com.vaadin.ui.UI;
  */
 public class PushHandler implements AtmosphereHandler {
 
-    private VaadinService service;
+    private VaadinServletService service;
 
-    public PushHandler(VaadinService service) {
+    public PushHandler(VaadinServletService service) {
         this.service = service;
     }
 
@@ -53,7 +53,8 @@ public class PushHandler implements AtmosphereHandler {
     public void onRequest(AtmosphereResource resource) {
 
         AtmosphereRequest req = resource.getRequest();
-        VaadinRequest vaadinRequest = getVaadinRequest(req);
+        VaadinServletRequest vaadinRequest = new VaadinServletRequest(req,
+                service);
 
         VaadinSession session;
         try {
@@ -166,18 +167,6 @@ public class PushHandler implements AtmosphereHandler {
     public void destroy() {
     }
 
-    private VaadinRequest getVaadinRequest(AtmosphereRequest req) {
-        while (req.getRequest() instanceof AtmosphereRequest) {
-            req = (AtmosphereRequest) req.getRequest();
-        }
-        if (req.getRequest() instanceof VaadinRequest) {
-            return (VaadinRequest) req.getRequest();
-        } else {
-            throw new IllegalArgumentException(
-                    "Request does not wrap VaadinRequest");
-        }
-    }
-
     private static final Logger getLogger() {
         return Logger.getLogger(PushHandler.class.getName());
     }
index 10ef16e11cc9f52c30b9fcb497ab5cdd35c32ed2..4f56c0b6a37a6f8a955862f4e0ae92ea18ac1e2f 100644 (file)
@@ -29,9 +29,9 @@ import com.vaadin.server.RequestHandler;
 import com.vaadin.server.ServletPortletHelper;
 import com.vaadin.server.VaadinRequest;
 import com.vaadin.server.VaadinResponse;
-import com.vaadin.server.VaadinService;
 import com.vaadin.server.VaadinServletRequest;
 import com.vaadin.server.VaadinServletResponse;
+import com.vaadin.server.VaadinServletService;
 import com.vaadin.server.VaadinSession;
 
 /**
@@ -47,7 +47,7 @@ public class PushRequestHandler implements RequestHandler {
     private AtmosphereFramework atmosphere;
     private PushHandler pushHandler;
 
-    public PushRequestHandler(VaadinService service) {
+    public PushRequestHandler(VaadinServletService service) {
 
         atmosphere = new AtmosphereFramework();