}
// TODO Document me!
+ @Deprecated
public static interface ResourceURLGenerator {
public String generateResourceURL(ApplicationResource resource,
/*
* Default resource URL generator for servlets
*/
+ @Deprecated
private static ResourceURLGenerator defaultResourceURLGenerator = new ResourceURLGenerator() {
public String generateResourceURL(ApplicationResource resource,
String mapKey) {
};
+ @Deprecated
private ResourceURLGenerator resourceURLGenerator = defaultResourceURLGenerator;
+ @Deprecated
public ResourceURLGenerator getResourceURLGenerator() {
return resourceURLGenerator;
}
+ @Deprecated
public void setResourceURLGenerator(
ResourceURLGenerator resourceURLGenerator) {
if (resourceURLGenerator == null)
*
* @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
import java.util.Collection;
import com.vaadin.Application;
+import com.vaadin.terminal.ApplicationResource;
/**
* <code>ApplicationContext</code> provides information about the running
*
* @return Collection containing all applications in this context
*/
- public Collection getApplications();
-
+ public Collection<Application> getApplications();
+
/**
* Adds transaction listener to this context.
*
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");
"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");
}
private Application findApplicationInstance(PortletRequest request,
- RequestType requestType) throws PortletException, SessionExpired,
+ RequestType requestType) throws PortletException, SessionExpiredException,
MalformedURLException {
boolean requestCanCreateApplication = requestCanCreateApplication(
if (requestCanCreateApplication) {
return createApplication(request);
} else {
- throw new SessionExpired();
+ throw new SessionExpiredException();
}
}
private Application getExistingApplication(PortletRequest request,
boolean allowSessionCreation) throws MalformedURLException,
- SessionExpired {
+ SessionExpiredException {
final PortletSession session = request
.getPortletSession(allowSessionCreation);
// System.out.println(" - session.isNew() = " + session.isNew());
if (session == null) {
- throw new SessionExpired();
+ throw new SessionExpiredException();
}
PortletApplicationContext2 context = PortletApplicationContext2
// 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) {
* @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);
* The application was not found and a new one should not be
* created. Assume the session has expired.
*/
- throw new SessionExpired();
+ throw new SessionExpiredException();
}
}
* @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
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();
}
/**
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,
+++ /dev/null
-package com.vaadin.terminal.gwt.server;
-
-@SuppressWarnings("serial")
-public class SessionExpired extends Exception {
-
-}
--- /dev/null
+package com.vaadin.terminal.gwt.server;
+
+@SuppressWarnings("serial")
+public class SessionExpiredException extends Exception {
+
+}