KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jcorporate > expresso > core > jsdkapi > ServletAPI2_1Session


1 /* ====================================================================
2  * The Jcorporate Apache Style Software License, Version 1.2 05-07-2002
3  *
4  * Copyright (c) 1995-2002 Jcorporate Ltd. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  *
13  * 2. Redistributions in binary form must reproduce the above copyright
14  * notice, this list of conditions and the following disclaimer in
15  * the documentation and/or other materials provided with the
16  * distribution.
17  *
18  * 3. The end-user documentation included with the redistribution,
19  * if any, must include the following acknowledgment:
20  * "This product includes software developed by Jcorporate Ltd.
21  * (http://www.jcorporate.com/)."
22  * Alternately, this acknowledgment may appear in the software itself,
23  * if and wherever such third-party acknowledgments normally appear.
24  *
25  * 4. "Jcorporate" and product names such as "Expresso" must
26  * not be used to endorse or promote products derived from this
27  * software without prior written permission. For written permission,
28  * please contact info@jcorporate.com.
29  *
30  * 5. Products derived from this software may not be called "Expresso",
31  * or other Jcorporate product names; nor may "Expresso" or other
32  * Jcorporate product names appear in their name, without prior
33  * written permission of Jcorporate Ltd.
34  *
35  * 6. No product derived from this software may compete in the same
36  * market space, i.e. framework, without prior written permission
37  * of Jcorporate Ltd. For written permission, please contact
38  * partners@jcorporate.com.
39  *
40  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
41  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
42  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
43  * DISCLAIMED. IN NO EVENT SHALL JCORPORATE LTD OR ITS CONTRIBUTORS
44  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
45  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
46  * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
47  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
48  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
49  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
50  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51  * SUCH DAMAGE.
52  * ====================================================================
53  *
54  * This software consists of voluntary contributions made by many
55  * individuals on behalf of the Jcorporate Ltd. Contributions back
56  * to the project(s) are encouraged when you make modifications.
57  * Please send them to support@jcorporate.com. For more information
58  * on Jcorporate Ltd. and its products, please see
59  * <http://www.jcorporate.com/>.
60  *
61  * Portions of this software are based upon other open source
62  * products and are subject to their respective licenses.
63  */

64
65 package com.jcorporate.expresso.core.jsdkapi;
66
67 /**
68  * ServletAPI2_1Session.java
69  *
70  * Copyright 2000, 2001 Jcorporate Ltd.
71  *
72  */

73
74 import javax.servlet.ServletException JavaDoc;
75 import javax.servlet.http.HttpServletRequest JavaDoc;
76 import javax.servlet.http.HttpSession JavaDoc;
77 import java.io.Serializable JavaDoc;
78 import java.util.Enumeration JavaDoc;
79
80
81 /**
82  * @deprecated since 5.6, Servlet 2.1 is not supported
83  */

84 public class ServletAPI2_1Session
85         implements APIAwareSession {
86     private static final String JavaDoc thisClass = ServletAPI2_1Session.class.getName() + ".";
87
88
89     /**
90      * Retrieve any other object
91      *
92      * @param req The servlet request object
93      * @param code the attribute key
94      * @return the attribute value object
95      * @throws ServletException upon error
96      */

97     public Serializable JavaDoc getAttribute(HttpServletRequest JavaDoc req, String JavaDoc code)
98             throws ServletException JavaDoc {
99         String JavaDoc myName = thisClass +
100                 "getAttribute(HttpServletRequest, String)";
101
102         if (req == null) {
103             throw new ServletException JavaDoc(myName + ":Request may not be null");
104         }
105
106         HttpSession JavaDoc session = req.getSession(true);
107         Object JavaDoc o = session.getValue(code);
108
109         if (o == null) {
110             return null;
111         }
112         if (!(o instanceof Serializable JavaDoc)) {
113             throw new ServletException JavaDoc(myName +
114                     ":Object stored in session with key '" +
115                     code +
116                     "' was not Serializable - it was of class '" +
117                     o.getClass().getName() + "'");
118         }
119
120         return (Serializable JavaDoc) o;
121     } /* getAttribute(HttpServletRequest, String) */
122
123
124     /**
125      * Retrieve all attribute names
126      *
127      * @param req the servlet request object
128      * @return an Enumeration of all the names in the session
129      * @throws ServletException upon error
130      */

131     public Enumeration JavaDoc getAttributeNames(HttpServletRequest JavaDoc req)
132             throws ServletException JavaDoc {
133         HttpSession JavaDoc session = req.getSession(true);
134
135         return session.getAttributeNames();
136     }
137
138     /**
139      * Store a String (wrapped in a SerializableString) in the session
140      *
141      * @param req The HttpServletRequest object
142      * @param code the attribute code
143      * @param value the attribute value
144      */

145     public void setAttribute(HttpServletRequest JavaDoc req, String JavaDoc code,
146                              Serializable JavaDoc value)
147             throws ServletException JavaDoc {
148         HttpSession JavaDoc session = req.getSession(true);
149         session.putValue(code, value);
150     } /* setAttribute(HttpServletRequest, String, Serializable) */
151
152
153     /**
154      * Remove an attribute from the session
155      *
156      * @param req the servletrequest object
157      * @param code the attribute key
158      * @throws ServletException upon error
159      */

160     public void removeAttribute(HttpServletRequest JavaDoc req, String JavaDoc code)
161             throws ServletException JavaDoc {
162         HttpSession JavaDoc session = req.getSession(true);
163         session.removeValue(code);
164     } /* removeAttribute(HttpServletRequest, String) */
165
166
167     /**
168      * Invalidate the session
169      *
170      * @param req the servlet request object
171      * @throws ServletException upon error
172      */

173
174     public void invalidate(HttpServletRequest JavaDoc req) {
175         HttpSession JavaDoc session = req.getSession(true);
176         session.invalidate();
177     } /* invalidate(HttpServletRequest) */
178
179     /**
180      * Retrieve the session id
181      *
182      * @param req the servlet request
183      * @return the session id string
184      * @throws ServletException upon error
185      */

186     public String JavaDoc getId(HttpServletRequest JavaDoc req) {
187         HttpSession JavaDoc session = req.getSession(true);
188
189         return session.getId();
190     } /* invalidate(HttpServletRequest) */
191
192     /**
193      * Retrieve the context path
194      *
195      * @param req the servlet request object
196      * @return the string for the servlet context path
197      * @throws ServletException upon error
198      */

199     public String JavaDoc getContextPath(HttpServletRequest JavaDoc req) {
200         String JavaDoc uri = req.getRequestURI();
201         int lastPos = uri.lastIndexOf("/");
202
203         if (lastPos > 0) {
204             return uri.substring(0, lastPos);
205         } else {
206             return uri;
207         }
208     } /* getContextPath(HttpServletRequest) */
209
210 }
211
212 /* ServletAPI2_1Session */
Popular Tags