]> source.dussan.org Git - vaadin-framework.git/commitdiff
work in progress
authorPetter Holmström <petter.holmstrom@itmill.com>
Mon, 9 Nov 2009 12:32:16 +0000 (12:32 +0000)
committerPetter Holmström <petter.holmstrom@itmill.com>
Mon, 9 Nov 2009 12:32:16 +0000 (12:32 +0000)
svn changeset:9687/svn branch:portlet_2.0

src/com/vaadin/Application.java
src/com/vaadin/service/ApplicationContext.java
src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java
src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
src/com/vaadin/terminal/gwt/server/PortletCommunicationManager.java
src/com/vaadin/terminal/gwt/server/SessionExpired.java [deleted file]
src/com/vaadin/terminal/gwt/server/SessionExpiredException.java [new file with mode: 0644]

index 20f0b1821a680a87cdaa78f321ecf4f19217955d..4dcab2f36d64eb469f79d15c168addc3f68b25ab 100644 (file)
@@ -197,6 +197,7 @@ public abstract class Application implements URIHandler,
     }
 
     // TODO Document me!
+    @Deprecated
     public static interface ResourceURLGenerator {
 
         public String generateResourceURL(ApplicationResource resource,
@@ -211,6 +212,7 @@ public abstract class Application implements URIHandler,
     /*
      * Default resource URL generator for servlets
      */
+    @Deprecated
     private static ResourceURLGenerator defaultResourceURLGenerator = new ResourceURLGenerator() {
         public String generateResourceURL(ApplicationResource resource,
                 String mapKey) {
@@ -252,12 +254,15 @@ public abstract class Application implements URIHandler,
 
     };
 
+    @Deprecated
     private ResourceURLGenerator resourceURLGenerator = defaultResourceURLGenerator;
 
+    @Deprecated
     public ResourceURLGenerator getResourceURLGenerator() {
         return resourceURLGenerator;
     }
 
+    @Deprecated
     public void setResourceURLGenerator(
             ResourceURLGenerator resourceURLGenerator) {
         if (resourceURLGenerator == null)
@@ -767,8 +772,11 @@ public abstract class Application implements URIHandler,
      * 
      * @see com.vaadin.terminal.URIHandler#handleURI(URL, String)
      */
+    @Deprecated
     public DownloadStream handleURI(URL context, String relativeUri) {
 
+        // FIXME Move to ApplicationContext
+        
         if (resourceURLGenerator.isResourceURL(context, relativeUri)) {
 
             // Handles the resource request
index c5bafa8a6d05fad259698ed792030fc1ace352e9..96a6f609063c269bd50b780aa0f691995c3e1ea4 100644 (file)
@@ -9,6 +9,7 @@ import java.io.Serializable;
 import java.util.Collection;
 
 import com.vaadin.Application;
+import com.vaadin.terminal.ApplicationResource;
 
 /**
  * <code>ApplicationContext</code> provides information about the running
@@ -43,8 +44,8 @@ public interface ApplicationContext extends Serializable {
      * 
      * @return Collection containing all applications in this context
      */
-    public Collection getApplications();
-
+    public Collection<Application> getApplications();
+    
     /**
      * Adds transaction listener to this context.
      * 
index 8c2d3eb40c17916473f60d0e9b392be052ff25c7..71d640d3cb0879495c8d066298138748d8d07230 100644 (file)
@@ -303,13 +303,13 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
 
     protected void handleRequest(PortletRequest request,
             PortletResponse response) throws PortletException, IOException {
-//        System.out.println("AbstractApplicationPortlet.handleRequest() "
-//                + System.currentTimeMillis());
+        System.out.println("AbstractApplicationPortlet.handleRequest() "
+                + System.currentTimeMillis());
 
         RequestType requestType = getRequestType(request);
 
-//        System.out.println("  RequestType: " + requestType);
-//        System.out.println("  WindowID: " + request.getWindowID());
+        System.out.println("  RequestType: " + requestType);
+        System.out.println("  WindowID: " + request.getWindowID());
 
         if (requestType == RequestType.UNKNOWN) {
             System.err.println("Unknown request type");
@@ -410,7 +410,7 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
                                 "handleRequest() without anything to do - should never happen!");
                     }
                 }
-            } catch (final SessionExpired e) {
+            } catch (final SessionExpiredException e) {
                 // TODO Figure out a better way to deal with SessionExpired
                 // -exceptions
                 System.err.println("Session has expired");
@@ -605,7 +605,7 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
     }
 
     private Application findApplicationInstance(PortletRequest request,
-            RequestType requestType) throws PortletException, SessionExpired,
+            RequestType requestType) throws PortletException, SessionExpiredException,
             MalformedURLException {
 
         boolean requestCanCreateApplication = requestCanCreateApplication(
@@ -642,7 +642,7 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
         if (requestCanCreateApplication) {
             return createApplication(request);
         } else {
-            throw new SessionExpired();
+            throw new SessionExpiredException();
         }
     }
 
@@ -673,7 +673,7 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
 
     private Application getExistingApplication(PortletRequest request,
             boolean allowSessionCreation) throws MalformedURLException,
-            SessionExpired {
+            SessionExpiredException {
 
         final PortletSession session = request
                 .getPortletSession(allowSessionCreation);
@@ -683,7 +683,7 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
 //        System.out.println("  - session.isNew() = " + session.isNew());
 
         if (session == null) {
-            throw new SessionExpired();
+            throw new SessionExpiredException();
         }
 
         PortletApplicationContext2 context = PortletApplicationContext2
index 57e414652f5ab9df8abb51e4d0f539d78cce24eb..995ec384a1fe69cac017a4643945bea73fe4ad85 100644 (file)
@@ -424,7 +424,7 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
             // Send initial AJAX page that kickstarts a Vaadin application
             writeAjaxPage(request, response, window, application);
 
-        } catch (final SessionExpired e) {
+        } catch (final SessionExpiredException e) {
             // Session has expired, notify user
             handleServiceSessionExpired(request, response);
         } catch (final GeneralSecurityException e) {
@@ -540,11 +540,11 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
      * @throws IllegalAccessException
      * @throws InstantiationException
      * @throws ServletException
-     * @throws SessionExpired
+     * @throws SessionExpiredException
      */
     private Application findApplicationInstance(HttpServletRequest request,
             RequestType requestType) throws MalformedURLException,
-            ServletException, SessionExpired {
+            ServletException, SessionExpiredException {
 
         boolean requestCanCreateApplication = requestCanCreateApplication(
                 request, requestType);
@@ -588,7 +588,7 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
              * The application was not found and a new one should not be
              * created. Assume the session has expired.
              */
-            throw new SessionExpired();
+            throw new SessionExpiredException();
         }
 
     }
@@ -1722,16 +1722,16 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
      * @throws SAXException
      * @throws IllegalAccessException
      * @throws InstantiationException
-     * @throws SessionExpired
+     * @throws SessionExpiredException
      */
     private Application getExistingApplication(HttpServletRequest request,
             boolean allowSessionCreation) throws MalformedURLException,
-            SessionExpired {
+            SessionExpiredException {
 
         // Ensures that the session is still valid
         final HttpSession session = request.getSession(allowSessionCreation);
         if (session == null) {
-            throw new SessionExpired();
+            throw new SessionExpiredException();
         }
 
         WebApplicationContext context = WebApplicationContext
index 600c35698ed040b841b7b58f24ce7e2470cbbe58..eabc9f45eb8dce3d70b18aee559583741e8d9c88 100644 (file)
@@ -317,15 +317,17 @@ public abstract class AbstractCommunicationManager implements
             throw e;
         }
 
-        // Send short response to acknowledge client that request was done
-        /* TODO Acknowledge upload in some other way 
+        sendUploadResponse(request, response);
+    }
+    
+    protected void sendUploadResponse(Request request, Response response) throws IOException {
         response.setContentType("text/html");
         final OutputStream out = response.getOutputStream();
         final PrintWriter outWriter = new PrintWriter(new BufferedWriter(
                 new OutputStreamWriter(out, "UTF-8")));
         outWriter.print("<html><body>download handled</body></html>");
         outWriter.flush();
-        out.close();*/
+        out.close();
     }
 
     /**
index c5a09dc4e6ae3c12f5b7340a486b0a77e1ceb7d2..e7c754c9a3fac42cfa368aeb0a4891c22db19400 100644 (file)
@@ -186,6 +186,16 @@ public class PortletCommunicationManager extends AbstractCommunicationManager {
         doHandleFileUpload(new PortletRequestWrapper(request),
                 new PortletResponseWrapper(response));
     }
+    
+    @Override
+    protected void sendUploadResponse(Request request, Response response)
+            throws IOException {
+        if (response.getWrappedResponse() instanceof ActionResponse) {
+            // FIXME Figure out a better redirect than google... (create a dummy resource URL)
+            ((ActionResponse) response.getWrappedResponse()).sendRedirect("http://www.google.com");
+        } else
+            super.sendUploadResponse(request, response);
+    }
 
     public void handleUidlRequest(ResourceRequest request,
             ResourceResponse response,
diff --git a/src/com/vaadin/terminal/gwt/server/SessionExpired.java b/src/com/vaadin/terminal/gwt/server/SessionExpired.java
deleted file mode 100644 (file)
index c2cf309..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.vaadin.terminal.gwt.server;
-
-@SuppressWarnings("serial")
-public class SessionExpired extends Exception {
-
-}
diff --git a/src/com/vaadin/terminal/gwt/server/SessionExpiredException.java b/src/com/vaadin/terminal/gwt/server/SessionExpiredException.java
new file mode 100644 (file)
index 0000000..631db8f
--- /dev/null
@@ -0,0 +1,6 @@
+package com.vaadin.terminal.gwt.server;
+
+@SuppressWarnings("serial")
+public class SessionExpiredException extends Exception {
+
+}