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

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

Login

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