KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jonas > webapp > jonasadmin > ApplicationLocales


1 /*
2  * $Header: /cvsroot/jonas/jonas/src/org/objectweb/jonas/webapp/jonasadmin/ApplicationLocales.java,v 1.2 2004/09/15 12:19:50 benoitf Exp $
3  * $Revision: 1.2 $
4  * $Date: 2004/09/15 12:19:50 $
5  *
6  * ====================================================================
7  *
8  * The Apache Software License, Version 1.1
9  *
10  * Copyright (c) 2001 The Apache Software Foundation. All rights
11  * reserved.
12  *
13  * Redistribution and use in source and binary forms, with or without
14  * modification, are permitted provided that the following conditions
15  * are met:
16  *
17  * 1. Redistributions of source code must retain the above copyright
18  * notice, this list of conditions and the following disclaimer.
19  *
20  * 2. Redistributions in binary form must reproduce the above copyright
21  * notice, this list of conditions and the following disclaimer in
22  * the documentation and/or other materials provided with the
23  * distribution.
24  *
25  * 3. The end-user documentation included with the redistribution, if
26  * any, must include the following acknowlegement:
27  * "This product includes software developed by the
28  * Apache Software Foundation (http://www.apache.org/)."
29  * Alternately, this acknowlegement may appear in the software itself,
30  * if and wherever such third-party acknowlegements normally appear.
31  *
32  * 4. The names "The Jakarta Project", "Struts", and "Apache Software
33  * Foundation" must not be used to endorse or promote products derived
34  * from this software without prior written permission. For written
35  * permission, please contact apache@apache.org.
36  *
37  * 5. Products derived from this software may not be called "Apache"
38  * nor may "Apache" appear in their names without prior written
39  * permission of the Apache Group.
40  *
41  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
42  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
43  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
44  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
45  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
46  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
47  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
48  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
49  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
50  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
51  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
52  * SUCH DAMAGE.
53  * ====================================================================
54  *
55  * This software consists of voluntary contributions made by many
56  * individuals on behalf of the Apache Software Foundation. For more
57  * information on the Apache Software Foundation, please see
58  * <http://www.apache.org/>.
59  *
60  */

61
62 package org.objectweb.jonas.webapp.jonasadmin;
63
64 import java.util.ArrayList JavaDoc;
65 import java.util.List JavaDoc;
66 import java.util.Locale JavaDoc;
67 import java.util.ResourceBundle JavaDoc;
68
69 import org.apache.struts.Globals;
70 import org.apache.struts.action.ActionServlet;
71 import org.apache.struts.util.MessageResources;
72
73 /**
74  * Class to hold the Locales supported by this package.
75  *
76  * @author Patrick Luby
77  * @author Craig R. McClanahan
78  * @version $Revision: 1.2 $ $Date: 2004/09/15 12:19:50 $
79  */

80
81 public final class ApplicationLocales {
82
83 // ----------------------------------------------------------- Constructors
84

85     /**
86      * Initialize the set of Locales supported by this application.
87      *
88      * @param servlet ActionServlet we are associated with
89      */

90     public ApplicationLocales(ActionServlet servlet) {
91
92         super();
93         Locale JavaDoc list[] = Locale.getAvailableLocales();
94         MessageResources resources = (MessageResources)
95          servlet.getServletContext().getAttribute(Globals.MESSAGES_KEY);
96         if (resources == null) {
97             return;
98         }
99         String JavaDoc config = resources.getConfig();
100         if (config == null) {
101             return;
102         }
103         for (int i = 0; i < list.length; i++) {
104             ResourceBundle JavaDoc bundle = ResourceBundle.getBundle(config, list[i]);
105             if (bundle == null) {
106                 continue;
107             }
108             if (list[i].equals(bundle.getLocale())) {
109                 localeLabels.add(list[i].getDisplayName());
110                 localeValues.add(list[i].toString());
111                 supportedLocales.add(list[i]);
112             }
113         }
114
115     }
116
117 // ----------------------------------------------------- Instance Variables
118

119     /**
120      * The set of Locale labels supported by this application.
121      */

122     protected ArrayList JavaDoc localeLabels = new ArrayList JavaDoc();
123
124     /**
125      * The set of Locale values supported by this application.
126      */

127     protected ArrayList JavaDoc localeValues = new ArrayList JavaDoc();
128
129     /**
130      * The set of supported Locales for this application.
131      */

132     protected ArrayList JavaDoc supportedLocales = new ArrayList JavaDoc();
133
134 // --------------------------------------------------------- Public Methods
135

136     /**
137      * Return the set of Locale labels supported by this application.
138      */

139     public List JavaDoc getLocaleLabels() {
140
141         return (localeLabels);
142
143     }
144
145     /**
146      * Return the set of Locale values supported by this application.
147      */

148     public List JavaDoc getLocaleValues() {
149
150         return (localeValues);
151
152     }
153
154     /**
155      * Return the set of Locales supported by this application.
156      */

157     public List JavaDoc getSupportedLocales() {
158
159         return (supportedLocales);
160
161     }
162
163 }
164
Popular Tags