]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/internal/http/WebCmsSessionImpl.java
Prepare release.
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / http / WebCmsSessionImpl.java
1 package org.argeo.cms.internal.http;
2
3 import java.util.Locale;
4
5 import javax.security.auth.Subject;
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpSession;
8
9 import org.argeo.cms.internal.auth.CmsSessionImpl;
10 import org.osgi.service.useradmin.Authorization;
11
12 public class WebCmsSessionImpl extends CmsSessionImpl {
13 // private final static Log log =
14 // LogFactory.getLog(WebCmsSessionImpl.class);
15
16 private HttpSession httpSession;
17
18 public WebCmsSessionImpl(Subject initialSubject, Authorization authorization, Locale locale, HttpServletRequest request) {
19 super(initialSubject, authorization, locale,request.getSession(false).getId());
20 httpSession = request.getSession(false);
21 }
22
23 @Override
24 public boolean isValid() {
25 if (isClosed())
26 return false;
27 try {// test http session
28 httpSession.getCreationTime();
29 return true;
30 } catch (IllegalStateException ise) {
31 return false;
32 }
33 }
34
35 public static CmsSessionImpl getCmsSession(HttpServletRequest request) {
36 return CmsSessionImpl.getByLocalId(request.getSession(false).getId());
37 }
38 }