import javax.servlet.http.HttpSession;
import org.cacert.gigi.PermissionCheckable;
-import org.cacert.gigi.User;
+import org.cacert.gigi.dbObjects.User;
import org.cacert.gigi.localisation.Language;
import org.cacert.gigi.output.template.Template;
+import org.cacert.gigi.util.AuthorizationContext;
/**
* This class encapsulates a sub page of Gigi. A template residing nearby this
return title;
}
- public void setTitle(String title) {
- this.title = title;
- }
-
public static Language getLanguage(ServletRequest req) {
HttpSession session = ((HttpServletRequest) req).getSession();
- Locale sessval = (Locale) session.getAttribute(Language.SESSION_ATTRIB_NAME);
- if (sessval != null) {
- Language l = Language.getInstance(sessval);
- if (l != null) {
- return l;
+ synchronized (session) {
+
+ Locale sessval = (Locale) session.getAttribute(Language.SESSION_ATTRIB_NAME);
+ if (sessval != null) {
+ Language l = Language.getInstance(sessval);
+ if (l != null) {
+ return l;
+ }
}
- }
- Enumeration<Locale> langs = req.getLocales();
- while (langs.hasMoreElements()) {
- Locale c = langs.nextElement();
- Language l = Language.getInstance(c);
- if (l != null) {
- session.setAttribute(Language.SESSION_ATTRIB_NAME, l.getLocale());
- return l;
+ Enumeration<Locale> langs = req.getLocales();
+ while (langs.hasMoreElements()) {
+ Locale c = langs.nextElement();
+ Language l = Language.getInstance(c);
+ if (l != null) {
+ session.setAttribute(Language.SESSION_ATTRIB_NAME, l.getLocale());
+ return l;
+ }
}
+ session.setAttribute(Language.SESSION_ATTRIB_NAME, Locale.ENGLISH);
+ return Language.getInstance(Locale.ENGLISH);
}
- session.setAttribute(Language.SESSION_ATTRIB_NAME, Locale.ENGLISH);
- return Language.getInstance(Locale.ENGLISH);
}
public static String translate(ServletRequest req, String string) {
}
@Override
- public boolean isPermitted(User u) {
- return !needsLogin() || u != null;
+ public boolean isPermitted(AuthorizationContext ac) {
+ return !needsLogin() || ac != null;
}
}