diff options
author | Leif Åstrand <leif@vaadin.com> | 2013-06-11 13:21:09 +0300 |
---|---|---|
committer | Leif Åstrand <leif@vaadin.com> | 2013-06-11 13:26:00 +0300 |
commit | 5793a1c3a2da2c9771bd1721483a4689100d4bc3 (patch) | |
tree | 80033110c7525d1f11c16bd4349d3c70eafaeb5b /server/src | |
parent | a0182a017b97847f88338a6e721e98327ca0d20b (diff) | |
download | vaadin-framework-5793a1c3a2da2c9771bd1721483a4689100d4bc3.tar.gz vaadin-framework-5793a1c3a2da2c9771bd1721483a4689100d4bc3.zip |
Make VaadinServlet use enclosing UI class by default (#12039)
Change-Id: Ica2b9b9d82ef6d683cb51f3478a07e57cbfa28e5
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/com/vaadin/server/VaadinServlet.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/server/src/com/vaadin/server/VaadinServlet.java b/server/src/com/vaadin/server/VaadinServlet.java index a3030c9d8d..a9eb42578e 100644 --- a/server/src/com/vaadin/server/VaadinServlet.java +++ b/server/src/com/vaadin/server/VaadinServlet.java @@ -44,6 +44,7 @@ import com.vaadin.annotations.VaadinServletConfiguration.InitParameterName; import com.vaadin.sass.internal.ScssStylesheet; import com.vaadin.server.communication.ServletUIInitHandler; import com.vaadin.shared.JsonConstants; +import com.vaadin.ui.UI; import com.vaadin.util.CurrentInstance; @SuppressWarnings("serial") @@ -69,6 +70,8 @@ public class VaadinServlet extends HttpServlet implements Constants { super.init(servletConfig); Properties initParameters = new Properties(); + readUiFromEnclosingClass(initParameters); + readConfigurationAnnotation(initParameters); // Read default parameters from server.xml @@ -101,6 +104,15 @@ public class VaadinServlet extends HttpServlet implements Constants { CurrentInstance.clearAll(); } + private void readUiFromEnclosingClass(Properties initParameters) { + Class<?> enclosingClass = getClass().getEnclosingClass(); + + if (enclosingClass != null && UI.class.isAssignableFrom(enclosingClass)) { + initParameters.put(VaadinSession.UI_PARAMETER, + enclosingClass.getName()); + } + } + private void readConfigurationAnnotation(Properties initParameters) throws ServletException { VaadinServletConfiguration configAnnotation = UIProvider |