X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Fnetwork%2Fnavigation%2FNavigation.java;h=6ef5e680e7b2290634b0bf0345c576e984ac6e4d;hb=eed1c70de986cf74cf15de291abd7495e4a6bcd1;hp=3a2877f4b9182f66b2b19fc4a5e9a2f96a7adef6;hpb=e49d583cb64523c584cd848c8a421140c5193514;p=svjatoslav_commons.git diff --git a/src/main/java/eu/svjatoslav/commons/network/navigation/Navigation.java b/src/main/java/eu/svjatoslav/commons/network/navigation/Navigation.java index 3a2877f..6ef5e68 100755 --- a/src/main/java/eu/svjatoslav/commons/network/navigation/Navigation.java +++ b/src/main/java/eu/svjatoslav/commons/network/navigation/Navigation.java @@ -11,16 +11,26 @@ package eu.svjatoslav.commons.network.navigation; import java.net.MalformedURLException; import java.net.URL; +import java.util.List; import javax.servlet.http.HttpServletRequest; -public class Navigation { +import eu.svjatoslav.commons.network.Locale; +import eu.svjatoslav.commons.network.LocaleConfiguration; - private NavigationItem rootNavigationItem; +public class Navigation { - private NavigationItem defaultNavigationItem; + private NI rootNavigationItem; - public NavigationItem getDefaultNavigationItem() { + private NI defaultNavigationItem; + + protected final LocaleConfiguration localeConfiguration; + + public Navigation(final LocaleConfiguration localeConfiguration) { + this.localeConfiguration = localeConfiguration; + } + + public NI getDefaultNavigationItem() { return defaultNavigationItem; } @@ -31,17 +41,21 @@ public class Navigation { return ""; } - public NavigationItem getRootNavigationItem() { + public LocaleConfiguration getLocaleConfiguration() { + return localeConfiguration; + } + + public NI getRootNavigationItem() { return rootNavigationItem; } - public NavigationItem getSelectedItem(final HttpServletRequest request) { + public NI getSelectedItem(final HttpServletRequest request) { final String requestUrl = request.getRequestURL().toString(); try { final String requestPath = new URL(requestUrl).getPath(); - final NavigationItem match = rootNavigationItem + final NI match = (NI) rootNavigationItem .getMatchingNavigationItem(requestPath); if (match != null) @@ -56,14 +70,17 @@ public class Navigation { public String getTopMenu(final HttpServletRequest request) { - final NavigationItem selectedItem = getSelectedItem(request); + final Locale currentLocale = localeConfiguration + .detectCurrentLocale(request); + + final NI selectedItem = getSelectedItem(request); final StringBuffer result = new StringBuffer(); result.append("
"); - for (final NavigationItem item : getRootNavigationItem() + for (final NI item : (List) getRootNavigationItem() .getSubElements()) { if (item == selectedItem) @@ -76,7 +93,7 @@ public class Navigation { + getGetNotNullString(item.getCssPrefix()) + "menuItem\" href=\"" + item.getLinkUrl() + "\">"); - result.append("
" + item.getTitle() + "
"); + result.append("
" + item.getTitle(currentLocale) + "
"); result.append(""); } @@ -85,14 +102,12 @@ public class Navigation { return result.toString(); } - public NavigationItem setDefaultNavigationItem( - final NavigationItem defaultNavigationItem) { + public NI setDefaultNavigationItem(final NI defaultNavigationItem) { this.defaultNavigationItem = defaultNavigationItem; return defaultNavigationItem; } - public NavigationItem setRootNavigationItem( - final NavigationItem rootNavigationItem) { + public NI setRootNavigationItem(final NI rootNavigationItem) { this.rootNavigationItem = rootNavigationItem; return rootNavigationItem; }