X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Fnetwork%2Fnavigation%2FNavigation.java;h=5e605ab56b1157d70ef178f159c9b62f3b18dae1;hb=869bf9eeef97f5364d46b76f64c94cec67846c28;hp=ba6e730acf7c336de4c44d87aaa8d1f01606d671;hpb=b34ba4499cfbca09bc794a810e460bf1c86dcd34;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 ba6e730..5e605ab 100755 --- a/src/main/java/eu/svjatoslav/commons/network/navigation/Navigation.java +++ b/src/main/java/eu/svjatoslav/commons/network/navigation/Navigation.java @@ -1,7 +1,7 @@ /* * Svjatoslav Commons - shared library of common functionality. * Copyright ©2012-2014, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu - * + * * This program is free software; you can redistribute it and/or * modify it under the terms of version 3 of the GNU Lesser General Public License * or later as published by the Free Software Foundation. @@ -14,16 +14,36 @@ 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; } + private String getGetNotNullString(final String string) { + if (string != null) + return string; + + return ""; + } + + public LocaleConfiguration getLocaleConfiguration() { + return localeConfiguration; + } + public NavigationItem getRootNavigationItem() { return rootNavigationItem; } @@ -49,22 +69,30 @@ 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(); - result.append("
"); + result.append("
"); for (final NavigationItem item : getRootNavigationItem() .getSubElements()) { if (item == selectedItem) - result.append(""); + result.append(""); else - result.append(""); + result.append(""); - result.append("
" + item.getTitle() + "
"); + result.append("
" + item.getTitle(currentLocale) + "
"); result.append("
"); } @@ -73,13 +101,16 @@ public class Navigation { return result.toString(); } - public void setDefaultNavigationItem( + public NavigationItem setDefaultNavigationItem( final NavigationItem defaultNavigationItem) { this.defaultNavigationItem = defaultNavigationItem; + return defaultNavigationItem; } - public void setRootNavigationItem(final NavigationItem rootNavigationItem) { + public NavigationItem setRootNavigationItem( + final NavigationItem rootNavigationItem) { this.rootNavigationItem = rootNavigationItem; + return rootNavigationItem; } }