diff options
author | Leif Åstrand <leif@vaadin.com> | 2012-09-28 14:22:00 +0300 |
---|---|---|
committer | Leif Åstrand <leif@vaadin.com> | 2012-09-28 14:22:00 +0300 |
commit | 9d73de5162b57e85dba00ca8c5f3ebf47b4ed240 (patch) | |
tree | 92eea42da9c7624a63df3c1b7a5b7f3c91fafb0b /server/src | |
parent | af8fb8ddd2ab54c08a8ac2c120a8d357c98057ec (diff) | |
download | vaadin-framework-9d73de5162b57e85dba00ca8c5f3ebf47b4ed240.tar.gz vaadin-framework-9d73de5162b57e85dba00ca8c5f3ebf47b4ed240.zip |
Ensure there's a service for each session (#9733)
Change-Id: I9425c2d33fd09759b18930741344e9181dc79364
Diffstat (limited to 'server/src')
5 files changed, 36 insertions, 2 deletions
diff --git a/server/src/com/vaadin/server/VaadinPortletService.java b/server/src/com/vaadin/server/VaadinPortletService.java index 298b875a55..aa81c39d9d 100644 --- a/server/src/com/vaadin/server/VaadinPortletService.java +++ b/server/src/com/vaadin/server/VaadinPortletService.java @@ -208,7 +208,7 @@ public class VaadinPortletService extends VaadinService { @Override protected VaadinServiceSession createVaadinSession(VaadinRequest request) throws ServiceException { - return new VaadinPortletSession(); + return new VaadinPortletSession(this); } @Override diff --git a/server/src/com/vaadin/server/VaadinPortletSession.java b/server/src/com/vaadin/server/VaadinPortletSession.java index 427314975e..6b89342b2b 100644 --- a/server/src/com/vaadin/server/VaadinPortletSession.java +++ b/server/src/com/vaadin/server/VaadinPortletSession.java @@ -66,6 +66,16 @@ public class VaadinPortletSession extends VaadinServiceSession { private final Map<String, String> sharedParameterActionNameMap = new HashMap<String, String>(); private final Map<String, String> sharedParameterActionValueMap = new HashMap<String, String>(); + /** + * Create a portlet service session for the given portlet service + * + * @param service + * the portlet service to which the new session belongs + */ + public VaadinPortletSession(VaadinPortletService service) { + super(service); + } + public PortletSession getPortletSession() { WrappedSession wrappedSession = getSession(); PortletSession session = ((WrappedPortletSession) wrappedSession) diff --git a/server/src/com/vaadin/server/VaadinServiceSession.java b/server/src/com/vaadin/server/VaadinServiceSession.java index 2b6b651404..c581a1930c 100644 --- a/server/src/com/vaadin/server/VaadinServiceSession.java +++ b/server/src/com/vaadin/server/VaadinServiceSession.java @@ -199,6 +199,16 @@ public class VaadinServiceSession implements HttpSessionBindingListener, private VaadinService service; /** + * Create a new service session tied to a Vaadin service + * + * @param service + * the Vaadin service for the new session + */ + public VaadinServiceSession(VaadinService service) { + this.service = service; + } + + /** * @see javax.servlet.http.HttpSessionBindingListener#valueBound(HttpSessionBindingEvent) */ @Override @@ -1123,4 +1133,8 @@ public class VaadinServiceSession implements HttpSessionBindingListener, return Collections.unmodifiableList(uiProviders); } + public VaadinService getService() { + return service; + } + } diff --git a/server/src/com/vaadin/server/VaadinServletService.java b/server/src/com/vaadin/server/VaadinServletService.java index 5d01c84948..ca894b8a4f 100644 --- a/server/src/com/vaadin/server/VaadinServletService.java +++ b/server/src/com/vaadin/server/VaadinServletService.java @@ -188,7 +188,7 @@ public class VaadinServletService extends VaadinService { @Override protected VaadinServiceSession createVaadinSession(VaadinRequest request) throws ServiceException { - return new VaadinServletSession(); + return new VaadinServletSession(this); } @Override diff --git a/server/src/com/vaadin/server/VaadinServletSession.java b/server/src/com/vaadin/server/VaadinServletSession.java index fa048194c3..78f58d64fe 100644 --- a/server/src/com/vaadin/server/VaadinServletSession.java +++ b/server/src/com/vaadin/server/VaadinServletSession.java @@ -41,6 +41,16 @@ public class VaadinServletSession extends VaadinServiceSession { private transient boolean reinitializingSession = false; + /** + * Create a servlet service session for the given servlet service + * + * @param service + * the servlet service to which the new session belongs + */ + public VaadinServletSession(VaadinServletService service) { + super(service); + } + @Override public void valueUnbound(HttpSessionBindingEvent event) { if (!reinitializingSession) { |