From: Leif Åstrand Date: Tue, 20 Dec 2011 06:31:07 +0000 (+0200) Subject: #6619 AbstractApplicationServlet.init: parameters reading order is strange X-Git-Tag: 7.0.0.alpha1~89 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ac9137878e06fb4d2a66425ebd00ceb9d5bd9fa5;p=vaadin-framework.git #6619 AbstractApplicationServlet.init: parameters reading order is strange --- diff --git a/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java b/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java index e1237f4183..18642b5d18 100644 --- a/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java +++ b/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java @@ -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 e = config.getInitParameterNames(); e + + // Read default parameters from the context + final PortletContext context = config.getPortletContext(); + for (final Enumeration 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 e = context.getInitParameterNames(); e + // Override with application settings from portlet.xml + applicationProperties = new Properties(); + for (final Enumeration e = config.getInitParameterNames(); e .hasMoreElements();) { final String name = e.nextElement(); applicationProperties.setProperty(name, - context.getInitParameter(name)); + config.getInitParameter(name)); } + checkProductionMode(); checkCrossSiteProtection(); } diff --git a/src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java b/src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java index 213d2e862d..6ae80a65a5 100644 --- a/src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java +++ b/src/com/vaadin/terminal/gwt/server/AbstractApplicationServlet.java @@ -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 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 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 e = context.getInitParameterNames(); e - .hasMoreElements();) { - final String name = e.nextElement(); - applicationProperties.setProperty(name, - context.getInitParameter(name)); - } checkProductionMode(); checkCrossSiteProtection(); checkResourceCacheTime();