@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); }
public boolean isOpen() { if (open == null) { final TreeActions treeActionBean = (TreeActionsBean) Component.getInstance("treeActions"); if (!treeActionBean.isNodeExpandEvent()) { if (!config.isMultiselect() && config.hasContentViewSupport()) { DocumentModel searchDoc = getContentViewSearchDocumentModel(); if (searchDoc != null) { String fieldName = config.getFieldName(); String schemaName = config.getSchemaName(); Object value = searchDoc.getProperty(schemaName, fieldName); if (value instanceof String) { open = Boolean.valueOf(((String) value).startsWith(path)); } } else { log.error("Cannot check if node is opened: " + "search document model is null"); } } else { log.error(String.format("Cannot check if node is opened on tree '%s': no " + "content view available", identifier)); } } } return Boolean.TRUE.equals(open); }