Output navigation for public personal profile as nav:hierarchy
git-svn-id: https://svn.libreccm.org/ccm/trunk@5339 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
d2cb5336e6
commit
43f97e1ad3
|
|
@ -85,8 +85,18 @@ public class PublicPersonalProfileXmlUtil {
|
||||||
"http://ccm.redhat.com/navigation");
|
"http://ccm.redhat.com/navigation");
|
||||||
navRoot.addAttribute("id", "categoryMenu");
|
navRoot.addAttribute("id", "categoryMenu");
|
||||||
|
|
||||||
final Element navList = navRoot.newChildElement("nav:category",
|
final Element navHierarchyRoot = root
|
||||||
"http://ccm.redhat.com/navigation");
|
.newChildElement("nav:categoryHierarchy",
|
||||||
|
"http://ccm.redhat.com/navigation");
|
||||||
|
navHierarchyRoot
|
||||||
|
.addAttribute("bebop:classname",
|
||||||
|
"com.arsdigita.navigation.ui.category.Hierarchy",
|
||||||
|
"http://www.arsdigita.com/bebop/1.0");
|
||||||
|
navHierarchyRoot.addAttribute("id", "categoryNav");
|
||||||
|
|
||||||
|
final Element navList = navRoot
|
||||||
|
.newChildElement("nav:category",
|
||||||
|
"http://ccm.redhat.com/navigation");
|
||||||
navList.addAttribute("AbstractTree", "AbstractTree");
|
navList.addAttribute("AbstractTree", "AbstractTree");
|
||||||
navList.addAttribute("description", "");
|
navList.addAttribute("description", "");
|
||||||
navList.addAttribute("id", "");
|
navList.addAttribute("id", "");
|
||||||
|
|
@ -100,8 +110,9 @@ public class PublicPersonalProfileXmlUtil {
|
||||||
UI.getConfig().getRootPage()));
|
UI.getConfig().getRootPage()));
|
||||||
|
|
||||||
if (config.getShowHomeNavEntry()) {
|
if (config.getShowHomeNavEntry()) {
|
||||||
final Element navHome = navList.newChildElement("nav:category",
|
final Element navHome = navList
|
||||||
"http://ccm.redhat.com/navigation");
|
.newChildElement("nav:category",
|
||||||
|
"http://ccm.redhat.com/navigation");
|
||||||
navHome.addAttribute("AbstractTree", "AbstractTree");
|
navHome.addAttribute("AbstractTree", "AbstractTree");
|
||||||
navHome.addAttribute("description", "");
|
navHome.addAttribute("description", "");
|
||||||
navHome.addAttribute("id", profile.getID().toString());
|
navHome.addAttribute("id", profile.getID().toString());
|
||||||
|
|
@ -112,13 +123,28 @@ public class PublicPersonalProfileXmlUtil {
|
||||||
}
|
}
|
||||||
navHome.addAttribute("sortKey", "");
|
navHome.addAttribute("sortKey", "");
|
||||||
|
|
||||||
|
final Element navHierarchyHome = navHierarchyRoot
|
||||||
|
.newChildElement("nav:category",
|
||||||
|
"http://ccm.redhat.com/navigation");
|
||||||
|
navHierarchyHome.addAttribute("AbstractTree", "AbstractTree");
|
||||||
|
navHierarchyHome.addAttribute("description", "");
|
||||||
|
navHierarchyHome.addAttribute("id", profile.getID().toString());
|
||||||
|
if (navPath == null) {
|
||||||
|
navHierarchyHome.addAttribute("isSelected", "true");
|
||||||
|
} else {
|
||||||
|
navHierarchyHome.addAttribute("isSelected", "false");
|
||||||
|
}
|
||||||
|
navHierarchyHome.addAttribute("sortKey", "");
|
||||||
|
|
||||||
/*String homeLabel = homeLabels.get(GlobalizationHelper.
|
/*String homeLabel = homeLabels.get(GlobalizationHelper.
|
||||||
getNegotiatedLocale().getLanguage());*/
|
getNegotiatedLocale().getLanguage());*/
|
||||||
final String homeLabel = homeLabels.get(profile.getLanguage());
|
final String homeLabel = homeLabels.get(profile.getLanguage());
|
||||||
if (homeLabel == null) {
|
if (homeLabel == null) {
|
||||||
navHome.addAttribute("title", "Home");
|
navHome.addAttribute("title", "Home");
|
||||||
|
navHierarchyHome.addAttribute("title", "Home");
|
||||||
} else {
|
} else {
|
||||||
navHome.addAttribute("title", homeLabel);
|
navHome.addAttribute("title", homeLabel);
|
||||||
|
navHierarchyHome.addAttribute("title", homeLabel);
|
||||||
}
|
}
|
||||||
if (CMSConfig.getInstanceOf().getUseLanguageExtension()) {
|
if (CMSConfig.getInstanceOf().getUseLanguageExtension()) {
|
||||||
navHome
|
navHome
|
||||||
|
|
@ -129,11 +155,24 @@ public class PublicPersonalProfileXmlUtil {
|
||||||
GlobalizationHelper
|
GlobalizationHelper
|
||||||
.getNegotiatedLocale()
|
.getNegotiatedLocale()
|
||||||
.getLanguage()));
|
.getLanguage()));
|
||||||
|
navHierarchyHome
|
||||||
|
.addAttribute("url",
|
||||||
|
String.format("%s/%s/index.%s",
|
||||||
|
appUrl,
|
||||||
|
profile.getProfileUrl(),
|
||||||
|
GlobalizationHelper
|
||||||
|
.getNegotiatedLocale()
|
||||||
|
.getLanguage()));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
navHome.addAttribute("url", String.format("%s/%s",
|
navHome.addAttribute("url", String.format("%s/%s",
|
||||||
appUrl,
|
appUrl,
|
||||||
profile
|
profile
|
||||||
.getProfileUrl()));
|
.getProfileUrl()));
|
||||||
|
navHierarchyHome.addAttribute("url", String.format("%s/%s",
|
||||||
|
appUrl,
|
||||||
|
profile
|
||||||
|
.getProfileUrl()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -181,6 +220,7 @@ public class PublicPersonalProfileXmlUtil {
|
||||||
RelatedLink link;
|
RelatedLink link;
|
||||||
String navLinkKey;
|
String navLinkKey;
|
||||||
Element navElem;
|
Element navElem;
|
||||||
|
Element navHierarchyElem;
|
||||||
final List<NavLink> navLinks = new ArrayList<NavLink>();
|
final List<NavLink> navLinks = new ArrayList<NavLink>();
|
||||||
while (links.next()) {
|
while (links.next()) {
|
||||||
link = (RelatedLink) DomainObjectFactory.newInstance(links.
|
link = (RelatedLink) DomainObjectFactory.newInstance(links.
|
||||||
|
|
@ -218,10 +258,19 @@ public class PublicPersonalProfileXmlUtil {
|
||||||
Collections.sort(navLinks);
|
Collections.sort(navLinks);
|
||||||
|
|
||||||
for (NavLink navLink : navLinks) {
|
for (NavLink navLink : navLinks) {
|
||||||
|
|
||||||
navElem = navList.newChildElement("nav:category",
|
navElem = navList.newChildElement("nav:category",
|
||||||
"http://ccm.redhat.com/navigation");
|
"http://ccm.redhat.com/navigation");
|
||||||
navElem.addAttribute("AbstractTree", "AbstractTree");
|
navElem.addAttribute("AbstractTree", "AbstractTree");
|
||||||
navElem.addAttribute("description", "");
|
navElem.addAttribute("description", "");
|
||||||
|
|
||||||
|
navHierarchyElem = navHierarchyRoot
|
||||||
|
.newChildElement("nav:category",
|
||||||
|
"http://ccm.redhat.com/navigation");
|
||||||
|
navHierarchyElem.addAttribute("AbstractTree", "AbstractTree");
|
||||||
|
navHierarchyElem.addAttribute("depth", "0");
|
||||||
|
navHierarchyElem.addAttribute("description", "");
|
||||||
|
|
||||||
//navHome.addAttribute("id", "");
|
//navHome.addAttribute("id", "");
|
||||||
if ((navPath != null) && navPath.equals(navLink.getKey())) {
|
if ((navPath != null) && navPath.equals(navLink.getKey())) {
|
||||||
navElem.addAttribute("isSelected", "true");
|
navElem.addAttribute("isSelected", "true");
|
||||||
|
|
@ -252,10 +301,14 @@ public class PublicPersonalProfileXmlUtil {
|
||||||
navElem.addAttribute("isSelected", "false");
|
navElem.addAttribute("isSelected", "false");
|
||||||
}
|
}
|
||||||
navElem.addAttribute("sortKey", "");
|
navElem.addAttribute("sortKey", "");
|
||||||
|
navHierarchyElem.addAttribute("sortKey", "");
|
||||||
if (navLink.getTarget() == null) {
|
if (navLink.getTarget() == null) {
|
||||||
navElem.addAttribute("title", navLink.getKey());
|
navElem.addAttribute("title", navLink.getKey());
|
||||||
|
navHierarchyElem.addAttribute("title", navLink.getKey());
|
||||||
} else {
|
} else {
|
||||||
navElem.addAttribute("title", navLink.getNavItem().getLabel());
|
navElem.addAttribute("title", navLink.getNavItem().getLabel());
|
||||||
|
navHierarchyElem
|
||||||
|
.addAttribute("title", navLink.getNavItem().getLabel());
|
||||||
}
|
}
|
||||||
if (CMSConfig.getInstanceOf().getUseLanguageExtension()) {
|
if (CMSConfig.getInstanceOf().getUseLanguageExtension()) {
|
||||||
navElem.addAttribute(
|
navElem.addAttribute(
|
||||||
|
|
@ -267,6 +320,15 @@ public class PublicPersonalProfileXmlUtil {
|
||||||
GlobalizationHelper
|
GlobalizationHelper
|
||||||
.getNegotiatedLocale()
|
.getNegotiatedLocale()
|
||||||
.getLanguage()));
|
.getLanguage()));
|
||||||
|
navHierarchyElem.addAttribute(
|
||||||
|
"url",
|
||||||
|
String.format("%s/%s/%s/index.%s",
|
||||||
|
appUrl,
|
||||||
|
profile.getProfileUrl(),
|
||||||
|
navLink.getKey(),
|
||||||
|
GlobalizationHelper
|
||||||
|
.getNegotiatedLocale()
|
||||||
|
.getLanguage()));
|
||||||
} else {
|
} else {
|
||||||
navElem.addAttribute(
|
navElem.addAttribute(
|
||||||
"url",
|
"url",
|
||||||
|
|
@ -274,9 +336,16 @@ public class PublicPersonalProfileXmlUtil {
|
||||||
appUrl,
|
appUrl,
|
||||||
profile.getProfileUrl(),
|
profile.getProfileUrl(),
|
||||||
navLink.getKey()));
|
navLink.getKey()));
|
||||||
|
navHierarchyElem.addAttribute(
|
||||||
|
"url",
|
||||||
|
String.format("%s/%s/%s",
|
||||||
|
appUrl,
|
||||||
|
profile.getProfileUrl(),
|
||||||
|
navLink.getKey()));
|
||||||
}
|
}
|
||||||
|
|
||||||
navElem.addAttribute("navItem", navLink.getKey());
|
navElem.addAttribute("navItem", navLink.getKey());
|
||||||
|
navHierarchyElem.addAttribute("navItem", navLink.getKey());
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue