int level = nav.getNavTreeLevel() - (helpLevel - 1); if (nav.getResourceName().equals(currentUri) || (nav.isFolderLink() && currentUri.equals(nav.getResourceName() + "index.html"))) { result.append("\t\t<span class=\"navhelpcurrent\" style=\"padding-left: "); result.append(level * 10); result.append((level - 1) * 10); result.append("px 1px;\">"); result.append(nav.getNavText()); result.append("</span><br style=\"clear:left\">\n"); } else { result.append((level - 1) * 10); result.append("px 1px;\" href=\""); if (nav.isFolderLink()) { + nav.getResourceName() + "index.html&" + CmsLocaleManager.PARAMETER_LOCALE result.append(getJsp().link( "/system/modules/org.opencms.workplace.help/jsptemplates/help_body.jsp?helpresource=" + nav.getResourceName() + "&" + CmsLocaleManager.PARAMETER_LOCALE result.append(nav.getNavText()); result.append("</a><br style=\"clear:left\">\n");
/** * Creates children for this node by loading child navigation entries for this node's navigation entry.<p< */ @SuppressWarnings("synthetic-access") void expand() { for (CmsJspNavElement navElement : m_navBuilder.getNavigationForFolder( m_navElement.getResource().getRootPath(), Visibility.all, CmsResourceFilter.ONLY_VISIBLE)) { if ((navElement != null) && navElement.isInNavigation()) { NavigationNode child = new NavigationNode(navElement); addChild(child); } } }
/** * Note: this class has a natural ordering that is inconsistent with equals.<p> * * @see java.lang.Comparable#compareTo(Object) */ public int compareTo(CmsJspNavElement obj) { if (obj == this) { return 0; } float pos = obj.getNavPosition(); // please note: can't just subtract and cast to int here because of float precision loss if (m_position == pos) { return 0; } return (m_position < pos) ? -1 : 1; }
/** * Checks if the node matches the given filter string.<p> * * @param filter a filter string * * @return true if the node matches the filter string */ boolean matches(String filter) { for (String matchText : new String[] { m_navElement.getNavText(), m_navElement.getTitle(), m_navElement.getDescription()}) { if (matchText != null) { return matchText.toLowerCase().contains(filter.toLowerCase()); } } return true; }
/** * @see org.apache.commons.collections.Transformer#transform(java.lang.Object) */ public Object transform(Object input) { String resourceName = null; if (input instanceof CmsJspNavElement) { CmsJspNavElement navElement = (CmsJspNavElement)input; if (navElement.getResource() != null) { resourceName = m_cms.getSitePath(navElement.getResource()); } else { resourceName = navElement.getResourceName(); } } else { resourceName = String.valueOf(input); } return Boolean.valueOf(m_cms.getRequestContext().getUri().startsWith(resourceName)); } }
if (ne.isFolderLink() && (noLimit || (ne.getNavTreeLevel() < endLevel))) { List subnav = getSiteNavigation(cms, ne.getResourceName(), endLevel);
String name = navElem.getNavText(); if (CmsMessages.isUnknownKey(name)) { name = navElem.getTitle(); setShortName(shortName); String iconPath = navElem.getNavImage(); if (CmsStringUtil.isEmptyOrWhitespaceOnly(iconPath)) { iconPath = "admin/images/default_tool_big.png:admin/images/default_tool_small.png"; setSmallIconPath(smallIconPath); String helpText = navElem.getDescription(); if (CmsStringUtil.isEmptyOrWhitespaceOnly(helpText)) { helpText = "${key." + Messages.GUI_TOOLS_DEFAULT_HELP_0 + "}"; setDisabledHelpText(disabledHelpText); String group = navElem.getInfo(); if (CmsStringUtil.isEmptyOrWhitespaceOnly(group)) { group = "${key." + Messages.GUI_TOOLS_DEFAULT_GROUP_0 + "}"; setPosition(navElem.getNavPosition());
int currentLevel = currentPage.getNavTreeLevel(); boolean showNavigation = deltaLevel > 3 || (deltaLevel == 3 && currentPage.isInNavigation()); CmsJspNavElement nav = (CmsJspNavElement)navElements.get(i); result.append("<a href=\""); result.append(link(nav.getResourceName())); result.append("\" class=\""); result.append(styleClass); result.append("\" title=\""); result.append(nav.getNavText()); result.append("\">"); result.append(separator); result.append(" "); result.append(nav.getNavText()); result.append("</a>\n"); if (currentPage.isInNavigation()) { result.append(link(currentPage.getResourceName())); result.append("\" class=\""); result.append(styleClass); result.append("\" title=\""); result.append(currentPage.getNavText()); result.append("\">"); result.append(separator); result.append(" "); result.append(currentPage.getNavText()); result.append("</a>\n");
int elementLevel = element.getNavTreeLevel(); String spacing = getSpaces(elementLevel * 2); buffer.append(m_jsp.link(element.getResourceName())); buffer.append("\" title=\""); buffer.append(element.getNavText()); buffer.append("\""); if (elementLevel == 1) { buffer.append(element.getNavText()); buffer.append("</a>\n"); int childLevel = child.getNavTreeLevel(); if (elementLevel < childLevel) {
CmsResource ownResource = navElement.getResource(); CmsResource defaultFileResource = null; CmsJspNavBuilder navBuilder = new CmsJspNavBuilder(cms); if (ownResource.isFolder() && !navElement.isNavigationLevel()) { try { defaultFileResource = cms.readDefaultFile(ownResource, CmsResourceFilter.ONLY_VISIBLE); boolean isNavLevel = ownResource.isFolder() && navElement.isNavigationLevel(); if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(navElement.getProperty(CmsPropertyDefinition.PROPERTY_NAVTEXT))) { title = navElement.getProperty(CmsPropertyDefinition.PROPERTY_NAVTEXT); } else if (CmsStringUtil.isNotEmptyOrWhitespaceOnly( navElement.getProperty(CmsPropertyDefinition.PROPERTY_TITLE))) { title = navElement.getProperty(CmsPropertyDefinition.PROPERTY_TITLE); } else { title = navElement.getFileName(); if (title.contains("/")) { title = title.substring(0, title.indexOf("/")); String childPath = navElement.getResource().getRootPath(); boolean noChildren = true; CmsResourceFilter.ONLY_VISIBLE); for (CmsJspNavElement childNavEntry : childNav) { if (childNavEntry.isInNavigation()) { noChildren = false; break; navElement.getResource().getRootPath(),
CmsJspNavElement uriElem = null; try { uriElem = new CmsJspNavElement(uri, CmsProperty.toMap(getCmsObject().readPropertyObjects( uri, false))); if (elem.getResourceName().equals(uri)) { return Boolean.TRUE; CmsResource resource = getCmsObject().readDefaultFile(elem.getResourceName()); path = getCmsObject().getSitePath(resource); } catch (CmsException e) { if ((path == null) || ((uriElem != null) && uriElem.isInNavigation())) { path = elem.getResourceName(); while ((navElem != null) && !navElem.isInNavigation()) { String parentPath = CmsResource.getParentFolder(navElem.getResourceName()); if (parentPath == null) { break; navElem = new CmsJspNavElement( parentPath, CmsProperty.toMap(getCmsObject().readPropertyObjects(parentPath, false))); if ((navElem != null) && (uriElem != null) && !uriElem.isInNavigation()) { return Boolean.valueOf(elem.equals(navElem));
CmsJspNavElement dummyNavElement = new CmsJspNavElement( DUMMY_PATH, movedElement, CmsJspNavElement currentElement = workList.get(i); if ((i != insertPosition) && currentElement.getResource().getStructureId().equals(movedElement.getStructureId())) { workList.remove(i); break; while (it.hasNext()) { CmsJspNavElement nav = it.next(); if (!nav.isInNavigation() && (nav != dummyNavElement)) { it.remove(); while ((blockStart > 0) && (workList.get(blockStart - 1).getNavPosition() == blockValue)) { blockStart -= 1; && ((blockEnd == (insertPosition + 1)) || (workList.get(blockEnd).getNavPosition() == blockValue))) { blockEnd += 1; workList.get(i + blockStart).setNavPosition(newNavPositions.get(i).floatValue());
e.setNavPosition(e.getNavPosition() + parentcount); for (CmsJspNavElement e : result) { pos = 10000 * (++count); e.setNavPosition(pos); if (e.getResourceName().startsWith(nextfolder)) { parentcount = pos;
try { CmsJspNavElement ne = (CmsJspNavElement)navList.get(0); maxValue = ne.getNavPosition(); } catch (Exception e) { String navText = ne.getNavText(); float navPos = ne.getNavPosition(); nextPos = ((CmsJspNavElement)navList.get(i + 1)).getNavPosition(); if (curNav.getNavText().equals(navText) && (curNav.getNavPosition() == navPos)) { options.add(CmsEncoder.escapeHtml(messages.key( Messages.GUI_CHNAV_POS_CURRENT_1, new Object[] {ne.getFileName()}))); values.add("-1"); } else { options.add(CmsEncoder.escapeHtml(navText + " [" + ne.getFileName() + "]")); values.add(newPos + ""); if (curNav.getNavPosition() == Float.MAX_VALUE) {
if ((ne.isFolderLink() || ne.isNavigationLevel()) && (noLimit || (ne.getNavTreeLevel() < endLevel))) { List<CmsJspNavElement> subnav = getSiteNavigation(m_cms.getSitePath(ne.getResource()), endLevel);
mappedConfigFile = nav.getFileName(); synchronized (m_loadedConfigurations) { displayOptions = (Properties)m_loadedConfigurations.get(nav.getFileName()); if (displayOptions == null) { nav.getResourceName(), CmsResourceFilter.IGNORE_EXPIRATION); InputStream in = new ByteArrayInputStream(optionFile.getContents()); displayOptions.load(in); m_loadedConfigurations.put(nav.getFileName(), displayOptions); } catch (CmsException e) {
CmsJspNavElement foldernav = (CmsJspNavElement)navElements.get(i); showItemProperty = getHeadNavItemDefaultStringValue(); if (getCmsObject().existsResource(foldernav.getResourceName())) { showItemProperty = property( PROPERTY_HEADNAV_USE, foldernav.getResourceName(), getHeadNavItemDefaultStringValue()); } else if (LOG.isWarnEnabled()) { LOG.warn(Messages.get().getBundle().key( Messages.LOG_NAVIGATION_CONFIG_ERR_2, foldernav.getResourceName(), getRequestContext().getUri())); if (manualHeadConfig || (foldernav.isFolderLink() && showItem)) { String subfolder = foldernav.getResourceName();
CmsResourceFilter.IGNORE_EXPIRATION); CmsResource defaultFileResource = null; if (folderNav.isInNavigation() && !folderNav.isNavigationLevel()) { try { defaultFileResource = rootCms.readDefaultFile( result.setType(OpenCms.getResourceManager().getResourceType(resourceForType).getTypeName()); String title = folderNav.getProperty(CmsPropertyDefinition.PROPERTY_NAVTEXT); if (CmsStringUtil.isEmptyOrWhitespaceOnly(title)) { title = folderNav.getTitle(); } else if (CmsStringUtil.isEmptyOrWhitespaceOnly(title)) { title = CmsResource.getName(path);
/** * Collect all navigation elements from the files in the given folder, * navigation elements are of class CmsJspNavElement.<p> * * @param cms context provider for the current request * @param folder the selected folder * @return a sorted (ascending to nav position) ArrayList of navigation elements */ public static List getNavigationForFolder(CmsObject cms, String folder) { folder = CmsResource.getFolderPath(folder); List result = new ArrayList(); List resources; try { resources = cms.getResourcesInFolder(folder, CmsResourceFilter.DEFAULT); } catch (Exception e) { return Collections.EMPTY_LIST; } for (int i = 0; i < resources.size(); i++) { CmsResource r = (CmsResource)resources.get(i); CmsJspNavElement element = getNavigationForResource(cms, cms.getSitePath(r)); if ((element != null) && element.isInNavigation()) { result.add(element); } } Collections.sort(result); return result; }
resource.getRootPath(), CmsResourceFilter.ONLY_VISIBLE_NO_DELETED); boolean inNavigation = nav.isInNavigation(); resourceItem.getItemProperty(CmsResourceTableProperty.PROPERTY_IN_NAVIGATION).setValue( Boolean.valueOf(inNavigation)); Float.valueOf(nav.getNavPosition())); if (nav.getProperties().containsKey(CmsPropertyDefinition.PROPERTY_NAVTEXT)) { navText = nav.getProperties().get(CmsPropertyDefinition.PROPERTY_NAVTEXT); } else if (nav.getProperties().containsKey(CmsPropertyDefinition.PROPERTY_TITLE)) { navText = nav.getProperties().get(CmsPropertyDefinition.PROPERTY_TITLE);