source: tapas/common/implementation/com/ether/Context.java @ 382

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

clean

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