KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > struts > chain > servlet > SelectLocale


1 /*
2  * Copyright 2003,2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.apache.struts.chain.servlet;
18
19
20 import java.util.Locale JavaDoc;
21 import javax.servlet.http.HttpSession JavaDoc;
22 import org.apache.commons.chain.Context;
23 import org.apache.commons.chain.web.servlet.ServletWebContext;
24 import org.apache.struts.Globals;
25 import org.apache.struts.chain.AbstractSelectLocale;
26
27
28 /**
29  * <p>Select the <code>Locale</code> to be used for this request.</p>
30  *
31  * @version $Rev: 54933 $ $Date: 2004-10-16 18:04:52 +0100 (Sat, 16 Oct 2004) $
32  */

33
34 public class SelectLocale extends AbstractSelectLocale {
35
36
37     // ------------------------------------------------------- Protected Methods
38

39
40     /**
41      * <p>Return the <code>Locale</code> to be used for this request.</p>
42      *
43      * @param context The <code>Context</code> for this request
44      */

45     protected Locale JavaDoc getLocale(Context context) {
46
47         ServletWebContext swcontext = (ServletWebContext) context;
48
49         // Has a Locale already been selected?
50
HttpSession JavaDoc session = swcontext.getRequest().getSession();
51         Locale JavaDoc locale = (Locale JavaDoc) session.getAttribute(Globals.LOCALE_KEY);
52         if (locale != null) {
53             return (locale);
54         }
55
56         // Select and cache the Locale to be used
57
locale = swcontext.getRequest().getLocale();
58         if (locale == null) {
59             locale = Locale.getDefault();
60         }
61         session.setAttribute(Globals.LOCALE_KEY, locale);
62         return (locale);
63
64     }
65
66
67 }
68
Popular Tags