summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/server/GAEVaadinServlet.java
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/com/vaadin/server/GAEVaadinServlet.java')
-rw-r--r--server/src/com/vaadin/server/GAEVaadinServlet.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/server/src/com/vaadin/server/GAEVaadinServlet.java b/server/src/com/vaadin/server/GAEVaadinServlet.java
index 6c9c1882ea..c68f25a282 100644
--- a/server/src/com/vaadin/server/GAEVaadinServlet.java
+++ b/server/src/com/vaadin/server/GAEVaadinServlet.java
@@ -361,11 +361,18 @@ public class GAEVaadinServlet extends VaadinServlet {
*
* @param request
*/
- private void cleanSession(HttpServletRequest request) {
- HttpSession session = request.getSession(false);
- if (session != null) {
- session.removeAttribute(VaadinServletSession.class.getName());
+ private void cleanSession(VaadinServletRequest request) {
+ // Should really be replaced with a session storage API...
+ WrappedSession wrappedSession = request.getWrappedSession(false);
+ if (wrappedSession == null) {
+ return;
+ }
+ VaadinServiceSession serviceSession = VaadinServiceSession
+ .getForSession(getService(), wrappedSession);
+ if (serviceSession == null) {
+ return;
}
+ serviceSession.removeFromSession(getService());
}
/**