01: /*
02: * Copyright 2006 Pentaho Corporation. All rights reserved.
03: * This software was developed by Pentaho Corporation and is provided under the terms
04: * of the Mozilla Public License, Version 1.1, or any later version. You may not use
05: * this file except in compliance with the license. If you need a copy of the license,
06: * please go to http://www.mozilla.org/MPL/MPL-1.1.txt. The Original Code is the Pentaho
07: * BI Platform. The Initial Developer is Pentaho Corporation.
08: *
09: * Software distributed under the Mozilla Public License is distributed on an "AS IS"
10: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
11: * the license for the specific language governing your rights and limitations.
12: *
13: * @created Jul 11, 2005
14: * @author James Dixon
15: *
16: */
17:
18: package org.pentaho.core.session;
19:
20: import org.apache.commons.collections.iterators.EnumerationIterator;
21: import java.util.Iterator;
22: import java.util.Locale;
23:
24: import javax.servlet.http.HttpSession;
25:
26: import org.apache.commons.logging.Log;
27: import org.apache.commons.logging.LogFactory;
28: import org.pentaho.core.system.PentahoSystem;
29:
30: public class PentahoHttpSession extends BaseSession {
31:
32: private static final long serialVersionUID = 1500696455420691764L;
33:
34: private HttpSession session;
35:
36: private static final Log logger = LogFactory
37: .getLog(PentahoHttpSession.class);
38:
39: public Log getLogger() {
40: return logger;
41: }
42:
43: public PentahoHttpSession(String userName, HttpSession session,
44: Locale locale) {
45: super (userName, session.getId(), locale);
46:
47: this .session = session;
48:
49: // run any session initialization actions
50: PentahoSystem.sessionStartup(this );
51: }
52:
53: public Iterator getAttributeNames() {
54:
55: return new EnumerationIterator(session.getAttributeNames());
56: }
57:
58: public Object getAttribute(String attributeName) {
59: return session.getAttribute(attributeName);
60: }
61:
62: public void setAttribute(String attributeName, Object value) {
63: session.setAttribute(attributeName, value);
64: }
65:
66: public Object removeAttribute(String attributeName) {
67: Object result = getAttribute(attributeName);
68: session.removeAttribute(attributeName);
69: return result;
70: }
71: }
|