]> source.dussan.org Git - vaadin-framework.git/commitdiff
#6619 AbstractApplicationServlet.init: parameters reading order is strange
authorLeif Åstrand <leif@vaadin.com>
Tue, 20 Dec 2011 06:31:07 +0000 (08:31 +0200)
committerLeif Åstrand <leif@vaadin.com>
Tue, 20 Dec 2011 06:31:07 +0000 (08:31 +0200)
src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java

index e1237f4183a1e620ed0cd5ffed1463689463b839..18642b5d18aaeb81055a7126060f0b75254be9d9 100644 (file)
@@ -298,23 +298,25 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
     @Override
     public void init(PortletConfig config) throws PortletException {
         super.init(config);
-        // Stores the application parameters into Properties object
-        applicationProperties = new Properties();
-        for (final Enumeration<String> e = config.getInitParameterNames(); e
+
+        // Read default parameters from the context
+        final PortletContext context = config.getPortletContext();
+        for (final Enumeration<String> e = context.getInitParameterNames(); e
                 .hasMoreElements();) {
             final String name = e.nextElement();
             applicationProperties.setProperty(name,
-                    config.getInitParameter(name));
+                    context.getInitParameter(name));
         }
 
-        // Overrides with server.xml parameters
-        final PortletContext context = config.getPortletContext();
-        for (final Enumeration<String> e = context.getInitParameterNames(); e
+        // Override with application settings from portlet.xml
+        applicationProperties = new Properties();
+        for (final Enumeration<String> e = config.getInitParameterNames(); e
                 .hasMoreElements();) {
             final String name = e.nextElement();
             applicationProperties.setProperty(name,
-                    context.getInitParameter(name));
+                    config.getInitParameter(name));
         }
+
         checkProductionMode();
         checkCrossSiteProtection();
     }
index 213d2e862d8f968c9b60660155f8800353a21ec4..6ae80a65a578a038b81fdf1b64df299d3c825044 100644 (file)
@@ -199,7 +199,16 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
             throws javax.servlet.ServletException {
         super.init(servletConfig);
 
-        // Stores the application parameters into Properties object
+        // Read default parameters from server.xml
+        final ServletContext context = servletConfig.getServletContext();
+        for (final Enumeration<String> e = context.getInitParameterNames(); e
+                .hasMoreElements();) {
+            final String name = e.nextElement();
+            applicationProperties.setProperty(name,
+                    context.getInitParameter(name));
+        }
+
+        // Override with application config from web.xml
         applicationProperties = new Properties();
         for (final Enumeration<String> e = servletConfig
                 .getInitParameterNames(); e.hasMoreElements();) {
@@ -208,14 +217,6 @@ public abstract class AbstractApplicationServlet extends HttpServlet implements
                     servletConfig.getInitParameter(name));
         }
 
-        // Overrides with server.xml parameters
-        final ServletContext context = servletConfig.getServletContext();
-        for (final Enumeration<String> e = context.getInitParameterNames(); e
-                .hasMoreElements();) {
-            final String name = e.nextElement();
-            applicationProperties.setProperty(name,
-                    context.getInitParameter(name));
-        }
         checkProductionMode();
         checkCrossSiteProtection();
         checkResourceCacheTime();