List of usage examples for com.liferay.portal.kernel.model.impl VirtualLayout getLayoutId
@Override public long getLayoutId()
From source file:com.liferay.layout.internal.util.LayoutsTreeImpl.java
License:Open Source License
private LayoutTreeNodes _getLayoutTreeNodes(HttpServletRequest request, long groupId, boolean privateLayout, long parentLayoutId, boolean incomplete, long[] expandedLayoutIds, String treeId) throws Exception { if (_log.isDebugEnabled()) { StringBundler sb = new StringBundler(13); sb.append("_getLayoutTreeNodes(groupId="); sb.append(groupId);// ww w. j av a 2s. c om sb.append(", privateLayout="); sb.append(privateLayout); sb.append(", parentLayoutId="); sb.append(parentLayoutId); sb.append(", expandedLayoutIds="); sb.append(expandedLayoutIds); sb.append(", incomplete="); sb.append(incomplete); sb.append(", treeId="); sb.append(treeId); sb.append(StringPool.CLOSE_PARENTHESIS); _log.debug(sb.toString()); } List<LayoutTreeNode> layoutTreeNodes = new ArrayList<>(); List<Layout> ancestorLayouts = _getAncestorLayouts(request); List<Layout> layouts = _layoutService.getLayouts(groupId, privateLayout, parentLayoutId, incomplete, QueryUtil.ALL_POS, QueryUtil.ALL_POS); for (Layout layout : _paginateLayouts(request, groupId, privateLayout, parentLayoutId, layouts, treeId)) { LayoutTreeNode layoutTreeNode = new LayoutTreeNode(layout); LayoutTreeNodes childLayoutTreeNodes = null; if (_isExpandableLayout(request, ancestorLayouts, expandedLayoutIds, layout)) { if (layout instanceof VirtualLayout) { VirtualLayout virtualLayout = (VirtualLayout) layout; childLayoutTreeNodes = _getLayoutTreeNodes(request, virtualLayout.getSourceGroupId(), virtualLayout.isPrivateLayout(), virtualLayout.getLayoutId(), incomplete, expandedLayoutIds, treeId); } else { childLayoutTreeNodes = _getLayoutTreeNodes(request, groupId, layout.isPrivateLayout(), layout.getLayoutId(), incomplete, expandedLayoutIds, treeId); } } else { int childLayoutsCount = _layoutService.getLayoutsCount(groupId, privateLayout, layout.getLayoutId()); childLayoutTreeNodes = new LayoutTreeNodes(new ArrayList<LayoutTreeNode>(), childLayoutsCount); } layoutTreeNode.setChildLayoutTreeNodes(childLayoutTreeNodes); layoutTreeNodes.add(layoutTreeNode); } return new LayoutTreeNodes(layoutTreeNodes, layouts.size()); }