[Yanel-commits] rev 47729 -
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu
michi at wyona.com
michi at wyona.com
Tue Feb 23 14:51:24 CET 2010
Author: michi
Date: 2010-02-23 14:51:24 +0100 (Tue, 23 Feb 2010)
New Revision: 47729
Modified:
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/Menu.java
Log:
get user language introduced
Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/Menu.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/Menu.java 2010-02-23 13:32:17 UTC (rev 47728)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/Menu.java 2010-02-23 13:51:24 UTC (rev 47729)
@@ -40,29 +40,19 @@
*/
public String getYanelMenu(Resource resource, HttpServletRequest request, Map map, String reservedPrefix) throws ServletException, IOException, Exception {
String backToRealm = org.wyona.yanel.core.util.PathUtil.backToRealm(resource.getPath());
- Identity identity = resource.getEnvironment().getIdentity();
- String language = resource.getRequestedLanguage();
- String userID = identity.getUsername();
- if (userID != null) {
- String userLanguage = resource.getRealm().getIdentityManager().getUserManager().getUser(userID).getLanguage();
- if(userLanguage != null) {
- language = userLanguage;
- log.debug("Use user profile language: " + language);
- } else {
- log.debug("Use requested language: " + language);
- }
- }
+ String userLanguage = getUserLanguage(resource);
StringBuilder sb= new StringBuilder();
sb.append("<ul><li>");
sb.append("<div id=\"yaneltoolbar_menutitle\">Yanel</div><ul>");
- sb.append("<li><a href=\"" + backToRealm + reservedPrefix+ "/about.html\">" + getLabel("y:about-yanel", language) + "</a></li>");
- sb.append("<li><a href=\"?yanel.toolbar=off\">" + getLabel("y:turn-off-toolbar", language) + "</a></li>");
+ sb.append("<li><a href=\"" + backToRealm + reservedPrefix+ "/about.html\">" + getLabel("y:about-yanel", userLanguage) + "</a></li>");
+ sb.append("<li><a href=\"?yanel.toolbar=off\">" + getLabel("y:turn-off-toolbar", userLanguage) + "</a></li>");
+ Identity identity = resource.getEnvironment().getIdentity();
if (identity != null) {
- sb.append("<li><a href=\"" + backToRealm + reservedPrefix + "/users/" + identity.getUsername() + ".html\">" + getLabel("y:my-profile", language) + "</a></li>");
+ sb.append("<li><a href=\"" + backToRealm + reservedPrefix + "/users/" + identity.getUsername() + ".html\">" + getLabel("y:my-profile", userLanguage) + "</a></li>");
// TODO: Also consider additional query strings!
- sb.append("<li><a href=\"?yanel.usecase=logout\"><img class=\"yaneltoolbar_menuicon\" src=\"" + backToRealm + reservedPrefix + "/yanel-img/icons/system-log-out.png\" border=\"0\"/>" + getLabel("y:logout", language) + "</a></li>");
+ sb.append("<li><a href=\"?yanel.usecase=logout\"><img class=\"yaneltoolbar_menuicon\" src=\"" + backToRealm + reservedPrefix + "/yanel-img/icons/system-log-out.png\" border=\"0\"/>" + getLabel("y:logout", userLanguage) + "</a></li>");
}
sb.append("</ul>");
@@ -250,4 +240,23 @@
return getLabel(key, "en");
}
}
+
+ /**
+ * Get user language (order: profile, browser, ...)
+ */
+ protected String getUserLanguage(Resource resource) throws Exception {
+ Identity identity = resource.getEnvironment().getIdentity();
+ String language = resource.getRequestedLanguage();
+ String userID = identity.getUsername();
+ if (userID != null) {
+ String userLanguage = resource.getRealm().getIdentityManager().getUserManager().getUser(userID).getLanguage();
+ if(userLanguage != null) {
+ language = userLanguage;
+ log.debug("Use user profile language: " + language);
+ } else {
+ log.debug("Use requested language: " + language);
+ }
+ }
+ return language;
+ }
}
More information about the Yanel-commits
mailing list