public List<DocumentTreeNode> getChildren() { if (children == null) { fetchChildren(); } List<DocumentTreeNode> childrenNodes = new ArrayList<DocumentTreeNode>(); childrenNodes.addAll(children.values()); return childrenNodes; }
public boolean isSelected(DocumentModel currentDocument) { if (currentDocument != null) { if (!currentDocument.isFolder()) { // check if it's the closest parent String currentPath = currentDocument.getPathAsString(); String nodePath = getPath(); if (currentPath != null && nodePath != null && currentPath.startsWith(nodePath) && currentPath.length() > nodePath.length() && currentPath.substring(nodePath.length()).startsWith("/") // make sure nodePath is the parent of currentPath && !currentPath.substring(nodePath.length() + 1).contains("/")) { // direct parent return true; } } else { // check equality return currentDocument.getId().equals(getId()); } } return false; }
CoreSession session = getCoreSession(); if (session == null) { log.error("Cannot retrieve CoreSession for " + document); sortInfos, null, null, props, new Object[] { getId() }); documents = pp.getCurrentPage(); documents = filterAndSort(documents, !isOrderable); String identifier = child.getId(); DocumentTreeNodeImpl childNode; childNode = new DocumentTreeNodeImpl(child, filter, leafFilter, sorter, pageProviderName); children.put(identifier, childNode);
protected DocumentTreeNode getDocumentTreeNode(DocumentModel documentModel) { DocumentTreeNode documentTreeNode = null; if (documentModel != null) { Filter filter = getTreeManager().getFilter(PUBLICATION_TREE_PLUGIN_NAME); Sorter sorter = getTreeManager().getSorter(PUBLICATION_TREE_PLUGIN_NAME); documentTreeNode = new DocumentTreeNodeImpl(documentModel, filter, sorter); } return documentTreeNode; }
@Override public boolean isExpanded() { if (expanded == null) { final TreeActions treeActionBean = (TreeActionsBean) Component.getInstance("treeActions"); if (!treeActionBean.isNodeExpandEvent()) { String currentDocPath = treeActionBean.getCurrentDocumentPath(); if (currentDocPath != null && getPath() != null && currentDocPath.startsWith(getPath())) { // additional slower check for strict path prefix if ((currentDocPath + '/').startsWith(getPath() + '/') || "/".equals(getPath())) { expanded = Boolean.TRUE; } } } } return Boolean.TRUE.equals(expanded); }
@Override protected DocumentTreeNode getDocumentTreeNode(DocumentModel document) { DocumentTreeNode dtn = null; if (document != null) { Filter filter = null; Sorter sorter = null; String pageProviderName = null; try { pageProviderName = getTreeManager().getPageProviderName(PUBLICATION_TREE_PLUGIN_NAME); sorter = getTreeManager().getSorter(PUBLICATION_TREE_PLUGIN_NAME); } catch (Exception e) { log.error("Could not fetch filter, sorter or node type for tree ", e); } dtn = new DocumentTreeNodeImpl(document.getSessionId(), document, filter, null, sorter, pageProviderName); } return dtn; }
protected DocumentTreeNode newDocumentTreeNode(DocumentModel doc, String treeName) { TreeManager treeManager = Framework.getService(TreeManager.class); Filter filter = treeManager.getFilter(treeName); Filter leafFilter = treeManager.getLeafFilter(treeName); Sorter sorter = treeManager.getSorter(treeName); String pageProvider = treeManager.getPageProviderName(treeName); return new DocumentTreeNodeImpl(doc, filter, leafFilter, sorter, pageProvider); }