public Iterator<Page> getChildPages() { return page.listChildren(new PageFilter()); }
private List<NavigationPageItem> createChildItems(final Page parentPage, final ItemCreator itemCreator) { List<NavigationPageItem> items = new ArrayList<>(); Iterator<Page> childPages = parentPage.listChildren(new PageFilter(false, false)); while (childPages.hasNext()) { Page childPage = childPages.next(); NavigationPageItem item = itemCreator.create(childPage); if (item != null) { items.add(item); } } return items; }
private void collectChildren(int startLevel, Page parent) { Iterator<Page> childIterator = parent.listChildren(); while (childIterator.hasNext()) { Page child = childIterator.next(); listItems.add(child); if (child.getDepth() - startLevel < childDepth) { collectChildren(startLevel, child); } } }
public void activate() { Iterator<Page> children = getCurrentPage().listChildren(); children.forEachRemaining(page -> System.out.println(page.getTitle())); }
/** * Builds the navigation tree for a {@code navigationRoot} page. * * @param navigationRoot the global navigation tree root (start page) * @param subtreeRoot the current sub-tree root (changes depending on the level of recursion) * @return the list of collected navigation trees */ private List<NavigationItem> getItems(NavigationRoot navigationRoot, Page subtreeRoot) { List<NavigationItem> pages = new ArrayList<>(); if (navigationRoot.structureDepth == -1 || getLevel(subtreeRoot) < navigationRoot.structureDepth) { Iterator<Page> it = subtreeRoot.listChildren(new PageFilter()); while (it.hasNext()) { Page page = it.next(); int pageLevel = getLevel(page); int level = pageLevel - navigationRoot.startLevel; List<NavigationItem> children = getItems(navigationRoot, page); boolean isSelected = checkSelected(page); if (skipNavigationRoot) { level = level - 1; } pages.add(new NavigationItemImpl(page, isSelected, request, level, children)); } } return pages; }
if (configPage != null) { referencePages.put(configPage.getPath(), configPage); Iterator<Page> deepChildren = configPage.listChildren(new PageFilter(false, true), true); while (deepChildren.hasNext()) { Page configChildPage = deepChildren.next();
@Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { response.setContentType(request.getResponseContentType()); ResourceResolver resourceResolver = request.getResourceResolver(); PageManager pageManager = resourceResolver.adaptTo(PageManager.class); Page page = pageManager.getContainingPage(request.getResource()); XMLOutputFactory outputFactory = XMLOutputFactory.newFactory(); try { XMLStreamWriter stream = outputFactory.createXMLStreamWriter(response.getWriter()); stream.writeStartDocument("1.0"); stream.writeStartElement("", "urlset", NS); stream.writeNamespace("", NS); // first do the current page write(page, stream, resourceResolver); for (Iterator<Page> children = page.listChildren(new PageFilter(false, true), true); children.hasNext(); ) { write(children.next(), stream, resourceResolver); } if (damAssetTypes.size() > 0 && damAssetProperty.length() > 0) { for (Resource assetFolder : getAssetFolders(page, resourceResolver)) { writeAssets(stream, assetFolder, resourceResolver); } } stream.writeEndElement(); stream.writeEndDocument(); } catch (XMLStreamException e) { throw new IOException(e); } }
for (Iterator<Page> children = page.listChildren(new PageFilter(false, true), true); children.hasNext();) { write(children.next(), stream, resourceResolver);
/** * Get the list of immediate children for the current selected path in sites * console * * @param comma * separated select paths from sites console * @param resource * resolver object */ private ArrayList<Resource> getImmediateChildren(ResourceResolver resourceResolver, String[] pathList, ArrayList<Resource> allPaths) { Iterator<Resource> childAssetRes; Iterator<Page> childPageRes; // iterate over all paths and create list with immediate children for (String path : pathList) { Resource currentPath = resourceResolver.getResource(path); if (path.startsWith("/content/dam")) { childAssetRes = currentPath.listChildren(); getImmediateAssets(resourceResolver, childAssetRes, allPaths); } else { childPageRes = currentPath.adaptTo(Page.class).listChildren(); getImmediatePages(resourceResolver, currentPath, childPageRes, allPaths); } } return allPaths; }
private List<NavigationItem> getItems(Page root) { List<NavigationItem> pages = new ArrayList<>(); if (root.getDepth() < structureDepth) { Iterator<Page> it = root.listChildren(new PageFilter()); while (it.hasNext()) { Page page = it.next(); boolean active = currentPage.getPath().equals(page.getPath()) || currentPage.getPath().startsWith(page.getPath() + "/"); String title = page.getNavigationTitle(); if (title == null) { title = page.getTitle(); } List<NavigationItem> children = getItems(page); int level = page.getDepth() - startLevel; Page localizedPage = getLocalizedPage(currentPage, page); if (localizedPage != null) { page = localizedPage; } pages.add(new LanguageNavigationItemImpl(page, active, request, level, children, title)); } } return pages; }
public List<City> findCities(String basePath, String relPath) { List<City> cities = new ArrayList<>(); Resource resource = resourceResolver.getResource(basePath); Page page = resourceResolver.adaptTo(PageManager.class).getContainingPage(resource); Iterator<Page> cityPages = page.listChildren(); while (cityPages.hasNext()) { Page cityPage = cityPages.next(); ValueMap cityProps = cityPage.getContentResource().getValueMap(); City city = new City(); city.name = cityProps.get("jcr:title", String.class); city.id = cityPage.getName(); Resource cityView = cityPage.getContentResource().getChild(relPath); Download download = new Download(cityView.getChild("image")); city.imageSrc = download.getHref(); cities.add(city); } return cities; } }