AbstractApplicationServlet.init: parameters reading order is strange

com.vaadin.terminal.gwt.server.AbstractApplicationServlet#init
looks this

// Stores the application parameters into Properties object
  applicationProperties = new Properties();
  for (final Enumeration<String> e = servletConfig.getInitParameterNames(); e.hasMoreElements();) {
    final String name = e.nextElement();
    applicationProperties.setProperty(name, 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));
  }

But logically you want different order:

read “global” parameters,
then read(override with) servlet specific parameters,
then may be override found parameters with system.properties values

e.g.
I have global theme name, but for specific app I want different theme - now I can’t do this (If my app reads theme name from it’s web.xml using com.vaadin.Application#getProperty)!


ticket 6619