public List<Space> listSpaces() { List<Space> result = new ArrayList<Space>(); try { Folder root = pageManager.getFolder(Folder.PATH_SEPARATOR); Space defaultSpace = loadSpace(root); result.add(defaultSpace); for (Node folderNode : root.getFolders()) { Folder folder = (Folder)folderNode; if (folder.isReserved()) continue; Space space = loadSpace(folder); // Exclude ordinary folders if (space.getOwner() != null) { result.add(space); } } } catch (Exception e) { log.error("listSpaces", e); } return result; }
/** * isVisible - tests for node visibility in view * * @param node test node view * @param currentPage current page view * @return visible flag */ private static boolean isVisible(Node node, Page currentPage) { // pages are considered visible if not hidden or match current page if (node instanceof Page) { return (!node.isHidden() || (node == currentPage)); } // folders are considered visible if not hidden and not reserved if (node instanceof Folder) { return !node.isHidden() && !((Folder)node).isReserved(); } // links are considered visible if not hidden if (node instanceof Link) { return !node.isHidden(); } // templates, fragments, and dynamic page are not visible return false; }
String spacePath = link.getPath(); Folder folder = pageManager.getFolder(spacePath); if (folder.isHidden() || folder.isReserved()) continue; Space space = loadSpace(folder);
reserved = folder.isReserved(); reservedType = folder.getReservedType();