projects
/
svjatoslav_commons.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
improved javadoc
[svjatoslav_commons.git]
/
src
/
main
/
java
/
eu
/
svjatoslav
/
commons
/
network
/
navigation
/
Navigation.java
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
8b049bb
..
ff16177
100755
(executable)
--- a/
src/main/java/eu/svjatoslav/commons/network/navigation/Navigation.java
+++ b/
src/main/java/eu/svjatoslav/commons/network/navigation/Navigation.java
@@
-11,19
+11,25
@@
package eu.svjatoslav.commons.network.navigation;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequest;
-import eu.svjatoslav.commons.network.Locale;
-import eu.svjatoslav.commons.network.LocaleHelper;
+import eu.svjatoslav.commons.network.LocaleConfiguration;
-public class Navigation {
+public class Navigation
<NI extends NavigationItem>
{
- private N
avigationItem
rootNavigationItem;
+ private N
I
rootNavigationItem;
- private N
avigationItem
defaultNavigationItem;
+ private N
I
defaultNavigationItem;
- public NavigationItem getDefaultNavigationItem() {
+ protected final LocaleConfiguration localeConfiguration;
+
+ public Navigation(final LocaleConfiguration localeConfiguration) {
+ this.localeConfiguration = localeConfiguration;
+ }
+
+ public NI getDefaultNavigationItem() {
return defaultNavigationItem;
}
return defaultNavigationItem;
}
@@
-34,17
+40,22
@@
public class Navigation {
return "";
}
return "";
}
- public NavigationItem getRootNavigationItem() {
+ public LocaleConfiguration getLocaleConfiguration() {
+ return localeConfiguration;
+ }
+
+ public NI getRootNavigationItem() {
return rootNavigationItem;
}
return rootNavigationItem;
}
- public N
avigationItem
getSelectedItem(final HttpServletRequest request) {
+ public N
I
getSelectedItem(final HttpServletRequest request) {
final String requestUrl = request.getRequestURL().toString();
try {
final String requestPath = new URL(requestUrl).getPath();
final String requestUrl = request.getRequestURL().toString();
try {
final String requestPath = new URL(requestUrl).getPath();
- final NavigationItem match = rootNavigationItem
+ @SuppressWarnings("unchecked")
+ final NI match = (NI) rootNavigationItem
.getMatchingNavigationItem(requestPath);
if (match != null)
.getMatchingNavigationItem(requestPath);
if (match != null)
@@
-57,18
+68,20
@@
public class Navigation {
return getDefaultNavigationItem();
}
return getDefaultNavigationItem();
}
+ @SuppressWarnings("unchecked")
public String getTopMenu(final HttpServletRequest request) {
public String getTopMenu(final HttpServletRequest request) {
- final Locale currentLocale = LocaleHelper.detectLocale(request);
+ final String currentLocale = localeConfiguration
+ .detectCurrentLocale(request);
- final N
avigationItem
selectedItem = getSelectedItem(request);
+ final N
I
selectedItem = getSelectedItem(request);
final StringBuffer result = new StringBuffer();
result.append("<div class=\""
+ getGetNotNullString(rootNavigationItem.getCssPrefix())
+ "navigationMenu\">");
final StringBuffer result = new StringBuffer();
result.append("<div class=\""
+ getGetNotNullString(rootNavigationItem.getCssPrefix())
+ "navigationMenu\">");
- for (final N
avigationItem item :
getRootNavigationItem()
+ for (final N
I item : (List<NI>)
getRootNavigationItem()
.getSubElements()) {
if (item == selectedItem)
.getSubElements()) {
if (item == selectedItem)
@@
-90,14
+103,12
@@
public class Navigation {
return result.toString();
}
return result.toString();
}
- public NavigationItem setDefaultNavigationItem(
- final NavigationItem defaultNavigationItem) {
+ public NI setDefaultNavigationItem(final NI defaultNavigationItem) {
this.defaultNavigationItem = defaultNavigationItem;
return defaultNavigationItem;
}
this.defaultNavigationItem = defaultNavigationItem;
return defaultNavigationItem;
}
- public NavigationItem setRootNavigationItem(
- final NavigationItem rootNavigationItem) {
+ public NI setRootNavigationItem(final NI rootNavigationItem) {
this.rootNavigationItem = rootNavigationItem;
return rootNavigationItem;
}
this.rootNavigationItem = rootNavigationItem;
return rootNavigationItem;
}