Coverage Report - org.webslinger.servlet.OverrideHttpSessionRequest
 
Classes in this File Line Coverage Branch Coverage Complexity
OverrideHttpSessionRequest
71%
17/24
62%
5/8
1.545
 
 1  
 package org.webslinger.servlet;
 2  
 
 3  
 import javax.servlet.ServletContext;
 4  
 import javax.servlet.http.HttpServletRequest;
 5  
 import javax.servlet.http.HttpServletRequestWrapper;
 6  
 import javax.servlet.http.HttpServletResponse;
 7  
 import javax.servlet.http.HttpSession;
 8  
 
 9  0
 public class OverrideHttpSessionRequest extends HttpServletRequestWrapper {
 10  
     protected final ServletContext context;
 11  
     protected final HttpSessionIdManager manager;
 12  
     protected final HttpSessionStore store;
 13  
     protected HttpSessionId sessionId;
 14  
     protected HttpSession session;
 15  
 
 16  
     public OverrideHttpSessionRequest(HttpServletRequest request, ServletContext context, HttpSessionIdManager manager, HttpSessionStore store, HttpSessionId sessionId) {
 17  307
         super(request);
 18  307
         this.context = context;
 19  307
         this.manager = manager;
 20  307
         this.store = store;
 21  307
         this.sessionId = sessionId;
 22  307
     }
 23  
 
 24  
     public HttpServletRequest getRequest() {
 25  134
         return (HttpServletRequest) super.getRequest();
 26  
     }
 27  
 
 28  
     protected HttpSessionIdManager getManager() {
 29  41
         return manager;
 30  
     }
 31  
 
 32  
     protected HttpSessionId getSessionId(boolean create) {
 33  175
         if (sessionId == null && create) sessionId = manager.createHttpSessionId();
 34  175
         return sessionId != null ? sessionId : HttpSessionId.INVALID;
 35  
     }
 36  
 
 37  
     public HttpSession getSession() {
 38  0
         return getSession(true);
 39  
     }
 40  
 
 41  
     public HttpSession getSession(boolean create) {
 42  136
         if (session != null) return session;
 43  134
         HttpSessionId sessionId = getSessionId(create);
 44  134
         HttpSessionData data = store.getSessionData(getRequest(), sessionId, create);
 45  134
         if (data == null) return null;
 46  63
         if (data.isNew()) data.sentId();
 47  63
         session = new HttpSessionImpl(context, data);
 48  63
         return session;
 49  
     }
 50  
 
 51  
     public String requestedSessionId(HttpServletRequest request) {
 52  0
         return getSessionId(false).getId();
 53  
     }
 54  
 
 55  
     public boolean isRequestedSessionIdFromCookie(HttpServletRequest request) {
 56  0
         return getSessionId(false).getLocation() == HttpSessionId.Location.COOKIE;
 57  
     }
 58  
 
 59  
     public boolean isRequestedSessionIdFromURL(HttpServletRequest request) {
 60  0
         return getSessionId(false).getLocation() == HttpSessionId.Location.URL;
 61  
     }
 62  
 
 63  
     /** @deprecated */
 64  
     public boolean isRequestedSessionIdFromUrl(HttpServletRequest request) {
 65  0
         return getSessionId(false).getLocation() == HttpSessionId.Location.URL;
 66  
     }
 67  
 
 68  
     public boolean isRequestedSessionIdValid(HttpServletRequest request) {
 69  0
         return getSessionId(false).getLocation().isValid();
 70  
     }
 71  
 };
 72