projects
/
svjatoslav_commons.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
check matching navigation items recursively
[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
3a07bbd
..
408372a
100755
(executable)
--- a/
src/main/java/eu/svjatoslav/commons/network/navigation/Navigation.java
+++ b/
src/main/java/eu/svjatoslav/commons/network/navigation/Navigation.java
@@
-3,6
+3,8
@@
package eu.svjatoslav.commons.network.navigation;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.MalformedURLException;
import java.net.URL;
+import javax.servlet.http.HttpServletRequest;
+
public class Navigation {
private NavigationItem rootNavigationItem;
public class Navigation {
private NavigationItem rootNavigationItem;
@@
-17,14
+19,17
@@
public class Navigation {
return rootNavigationItem;
}
return rootNavigationItem;
}
- public NavigationItem getSelectedItem(final String requestUrl) {
+ public NavigationItem getSelectedItem(final HttpServletRequest request) {
+ final String requestUrl = request.getRequestURL().toString();
try {
final String requestPath = new URL(requestUrl).getPath();
try {
final String requestPath = new URL(requestUrl).getPath();
- for (final NavigationItem item : rootNavigationItem.subElements)
- if (item.matchesUrl(requestPath))
- return item;
+ final NavigationItem match = rootNavigationItem
+ .getMatchingNavigationItem(requestPath);
+
+ if (match != null)
+ return match;
} catch (final MalformedURLException e) {
System.out.println("Cannot handle URL: " + requestUrl);
e.printStackTrace();
} catch (final MalformedURLException e) {
System.out.println("Cannot handle URL: " + requestUrl);
e.printStackTrace();
@@
-33,23
+38,24
@@
public class Navigation {
return getDefaultNavigationItem();
}
return getDefaultNavigationItem();
}
- public String getTopMenu(final
String requestUrl
) {
+ public String getTopMenu(final
HttpServletRequest request
) {
- final NavigationItem selectedItem = getSelectedItem(request
Url
);
+ final NavigationItem selectedItem = getSelectedItem(request);
final StringBuffer result = new StringBuffer();
result.append("<div class=\"navigationMenu\">");
final StringBuffer result = new StringBuffer();
result.append("<div class=\"navigationMenu\">");
- for (final NavigationItem item : rootNavigationItem.getSubElements()) {
+ for (final NavigationItem item : getRootNavigationItem()
+ .getSubElements()) {
if (item == selectedItem)
result.append("<a class=\"menuItemSelected\" href=\""
if (item == selectedItem)
result.append("<a class=\"menuItemSelected\" href=\""
- + item.getLink() + "\">");
+ + item.getLink
Url
() + "\">");
else
else
- result.append("<a class=\"menuItem\" href=\""
+ item.getLink()
- + "\">");
+ result.append("<a class=\"menuItem\" href=\""
+ +
item.getLinkUrl() +
"\">");
- result.append(
item.getTitle()
);
+ result.append(
"<div>" + item.getTitle() + "</div>"
);
result.append("</a>");
}
result.append("</a>");
}