From: Jani Laakso Date: Sun, 4 Mar 2007 23:08:11 +0000 (+0000) Subject: Fixed #82 (Server certificate test: Weblogic), after this changeset test succeeds. X-Git-Tag: 6.7.0.beta1~6551 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c86354d6245b09961e147648f9a8abb8a5103845;p=vaadin-framework.git Fixed #82 (Server certificate test: Weblogic), after this changeset test succeeds. Note, this may affect positively in other Application Servers too. svn changeset:782/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/web/ApplicationServlet.java b/src/com/itmill/toolkit/terminal/web/ApplicationServlet.java index fe04bddf6a..abf99f5cca 100644 --- a/src/com/itmill/toolkit/terminal/web/ApplicationServlet.java +++ b/src/com/itmill/toolkit/terminal/web/ApplicationServlet.java @@ -163,14 +163,14 @@ public class ApplicationServlet extends HttpServlet implements private static final String AJAX_UIDL_URI = "/UIDL/"; - private static final String THEME_DIRECTORY_PATH = "WEB-INF/lib/themes/"; + private static final String THEME_DIRECTORY_PATH = "/WEB-INF/lib/themes/"; private static final String THEME_LISTING_FILE = THEME_DIRECTORY_PATH + "themes.txt"; private static final String DEFAULT_THEME_JAR_PREFIX = "itmill-toolkit-themes"; - private static final String DEFAULT_THEME_JAR = "WEB-INF/lib/" + private static final String DEFAULT_THEME_JAR = "/WEB-INF/lib/" + DEFAULT_THEME_JAR_PREFIX + "-" + VERSION + ".jar"; private static final String DEFAULT_THEME_TEMP_FILE_PREFIX = "ITMILL_TMP_"; @@ -390,8 +390,7 @@ public class ApplicationServlet extends HttpServlet implements * Get ThemeSources from given path. Construct the list of avalable themes * in path using the following sources: 1. content of THEME_PATH directory * (if available) 2. The themes listed in THEME_LIST_FILE 3. "themesource" - * application parameter - "ThemeSource" system - * property + * application parameter - "ThemeSource" system property * * @param THEME_DIRECTORY_PATH * @return List @@ -428,7 +427,7 @@ public class ApplicationServlet extends HttpServlet implements } try { - String path = this.getServletContext().getRealPath( + String path = getResourcePath(getServletContext(), THEME_DIRECTORY_PATH); if (path != null) { File f = new File(path); @@ -563,12 +562,14 @@ public class ApplicationServlet extends HttpServlet implements // Check/handle client side feature checks WebBrowserProbe .handleProbeRequest(request, unhandledParameters); - + // If rendering mode is not defined try to detect it - WebBrowser wb = WebBrowserProbe.getTerminalType(request.getSession()); - if(wb.getRenderingMode() == WebBrowser.RENDERING_MODE_UNDEFINED) { - String themeName = application.getTheme(); - if (themeName == null) themeName = DEFAULT_THEME; + WebBrowser wb = WebBrowserProbe.getTerminalType(request + .getSession()); + if (wb.getRenderingMode() == WebBrowser.RENDERING_MODE_UNDEFINED) { + String themeName = application.getTheme(); + if (themeName == null) + themeName = DEFAULT_THEME; if (unhandledParameters.get("theme") != null) { themeName = (String) ((Object[]) unhandledParameters .get("theme"))[0]; @@ -584,7 +585,7 @@ public class ApplicationServlet extends HttpServlet implements } } if (unhandledParameters.get("renderingMode") != null) { - String renderingMode = (String) ((Object[]) unhandledParameters + String renderingMode = (String) ((Object[]) unhandledParameters .get("renderingMode"))[0]; if (renderingMode.equals("html")) { wb.setRenderingMode(WebBrowser.RENDERING_MODE_HTML); @@ -659,7 +660,6 @@ public class ApplicationServlet extends HttpServlet implements window.setTerminal(wb); } - // Find theme String themeName = window.getTheme() != null ? window .getTheme() : DEFAULT_THEME; @@ -667,20 +667,20 @@ public class ApplicationServlet extends HttpServlet implements themeName = (String) ((Object[]) unhandledParameters .get("theme"))[0]; } - Theme theme = themeSource - .getThemeByName(themeName); + Theme theme = themeSource.getThemeByName(themeName); if (theme == null) - throw new ServletException("Theme (named '" - + themeName + "') can not be found"); + throw new ServletException("Theme (named '" + themeName + + "') can not be found"); // If in ajax rendering mode, print an html page for it - if(wb.getRenderingMode() == WebBrowser.RENDERING_MODE_AJAX) { - writeAjaxPage(request, response, out, unhandledParameters, window, wb, theme); + if (wb.getRenderingMode() == WebBrowser.RENDERING_MODE_AJAX) { + writeAjaxPage(request, response, out, + unhandledParameters, window, wb, theme); return; } - + // If other than html or ajax mode is requested - if(wb.getRenderingMode() == WebBrowser.RENDERING_MODE_UNDEFINED + if (wb.getRenderingMode() == WebBrowser.RENDERING_MODE_UNDEFINED && !(window instanceof DebugWindow)) { // TODO More informal message should be given is browser // is not supported @@ -816,18 +816,22 @@ public class ApplicationServlet extends HttpServlet implements } } - private void writeAjaxPage(HttpServletRequest request, HttpServletResponse response, OutputStream out, Map unhandledParameters, Window window, WebBrowser terminalType, Theme theme) throws IOException, MalformedURLException { + private void writeAjaxPage(HttpServletRequest request, + HttpServletResponse response, OutputStream out, + Map unhandledParameters, Window window, WebBrowser terminalType, + Theme theme) throws IOException, MalformedURLException { response.setContentType("text/html"); - BufferedWriter page = new BufferedWriter( - new OutputStreamWriter(out)); + BufferedWriter page = new BufferedWriter(new OutputStreamWriter(out)); page .write("\n"); - page.write("\n" - + window.getCaption() + "\n"); - page.write("\n"); + page + .write("\n" + window.getCaption() + + "\n"); + page + .write("\n"); Theme t = theme; Vector themes = new Vector(); themes.add(t); @@ -838,26 +842,19 @@ public class ApplicationServlet extends HttpServlet implements } for (int k = themes.size() - 1; k >= 0; k--) { t = (Theme) themes.get(k); - Collection files = t.getFileNames(terminalType, - Theme.MODE_AJAX); + Collection files = t.getFileNames(terminalType, Theme.MODE_AJAX); for (Iterator i = files.iterator(); i.hasNext();) { String file = (String) i.next(); if (file.endsWith(".css")) - page - .write("\n"); + page.write("\n"); else if (file.endsWith(".js")) - page - .write("\n"); + page.write("\n"); } } @@ -869,41 +866,32 @@ public class ApplicationServlet extends HttpServlet implements page.write("
\n"); page.write("