001
014
015 package com.liferay.portlet.imagegallerydisplay.util;
016
017 import com.liferay.portal.kernel.portlet.LiferayWindowState;
018 import com.liferay.portal.kernel.repository.model.Folder;
019 import com.liferay.portal.kernel.util.ParamUtil;
020 import com.liferay.portal.theme.ThemeDisplay;
021 import com.liferay.portal.util.PortalUtil;
022 import com.liferay.portal.util.WebKeys;
023 import com.liferay.portlet.documentlibrary.model.DLFolderConstants;
024 import com.liferay.portlet.documentlibrary.service.DLAppLocalServiceUtil;
025
026 import java.util.Collections;
027 import java.util.List;
028
029 import javax.portlet.PortletURL;
030 import javax.portlet.RenderResponse;
031
032 import javax.servlet.http.HttpServletRequest;
033
034
037 public class IGUtil {
038
039 public static void addPortletBreadcrumbEntries(
040 long folderId, HttpServletRequest request,
041 RenderResponse renderResponse)
042 throws Exception {
043
044 if (folderId == DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
045 return;
046 }
047
048 Folder folder = DLAppLocalServiceUtil.getFolder(folderId);
049
050 addPortletBreadcrumbEntries(folder, request, renderResponse);
051 }
052
053 public static void addPortletBreadcrumbEntries(
054 Folder folder, HttpServletRequest request,
055 RenderResponse renderResponse)
056 throws Exception {
057
058 String strutsAction = ParamUtil.getString(request, "struts_action");
059
060 PortletURL portletURL = renderResponse.createRenderURL();
061
062 if (strutsAction.equals("/image_gallery_display/select_folder")) {
063 ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(
064 WebKeys.THEME_DISPLAY);
065
066 portletURL.setWindowState(LiferayWindowState.POP_UP);
067
068 portletURL.setParameter("struts_action", strutsAction);
069
070 PortalUtil.addPortletBreadcrumbEntry(
071 request, themeDisplay.translate("home"), portletURL.toString());
072 }
073 else {
074 portletURL.setParameter(
075 "struts_action", "/image_gallery_display/view");
076 }
077
078 List<Folder> ancestorFolders = folder.getAncestors();
079
080 Collections.reverse(ancestorFolders);
081
082 for (Folder ancestorFolder : ancestorFolders) {
083 portletURL.setParameter(
084 "folderId", String.valueOf(ancestorFolder.getFolderId()));
085
086 PortalUtil.addPortletBreadcrumbEntry(
087 request, ancestorFolder.getName(), portletURL.toString());
088 }
089
090 portletURL.setParameter(
091 "folderId", String.valueOf(folder.getFolderId()));
092
093 if (strutsAction.equals("/journal/select_image_gallery")) {
094 portletURL.setParameter(
095 "groupId", String.valueOf(folder.getGroupId()));
096 }
097
098 PortalUtil.addPortletBreadcrumbEntry(
099 request, folder.getName(), portletURL.toString());
100 }
101
102 }