Created dedicated locale configuration handler.
[svjatoslav_commons.git] / src / main / java / eu / svjatoslav / commons / network / navigation / Navigation.java
index 3a2877f..5e605ab 100755 (executable)
@@ -14,12 +14,21 @@ import java.net.URL;
 
 import javax.servlet.http.HttpServletRequest;
 
+import eu.svjatoslav.commons.network.Locale;
+import eu.svjatoslav.commons.network.LocaleConfiguration;
+
 public class Navigation {
 
        private NavigationItem rootNavigationItem;
 
        private NavigationItem defaultNavigationItem;
 
+       private final LocaleConfiguration localeConfiguration;
+
+       public Navigation(final LocaleConfiguration localeConfiguration) {
+               this.localeConfiguration = localeConfiguration;
+       }
+
        public NavigationItem getDefaultNavigationItem() {
                return defaultNavigationItem;
        }
@@ -31,6 +40,10 @@ public class Navigation {
                return "";
        }
 
+       public LocaleConfiguration getLocaleConfiguration() {
+               return localeConfiguration;
+       }
+
        public NavigationItem getRootNavigationItem() {
                return rootNavigationItem;
        }
@@ -56,6 +69,9 @@ public class Navigation {
 
        public String getTopMenu(final HttpServletRequest request) {
 
+               final Locale currentLocale = localeConfiguration
+                               .detectCurrentLocale(request);
+
                final NavigationItem selectedItem = getSelectedItem(request);
                final StringBuffer result = new StringBuffer();
 
@@ -76,7 +92,7 @@ public class Navigation {
                                                + getGetNotNullString(item.getCssPrefix())
                                                + "menuItem\" href=\"" + item.getLinkUrl() + "\">");
 
-                       result.append("<div>" + item.getTitle() + "</div>");
+                       result.append("<div>" + item.getTitle(currentLocale) + "</div>");
                        result.append("</a>");
                }