List of usage examples for com.liferay.portal.kernel.util PortalUtil addPortletBreadcrumbEntry
public static void addPortletBreadcrumbEntry(HttpServletRequest httpServletRequest, String title, String url, Map<String, Object> data)
From source file:com.liferay.document.library.web.internal.util.DLBreadcrumbUtil.java
License:Open Source License
public static void addPortletBreadcrumbEntries(Folder folder, HttpServletRequest request, LiferayPortletResponse liferayPortletResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); PortletURL portletURL = liferayPortletResponse.createRenderURL(); portletURL.setParameter("mvcRenderCommandName", "/document_library/view"); Map<String, Object> data = new HashMap<>(); data.put("direction-right", Boolean.TRUE.toString()); PortletDisplay portletDisplay = themeDisplay.getPortletDisplay(); DLPortletInstanceSettings dlPortletInstanceSettings = DLPortletInstanceSettings .getInstance(themeDisplay.getLayout(), portletDisplay.getId()); data.put("folder-id", dlPortletInstanceSettings.getRootFolderId()); PortalUtil.addPortletBreadcrumbEntry(request, themeDisplay.translate("home"), portletURL.toString(), data); portletURL.setParameter("mvcRenderCommandName", "/document_library/view_folder"); addPortletBreadcrumbEntries(folder, request, portletURL); }
From source file:com.liferay.document.library.web.internal.util.DLBreadcrumbUtil.java
License:Open Source License
public static void addPortletBreadcrumbEntries(Folder folder, HttpServletRequest request, PortletURL portletURL) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); PortletDisplay portletDisplay = themeDisplay.getPortletDisplay(); long rootFolderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID; boolean ignoreRootFolder = ParamUtil.getBoolean(request, "ignoreRootFolder"); if (!ignoreRootFolder) { DLPortletInstanceSettings dlPortletInstanceSettings = DLPortletInstanceSettings .getInstance(themeDisplay.getLayout(), portletDisplay.getId()); rootFolderId = dlPortletInstanceSettings.getRootFolderId(); }/* ww w . java2s . c om*/ List<Folder> ancestorFolders = Collections.emptyList(); if ((folder != null) && (folder.getFolderId() != rootFolderId)) { ancestorFolders = folder.getAncestors(); int indexOfRootFolder = -1; for (int i = 0; i < ancestorFolders.size(); i++) { Folder ancestorFolder = ancestorFolders.get(i); if (rootFolderId == ancestorFolder.getFolderId()) { indexOfRootFolder = i; } } if (indexOfRootFolder > -1) { ancestorFolders = ancestorFolders.subList(0, indexOfRootFolder); } } Collections.reverse(ancestorFolders); for (Folder ancestorFolder : ancestorFolders) { portletURL.setParameter("folderId", String.valueOf(ancestorFolder.getFolderId())); Map<String, Object> data = new HashMap<>(); data.put("direction-right", Boolean.TRUE.toString()); data.put("folder-id", ancestorFolder.getFolderId()); PortalUtil.addPortletBreadcrumbEntry(request, ancestorFolder.getName(), portletURL.toString(), data); } long folderId = DLFolderConstants.DEFAULT_PARENT_FOLDER_ID; if (folder != null) { folderId = folder.getFolderId(); } portletURL.setParameter("folderId", String.valueOf(folderId)); if ((folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) && (folderId != rootFolderId)) { Folder unescapedFolder = folder.toUnescapedModel(); Map<String, Object> data = new HashMap<>(); data.put("direction-right", Boolean.TRUE.toString()); data.put("folder-id", folderId); PortalUtil.addPortletBreadcrumbEntry(request, unescapedFolder.getName(), portletURL.toString(), data); } }