* OpenMir.java - main servlet for open posting and comment feature to articles
*
* @author RK 1999-2001, the mir-coders group
- * @version $Id: OpenMir.java,v 1.28 2003/03/15 02:07:35 idfx Exp $
+ * @version $Id: OpenMir.java,v 1.29 2003/03/16 13:10:45 zapata Exp $
*
*/
session = aRequest.getSession();
- if(session.getAttribute("Language")==null){
- if (aRequest.getParameter("language")!=null) {
- setLanguage(session, aRequest.getParameter("language"));
- }
- else {
- setLanguage(session, getAcceptLanguage(aRequest));
- }
- }
-
- if (session.getAttribute("language")!=null)
- setLocale(session, new Locale((String) session.getAttribute("language"), "") );
+ checkLanguage(session, aRequest);
//make sure client browsers don't cache anything
setNoCaching(aResponse);
return "OpenMir "+configuration.getString("Mir.Version");
}
+ private void checkLanguage(HttpSession session, HttpServletRequest aRequest) {
+ // a lang parameter always sets the language
+ String lang = aRequest.getParameter("language");
+
+ if (lang != null) {
+ logger.info("selected language " + lang + " overrides accept-language");
+ setLanguage(session, lang);
+ setLocale(session, new Locale(lang, ""));
+ }
+ // otherwise store language from accept header in session
+ else if (session.getAttribute("Language") == null) {
+ logger.info("accept-language is " + aRequest.getLocale().getLanguage());
+ setLanguage(session, aRequest.getLocale().getLanguage());
+ setLocale(session, aRequest.getLocale());
+ }
+ }
}