]> source.dussan.org Git - vaadin-framework.git/commitdiff
Drop support for request attributes used by support for portlet 1.0
authorLeif Åstrand <leif@vaadin.com>
Tue, 22 Nov 2011 13:49:58 +0000 (15:49 +0200)
committerLeif Åstrand <leif@vaadin.com>
Tue, 22 Nov 2011 13:49:58 +0000 (15:49 +0200)
src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java
tests/server-side/com/vaadin/terminal/gwt/server/TestAbstractApplicationServletStaticFilesLocation.java

index d78c49c61c553e8775f8b8664717756f66bb9256..9072e6760066b3d9e3261c35471e23965ddf1bbd 100644 (file)
@@ -142,67 +142,6 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
         }
     }
 
-    /**
-     * If the attribute is present in the request, a html fragment will be
-     * written instead of a whole page.
-     * 
-     * It is set to "true" by the {@link ApplicationPortlet} (Portlet 1.0) and
-     * read by {@link AbstractApplicationServlet}.
-     */
-    public static final String REQUEST_FRAGMENT = ApplicationServlet.class
-            .getName() + ".fragment";
-    /**
-     * This request attribute forces widgetsets to be loaded from under the
-     * specified base path; e.g shared widgetset for all portlets in a portal.
-     * 
-     * It is set by the {@link ApplicationPortlet} (Portlet 1.0) based on
-     * {@link Constants.PORTAL_PARAMETER_VAADIN_RESOURCE_PATH} and read by
-     * {@link AbstractApplicationServlet}.
-     */
-    public static final String REQUEST_VAADIN_STATIC_FILE_PATH = ApplicationServlet.class
-            .getName() + ".widgetsetPath";
-    /**
-     * This request attribute forces widgetset used; e.g for portlets that can
-     * not have different widgetsets.
-     * 
-     * It is set by the {@link ApplicationPortlet} (Portlet 1.0) based on
-     * {@link ApplicationPortlet.PORTLET_PARAMETER_WIDGETSET} and read by
-     * {@link AbstractApplicationServlet}.
-     */
-    public static final String REQUEST_WIDGETSET = ApplicationServlet.class
-            .getName() + ".widgetset";
-    /**
-     * This request attribute indicates the shared widgetset (e.g. portal-wide
-     * default widgetset).
-     * 
-     * It is set by the {@link ApplicationPortlet} (Portlet 1.0) based on
-     * {@link Constants.PORTAL_PARAMETER_VAADIN_WIDGETSET} and read by
-     * {@link AbstractApplicationServlet}.
-     */
-    public static final String REQUEST_SHARED_WIDGETSET = ApplicationServlet.class
-            .getName() + ".sharedWidgetset";
-    /**
-     * If set, do not load the default theme but assume that loading it is
-     * handled e.g. by ApplicationPortlet.
-     * 
-     * It is set by the {@link ApplicationPortlet} (Portlet 1.0) based on
-     * {@link Constants.PORTAL_PARAMETER_VAADIN_THEME} and read by
-     * {@link AbstractApplicationServlet}.
-     */
-    public static final String REQUEST_DEFAULT_THEME = ApplicationServlet.class
-            .getName() + ".defaultThemeUri";
-    /**
-     * This request attribute is used to add styles to the main element. E.g
-     * "height:500px" generates a style="height:500px" to the main element,
-     * useful from some embedding situations (e.g portlet include.)
-     * 
-     * It is typically set by the {@link ApplicationPortlet} (Portlet 1.0) based
-     * on {@link ApplicationPortlet.PORTLET_PARAMETER_STYLE} and read by
-     * {@link AbstractApplicationServlet}.
-     */
-    public static final String REQUEST_APPSTYLE = ApplicationServlet.class
-            .getName() + ".style";
-
     private Properties applicationProperties;
 
     private boolean productionMode = false;
