source: ether_megapoli/trunk/common/implementation/com/medias/Context.java @ 139

Last change on this file since 139 was 139, checked in by vmipsl, 13 years ago

Import medias files and cleanup

File size: 4.5 KB
Line 
1package com.medias;
2
3import org.apache.struts.Globals;
4import org.jetbrains.annotations.NotNull;
5
6import javax.servlet.http.HttpServletRequest;
7import javax.servlet.http.HttpSession;
8import java.util.Calendar;
9import java.util.Date;
10import java.util.Locale;
11import java.util.ResourceBundle;
12
13/**
14 * Created by IntelliJ IDEA.
15 * User: combaz
16 * Date: 27 janv. 2005
17 * Time: 15:45:10
18 *
19 * Permet d'accéder au contexte courant pour chaque page de l'appli
20 */
21
22
23public class Context
24{
25//      private static String projet="megapoli";
26
27
28        /**
29         * Permet d'obtenir la langue courante.
30         * @param request : la requête courante
31         * @return la langue courante.
32         */
33        public static String getLangue(HttpServletRequest request) {
34                String lang=(String) request.getSession().getAttribute("lang");
35                if (lang == null) {
36                    // Pour initialiser la langue en Anglais
37                    lang=request.getLocale().getLanguage();
38                   
39                    // Pour initialiser la langue en Français
40                    //lang = Locale.FRENCH.getLanguage();
41                }
42                return lang;
43        }
44
45    /**
46     * Return the current Locale
47     *
48     * @param request
49     * @return
50     */
51    public static Locale getLocale( @NotNull final HttpServletRequest request )
52    {
53        final HttpSession session = request.getSession( true );
54        Locale locale = (Locale) session.getAttribute( Globals.LOCALE_KEY );
55        if( locale == null )
56            locale = request.getLocale();
57
58        if( request.getParameter( "locale" ) != null )
59            locale = new Locale( request.getParameter( "locale" ) );
60
61        return locale;
62    }
63
64        public static String getLastModified(HttpServletRequest request,
65                                             javax.servlet.ServletContext application) {
66                Date d =new java.util.Date(new java.io.File(
67                    application.getRealPath(request.getServletPath())).lastModified());
68                return DateTime.dateToString(d,DateTime.formatDateStandard);
69        }
70
71        /**
72         * Permet d'obtenir la date courante, sous la forme YYYYMMDD
73         * @return la date courante
74         */
75        public static String getSimpleDate() {
76                java.util.Calendar c = java.util.Calendar.getInstance();
77                String t= "0"+(c.get(Calendar.MONTH)+1);
78                return c.get(Calendar.YEAR)+t.substring(t.length()-2)+c.get(Calendar.DAY_OF_MONTH);
79        }
80
81        /**
82         * Désigne l'adresse mail du webmaster
83         */
84        public static String getWebmaster(HttpServletRequest request) {
85                String webmaster = (String)request.getSession().getServletContext().getAttribute("APP_WEBMASTER");
86                return webmaster;
87        }
88       
89        /**
90         * Permet de définir le nom de la racine à partir de laquelle les paths sont calculés.
91         * @return le nom de la racine.
92         */
93        public static String getWebroot(HttpServletRequest request) {
94                String path = request.getSession().getServletContext().getRealPath("");
95                return path.substring(path.lastIndexOf("/")+1);
96        }
97
98        /**
99         * Permet d'obtenir l'uri de la page courante.
100         * @param request : la requête courante
101         * @return l'uri de la page courante
102         */
103  public static String getPageURI(HttpServletRequest request) {
104          return request.getRequestURI().substring(request.getRequestURI().indexOf('/')+1);
105  }
106
107        /**
108         * Permet d'obtenir l'URI relative de la page courante.
109         * Cette méthode est en particulier utilisée pour retomber sur la page courante lorsqu'on
110         * change de langue.
111         * @param request
112         * @return
113         */
114        public static String getRelativePageURI(HttpServletRequest request) {
115                String pageUri = getPageURI(request);
116                if (pageUri.indexOf('/') != -1) {
117                    pageUri = pageUri.substring(pageUri.indexOf('/'));
118        }
119                return pageUri;
120        }
121
122
123        public static String getRelativePath(HttpServletRequest request) {
124                String uri = getPageURI(request);
125                if (uri.indexOf('/') != -1) {
126                    uri = uri.substring(uri.indexOf('/'),uri.lastIndexOf('/'));
127                }
128                return uri;
129        }
130       
131        public static String getAnInternationalizeString(String bundle, String key) {
132                ResourceBundle resourceBundle = null;
133                String lang = Constantes.lang;
134                String message = null;
135                if (lang.trim().equals("en")) {
136                        resourceBundle = ResourceBundle.getBundle(bundle, Locale.ENGLISH);
137                        message = resourceBundle.getString(key);
138                } else {
139                        resourceBundle = ResourceBundle.getBundle(bundle, Locale.FRENCH);
140                        message = resourceBundle.getString(key);
141                }
142                if (message == null) {
143                        resourceBundle = ResourceBundle.getBundle(bundle, Locale.FRENCH);
144                        message = resourceBundle.getString(key);
145                }
146                return message;
147        }
148       
149        public static String getString(String bundle, String key) {
150                ResourceBundle resourceBundle = ResourceBundle.getBundle(bundle);
151                String message = resourceBundle.getString(key);
152                return message;
153        }
154}
Note: See TracBrowser for help on using the repository browser.