aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2007-02-19 09:57:02 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2007-02-19 09:57:02 +0000
commite8acd30babacd571cfc69e0444edbae0892e3b24 (patch)
tree3ed2bef732130e069dd102adb50071c09682ee96
parent883463b8253b93f1a1a4e14933e5eaa32fedeebf (diff)
downloadvaadin-framework-e8acd30babacd571cfc69e0444edbae0892e3b24.tar.gz
vaadin-framework-e8acd30babacd571cfc69e0444edbae0892e3b24.zip
fixes #432
svn changeset:733/svn branch:toolkit
-rw-r--r--src/com/itmill/toolkit/terminal/web/ApplicationServlet.java32
1 files changed, 18 insertions, 14 deletions
diff --git a/src/com/itmill/toolkit/terminal/web/ApplicationServlet.java b/src/com/itmill/toolkit/terminal/web/ApplicationServlet.java
index 7f2df6c45d..005f79c1ad 100644
--- a/src/com/itmill/toolkit/terminal/web/ApplicationServlet.java
+++ b/src/com/itmill/toolkit/terminal/web/ApplicationServlet.java
@@ -577,15 +577,21 @@ public class ApplicationServlet extends HttpServlet implements
String renderingMode = theme.getPreferredMode(wb,
themeSource);
- if (unhandledParameters.get("renderingMode") != null)
- renderingMode = (String) ((Object[]) unhandledParameters
- .get("renderingMode"))[0];
if (Theme.MODE_AJAX.equals(renderingMode)) {
wb.setRenderingMode(WebBrowser.RENDERING_MODE_AJAX);
} else {
wb.setRenderingMode(WebBrowser.RENDERING_MODE_HTML);
}
}
+ if (unhandledParameters.get("renderingMode") != null) {
+ String renderingMode = (String) ((Object[]) unhandledParameters
+ .get("renderingMode"))[0];
+ if (renderingMode.equals("html")) {
+ wb.setRenderingMode(WebBrowser.RENDERING_MODE_HTML);
+ } else {
+ wb.setRenderingMode(WebBrowser.RENDERING_MODE_AJAX);
+ }
+ }
// Handle the URI if the application is still running
if (application.isRunning())
@@ -648,14 +654,12 @@ public class ApplicationServlet extends HttpServlet implements
return;
}
- // Get the terminal type for the window
- WebBrowser terminalType = (WebBrowser) window.getTerminal();
-
// Set terminal type for the window, if not already set
- if (terminalType == null) {
- window.setTerminal(terminalType = wb);
+ if (window.getTerminal() == null) {
+ window.setTerminal(wb);
}
+
// Find theme
String themeName = window.getTheme() != null ? window
.getTheme() : DEFAULT_THEME;
@@ -670,16 +674,16 @@ public class ApplicationServlet extends HttpServlet implements
+ themeName + "') can not be found");
// If in ajax rendering mode, print an html page for it
- if(terminalType.getRenderingMode() == WebBrowser.RENDERING_MODE_AJAX) {
- writeAjaxPage(request, response, out, unhandledParameters, window, terminalType, theme);
+ if(wb.getRenderingMode() == WebBrowser.RENDERING_MODE_AJAX) {
+ writeAjaxPage(request, response, out, unhandledParameters, window, wb, theme);
return;
}
- String renderingMode = theme.getPreferredMode(terminalType,
+ String renderingMode = theme.getPreferredMode(wb,
themeSource);
// If other than html or ajax mode is requested
- if (!Theme.MODE_HTML.equals(renderingMode)
+ if(wb.getRenderingMode() == WebBrowser.RENDERING_MODE_UNDEFINED
&& !(window instanceof DebugWindow)) {
// TODO More informal message should be given is browser
// is not supported
@@ -696,13 +700,13 @@ public class ApplicationServlet extends HttpServlet implements
// Initialize Transformer
UIDLTransformerType transformerType = new UIDLTransformerType(
- terminalType, theme);
+ wb, theme);
transformer = this.transformerFactory
.getTransformer(transformerType);
// Set the response type
- response.setContentType(terminalType.getContentType());
+ response.setContentType(wb.getContentType());
// Create UIDL writer
WebPaintTarget paintTarget = transformer