X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Fnetwork%2Fnavigation%2FNavigation.java;h=3a2877f4b9182f66b2b19fc4a5e9a2f96a7adef6;hb=e49d583cb64523c584cd848c8a421140c5193514;hp=1afd5c7b7dc3908504e2bfe6b2c576e2626bb782;hpb=8983e9776024e1d1046279d1eb6f1f5e93df28b4;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 1afd5c7..3a2877f 100755 --- a/src/main/java/eu/svjatoslav/commons/network/navigation/Navigation.java +++ b/src/main/java/eu/svjatoslav/commons/network/navigation/Navigation.java @@ -1,3 +1,12 @@ +/* + * 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. + */ + package eu.svjatoslav.commons.network.navigation; import java.net.MalformedURLException; @@ -15,6 +24,13 @@ public class Navigation { return defaultNavigationItem; } + private String getGetNotNullString(final String string) { + if (string != null) + return string; + + return ""; + } + public NavigationItem getRootNavigationItem() { return rootNavigationItem; } @@ -25,9 +41,11 @@ public class Navigation { 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(); @@ -41,17 +59,22 @@ public class Navigation { 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("
"); @@ -62,13 +85,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; } }