@@ -938,14 +877,8 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
 
         if (themeName == null) {
             // no explicit theme for root defined
-            if (request.getAttribute(REQUEST_DEFAULT_THEME) != null) {
-                // the default theme is defined in request (by portal)
-                themeName = (String) request
-                        .getAttribute(REQUEST_DEFAULT_THEME);
-            } else {
-                // using the default theme defined by Vaadin
-                themeName = getDefaultTheme();
-            }
+            // using the default theme defined by Vaadin
+            themeName = getDefaultTheme();
         }
 
         // XSS preventation, theme names shouldn't contain special chars anyway.
@@ -1458,15 +1391,6 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
      */
     protected String getStaticFilesLocation(HttpServletRequest request) {
 
-        // request may have an attribute explicitly telling location (portal
-        // case)
-        String staticFileLocation = (String) request
-                .getAttribute(REQUEST_VAADIN_STATIC_FILE_PATH);
-        if (staticFileLocation != null) {
-            // TODO remove trailing slash if any?
-            return staticFileLocation;
-        }
-
         return getWebApplicationsStaticFileLocation(request);
     }
 
@@ -1565,7 +1489,7 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
      * <li>
      * {@link #writeAjaxPageHtmlVaadinScripts(Root, String, Application, BufferedWriter, String, String, String, HttpServletRequest)}
      * <li>
-     * {@link #writeAjaxPageHtmlMainDiv(BufferedWriter, String, String, String, HttpServletRequest)}
+     * {@link #writeAjaxPageHtmlMainDiv(BufferedWriter, String, String, HttpServletRequest)}
      * <li> {@link #writeAjaxPageHtmlBodyEnd(BufferedWriter)}
      * </ul>
      * 
@@ -1588,14 +1512,6 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
             HttpServletResponse response, Root root, Application application)
             throws IOException, MalformedURLException, ServletException {
 
-        // e.g portlets only want a html fragment
-        boolean fragment = (request.getAttribute(REQUEST_FRAGMENT) != null);
-        if (fragment) {
-            // if this is a fragment request, the actual application is put to
-            // request so ApplicationPortlet can save it for a later use
-            request.setAttribute(Application.class.getName(), application);
-        }
-
         final BufferedWriter page = new BufferedWriter(new OutputStreamWriter(
                 response.getOutputStream(), "UTF-8"));
 
@@ -1614,12 +1530,10 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
 
         String themeUri = getThemeUri(themeName, request);
 
-        if (!fragment) {
-            setAjaxPageHeaders(response);
-            writeAjaxPageHtmlHeadStart(page, request);
-            writeAjaxPageHtmlHeader(page, title, themeUri, request);
-            writeAjaxPageHtmlBodyStart(page, request);
-        }
+        setAjaxPageHeaders(response);
+        writeAjaxPageHtmlHeadStart(page, request);
+        writeAjaxPageHtmlHeader(page, title, themeUri, request);
+        writeAjaxPageHtmlBodyStart(page, request);
 
         String appId = appUrl;
         if ("".equals(appUrl)) {
@@ -1656,17 +1570,9 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
 
         String classNames = "v-app " + themeClass + " " + appClass;
 
-        String divStyle = null;
-        if (request.getAttribute(REQUEST_APPSTYLE) != null) {
-            divStyle = "style=\"" + request.getAttribute(REQUEST_APPSTYLE)
-                    + "\"";
-        }
+        writeAjaxPageHtmlMainDiv(page, appId, classNames, request);
 
-        writeAjaxPageHtmlMainDiv(page, appId, classNames, divStyle, request);
-
-        if (!fragment) {
-            page.write("</body>\n</html>\n");
-        }
+        page.write("</body>\n</html>\n");
 
         page.close();
 
@@ -1701,20 +1607,7 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
      * @return
      */
     private String getThemeUri(String themeName, HttpServletRequest request) {
-        final String staticFilePath;
-        if (themeName.equals(request.getAttribute(REQUEST_DEFAULT_THEME))) {
-            // our window theme is the portal wide default theme, make it load
-            // from portals directory is defined
-            staticFilePath = getStaticFilesLocation(request);
-        } else {
-            /*
-             * theme is a custom theme, which is not necessarily located in
-             * portals VAADIN directory. Let the default servlet conf decide
-             * (omitting request parameter) the location. Note that theme can
-             * still be placed to portal directory with servlet parameter.
-             */
-            staticFilePath = getWebApplicationsStaticFileLocation(request);
-        }
+        final String staticFilePath = getWebApplicationsStaticFileLocation(request);
         return staticFilePath + "/" + THEME_DIRECTORY_PATH + themeName;
     }
 
@@ -1729,15 +1622,13 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
      * @param page
      * @param appId
      * @param classNames
-     * @param divStyle
      * @param request
      * @throws IOException
      */
     protected void writeAjaxPageHtmlMainDiv(final BufferedWriter page,
-            String appId, String classNames, String divStyle,
-            HttpServletRequest request) throws IOException {
-        page.write("<div id=\"" + appId + "\" class=\"" + classNames + "\" "
-                + (divStyle != null ? divStyle : "") + ">");
+            String appId, String classNames, HttpServletRequest request)
+            throws IOException {
+        page.write("<div id=\"" + appId + "\" class=\"" + classNames + "\">");
         page.write("<div class=\"v-app-loading\"></div>");
         page.write("</div>\n");
         page.write("<noscript>" + getNoScriptMessage() + "</noscript>");
@@ -1767,28 +1658,9 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
             String appId, HttpServletRequest request, int rootId)
             throws ServletException, IOException {
 
-        // request widgetset takes precedence (e.g portlet include)
-        String requestWidgetset = (String) request
-                .getAttribute(REQUEST_WIDGETSET);
-        String sharedWidgetset = (String) request
-                .getAttribute(REQUEST_SHARED_WIDGETSET);
-        if (requestWidgetset == null && sharedWidgetset == null) {
-            // Use the value from configuration or DEFAULT_WIDGETSET.
-            // If no shared widgetset is specified, the default widgetset is
-            // assumed to be in the servlet/portlet itself.
-            requestWidgetset = getApplicationOrSystemProperty(
-                    PARAMETER_WIDGETSET, DEFAULT_WIDGETSET);
-        }
-
-        String widgetset;
-        String widgetsetBasePath;
-        if (requestWidgetset != null) {
-            widgetset = requestWidgetset;
-            widgetsetBasePath = getWebApplicationsStaticFileLocation(request);
-        } else {
-            widgetset = sharedWidgetset;
-            widgetsetBasePath = getStaticFilesLocation(request);
-        }
+        String widgetset = getApplicationOrSystemProperty(PARAMETER_WIDGETSET,
+                DEFAULT_WIDGETSET);
+        String widgetsetBasePath = getWebApplicationsStaticFileLocation(request);
 
         widgetset = stripSpecialChars(widgetset);
 
index fcd99707178127de8867113363d58bb0180c0f07..7e45ea50d703fa6e3db35582eaf832102ddf8096 100644 (file)
@@ -17,9 +17,6 @@ import javax.servlet.http.HttpServletRequest;
 
 import junit.framework.TestCase;
 
-import com.vaadin.terminal.gwt.server.AbstractApplicationServlet;
-import com.vaadin.terminal.gwt.server.ApplicationServlet;
-
 public class TestAbstractApplicationServletStaticFilesLocation extends TestCase {
 
     ApplicationServlet servlet;
@@ -147,9 +144,6 @@ public class TestAbstractApplicationServletStaticFilesLocation extends TestCase
                 .andReturn(realContextPath).anyTimes();
         expect(request.getAttribute("javax.servlet.include.servlet_path"))
                 .andReturn(realServletPath).anyTimes();
-        expect(
-                request.getAttribute(AbstractApplicationServlet.REQUEST_VAADIN_STATIC_FILE_PATH))
-                .andReturn(null).anyTimes();
 
         return request;
     }
@@ -163,9 +157,6 @@ public class TestAbstractApplicationServletStaticFilesLocation extends TestCase
                 .andReturn(null).anyTimes();
         expect(request.getAttribute("javax.servlet.include.servlet_path"))
                 .andReturn(null).anyTimes();
-        expect(
-                request.getAttribute(ApplicationServlet.REQUEST_VAADIN_STATIC_FILE_PATH))
-                .andReturn(null).anyTimes();
 
         return request;
     }