001
014
015 package com.liferay.portlet.documentlibrary.context;
016
017 import com.liferay.portal.kernel.util.ArrayUtil;
018 import com.liferay.portal.theme.PortletDisplay;
019 import com.liferay.portal.theme.ThemeDisplay;
020 import com.liferay.portal.util.PortletKeys;
021 import com.liferay.portal.util.WebKeys;
022 import com.liferay.portlet.documentlibrary.DLPortletInstanceSettings;
023
024 import javax.servlet.http.HttpServletRequest;
025
026
029 public class DLEntryListDisplayContext {
030
031 public DLEntryListDisplayContext(
032 HttpServletRequest request,
033 DLPortletInstanceSettings dlPortletInstanceSettings) {
034
035 _dlPortletInstanceSettings = dlPortletInstanceSettings;
036
037 _dlActionsDisplayContext = new DLActionsDisplayContext(
038 request, dlPortletInstanceSettings);
039
040 ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(
041 WebKeys.THEME_DISPLAY);
042
043 _portletDisplay = themeDisplay.getPortletDisplay();
044 }
045
046 public DLActionsDisplayContext getDLActionsDisplayContext() {
047 return _dlActionsDisplayContext;
048 }
049
050 public String[] getEntryColumns() {
051 String[] entryColumns = _dlPortletInstanceSettings.getEntryColumns();
052
053 String portletName = _portletDisplay.getPortletName();
054
055 if (!_dlActionsDisplayContext.isShowActions()) {
056 entryColumns = ArrayUtil.remove(entryColumns, "action");
057 }
058 else if (!portletName.equals(PortletKeys.DOCUMENT_LIBRARY) &&
059 !portletName.equals(PortletKeys.DOCUMENT_LIBRARY_ADMIN) &&
060 !ArrayUtil.contains(entryColumns, "action")) {
061
062 entryColumns = ArrayUtil.append(entryColumns, "action");
063 }
064
065 return entryColumns;
066 }
067
068 public String[] getFileEntryColumns() {
069 String[] fileEntryColumns =
070 _dlPortletInstanceSettings.getFileEntryColumns();
071
072 if (!_dlActionsDisplayContext.isShowActions()) {
073 fileEntryColumns = ArrayUtil.remove(fileEntryColumns, "action");
074 }
075
076 return fileEntryColumns;
077 }
078
079 public String[] getFolderColumns() {
080 String[] folderColumns = _dlPortletInstanceSettings.getFolderColumns();
081
082 if (!_dlActionsDisplayContext.isShowActions()) {
083 folderColumns = ArrayUtil.remove(folderColumns, "action");
084 }
085
086 return folderColumns;
087 }
088
089 private final DLActionsDisplayContext _dlActionsDisplayContext;
090 private final DLPortletInstanceSettings _dlPortletInstanceSettings;
091 private final PortletDisplay _portletDisplay;
092
093 }