aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java
index da09ba61da..db2ebbe482 100644
--- a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java
+++ b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationServlet.java
@@ -357,12 +357,14 @@ public class ApplicationServlet extends HttpServlet {
// Handles AJAX UIDL requests
if (request.getPathInfo() != null) {
+
String compare = AJAX_UIDL_URI;
if (isApplicationRunnerServlet) {
final String[] URIparts = getApplicationRunnerURIs(request);
applicationRunnerClassname = URIparts[4];
compare = "/" + applicationRunnerClassname + AJAX_UIDL_URI;
}
+
if (request.getPathInfo().startsWith(compare)) {
UIDLrequest = true;
application = getExistingApplication(request, response);
@@ -380,13 +382,15 @@ public class ApplicationServlet extends HttpServlet {
throw new SessionExpired();
}
}
+
// Invokes context transaction listeners
// note: endTransaction is called on finalize below
((WebApplicationContext) application.getContext())
.startTransaction(application, request);
+
+ // Handle UIDL request
getApplicationManager(application).handleUidlRequest(
request, response, this);
-
return;
}
}
@@ -457,9 +461,11 @@ public class ApplicationServlet extends HttpServlet {
return;
}
+ // Send initial AJAX page that kickstarts Toolkit application
writeAjaxPage(request, response, window, themeName, application);
} else {
+ // Client downloads an resource
handleDownload(download, request, response);
}
@@ -995,14 +1001,19 @@ public class ApplicationServlet extends HttpServlet {
}
/**
+ * Parses application runner URIs.
+ *
* If request URL is e.g.
* http://localhost:8080/itmill/run/com.itmill.toolkit.demo.Calc then
- * context=itmill Toolkit applicationRunner servlet=run launched Toolkit
- * application=com.itmill.toolkit.demo.Calc
+ * <ul>
+ * <li>context=itmill</li>
+ * <li>Runner servlet=run</li>
+ * <li>Toolkit application=com.itmill.toolkit.demo.Calc</li>
+ * </ul>
*
* @param request
- * @return string array containing widgetsetUri, applicationUri and context,
- * runner, applicationClassname separately
+ * @return string array containing widgetset URI, application URI and
+ * context, runner, application classname
*/
private String[] getApplicationRunnerURIs(HttpServletRequest request) {
final String[] urlParts = request.getRequestURI().toString().split(