source: ether_2012/common/implementation/com/ether/Context.java @ 319

Last change on this file since 319 was 319, checked in by vmipsl, 12 years ago

Import du projet Ether pour le nouveau look 2012

File size: 3.5 KB
Line 
1package com.ether;
2
3import org.jetbrains.annotations.NotNull;
4
5import javax.servlet.http.HttpServletRequest;
6import javax.servlet.http.HttpSession;
7import java.util.Calendar;
8import java.util.Locale;
9import java.util.ResourceBundle;
10
11public class Context
12{
13//      private static String projet="megapoli";
14
15
16    /**
17     * Permet d'obtenir la langue courante.
18     *
19     * @param request : la requête courante
20     * @return la langue courante.
21     */
22    public static String getLangue( HttpServletRequest request )
23    {
24        String lang = (String) request.getSession().getAttribute( "lang" );
25        if( lang == null )
26        {
27            // Pour initialiser la langue en Anglais
28            lang = request.getLocale().getLanguage();
29
30            // Pour initialiser la langue en Français
31            //lang = Locale.FRENCH.getLanguage();
32        }
33        return lang;
34    }
35
36    /**
37     * Return the current Locale
38     *
39     * @param request
40     * @return
41     */
42    public static Locale getLocale( @NotNull final HttpServletRequest request )
43    {
44        final HttpSession session = request.getSession( true );
45        Locale locale = (Locale) session.getAttribute( "LOCALE" );
46        if( locale == null )
47            locale = request.getLocale();
48
49        if( request.getParameter( "language" ) != null )
50            locale = new Locale( request.getParameter( "language" ) );
51
52        return locale;
53    }
54
55    /**
56     * Permet d'obtenir la date courante, sous la forme YYYYMMDD
57     *
58     * @return la date courante
59     */
60    public static String getSimpleDate()
61    {
62        java.util.Calendar c = java.util.Calendar.getInstance();
63        String t = "0" + ( c.get( Calendar.MONTH ) + 1 );
64        return c.get( Calendar.YEAR ) + t.substring( t.length() - 2 ) + c.get( Calendar.DAY_OF_MONTH );
65    }
66
67    /**
68     * Désigne l'adresse mail du webmaster
69     */
70    public static String getWebmaster( HttpServletRequest request )
71    {
72        String webmaster = (String) request.getSession().getServletContext().getAttribute( "APP_WEBMASTER" );
73        return webmaster;
74    }
75
76    /**
77     * Permet de définir le nom de la racine à partir de laquelle les paths sont calculés.
78     *
79     * @return le nom de la racine.
80     */
81    public static String getWebroot( HttpServletRequest request )
82    {
83        String path = request.getSession().getServletContext().getRealPath( "" );
84        return path.substring( path.lastIndexOf( "/" ) + 1 );
85    }
86
87    /**
88     * Permet d'obtenir l'uri de la page courante.
89     *
90     * @param request : la requête courante
91     * @return l'uri de la page courante
92     */
93    public static String getPageURI( HttpServletRequest request )
94    {
95        return request.getRequestURI().substring( request.getRequestURI().indexOf( '/' ) + 1 );
96    }
97
98    /**
99     * Permet d'obtenir l'URI relative de la page courante.
100     * Cette méthode est en particulier utilisée pour retomber sur la page courante lorsqu'on
101     * change de langue.
102     *
103     * @param request
104     * @return
105     */
106    public static String getRelativePageURI( HttpServletRequest request )
107    {
108        String pageUri = getPageURI( request );
109        if( pageUri.indexOf( '/' ) != -1 )
110        {
111            pageUri = pageUri.substring( pageUri.indexOf( '/' ) );
112        }
113        return pageUri;
114    }
115
116
117    public static String getRelativePath( HttpServletRequest request )
118    {
119        String uri = getPageURI( request );
120        if( uri.indexOf( '/' ) != -1 )
121        {
122            uri = uri.substring( uri.indexOf( '/' ), uri.lastIndexOf( '/' ) );
123        }
124        return uri;
125    }
126
127}
Note: See TracBrowser for help on using the repository browser.