aboutsummaryrefslogtreecommitdiffstats
path: root/server/src
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2012-09-28 14:22:00 +0300
committerLeif Åstrand <leif@vaadin.com>2012-09-28 14:22:00 +0300
commit9d73de5162b57e85dba00ca8c5f3ebf47b4ed240 (patch)
tree92eea42da9c7624a63df3c1b7a5b7f3c91fafb0b /server/src
parentaf8fb8ddd2ab54c08a8ac2c120a8d357c98057ec (diff)
downloadvaadin-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')
-rw-r--r--server/src/com/vaadin/server/VaadinPortletService.java2
-rw-r--r--server/src/com/vaadin/server/VaadinPortletSession.java10
-rw-r--r--server/src/com/vaadin/server/VaadinServiceSession.java14
-rw-r--r--server/src/com/vaadin/server/VaadinServletService.java2
-rw-r--r--server/src/com/vaadin/server/VaadinServletSession.java10
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) {