001
014
015 package com.liferay.portlet.journal.asset;
016
017 import com.liferay.portal.kernel.portlet.LiferayPortletRequest;
018 import com.liferay.portal.kernel.portlet.LiferayPortletResponse;
019 import com.liferay.portal.kernel.util.HtmlUtil;
020 import com.liferay.portal.kernel.workflow.WorkflowConstants;
021 import com.liferay.portal.theme.ThemeDisplay;
022 import com.liferay.portal.util.PortletKeys;
023 import com.liferay.portal.util.WebKeys;
024 import com.liferay.portlet.asset.model.BaseAssetRenderer;
025 import com.liferay.portlet.journal.model.JournalFolder;
026 import com.liferay.portlet.journal.service.JournalFolderServiceUtil;
027
028 import java.util.Locale;
029
030 import javax.portlet.PortletRequest;
031 import javax.portlet.PortletURL;
032 import javax.portlet.RenderRequest;
033 import javax.portlet.RenderResponse;
034 import javax.portlet.WindowState;
035
036
039 public class JournalFolderAssetRenderer extends BaseAssetRenderer {
040
041 public JournalFolderAssetRenderer(JournalFolder folder) {
042 _folder = folder;
043 }
044
045 public String getAssetRendererFactoryClassName() {
046 return JournalFolderAssetRendererFactory.CLASS_NAME;
047 }
048
049 public long getClassPK() {
050 return _folder.getFolderId();
051 }
052
053 public long getGroupId() {
054 return _folder.getGroupId();
055 }
056
057 @Override
058 public String getIconPath(ThemeDisplay themeDisplay) {
059 try {
060 if (JournalFolderServiceUtil.getFoldersAndArticlesCount(
061 _folder.getGroupId(), _folder.getFolderId(),
062 WorkflowConstants.STATUS_APPROVED) > 0) {
063
064 return themeDisplay.getPathThemeImages() +
065 "/common/folder_full_document.png";
066 }
067 }
068 catch (Exception e) {
069 }
070
071 return themeDisplay.getPathThemeImages() + "/common/folder_empty.png";
072 }
073
074 public String getSummary(Locale locale) {
075 return HtmlUtil.stripHtml(_folder.getDescription());
076 }
077
078 public String getTitle(Locale locale) {
079 return _folder.getName();
080 }
081
082 @Override
083 public PortletURL getURLEdit(
084 LiferayPortletRequest liferayPortletRequest,
085 LiferayPortletResponse liferayPortletResponse)
086 throws Exception {
087
088 PortletURL portletURL = liferayPortletResponse.createLiferayPortletURL(
089 getControlPanelPlid(liferayPortletRequest), PortletKeys.JOURNAL,
090 PortletRequest.RENDER_PHASE);
091
092 portletURL.setParameter("struts_action", "/journal/edit_folder");
093 portletURL.setParameter(
094 "folderId", String.valueOf(_folder.getFolderId()));
095
096 return portletURL;
097 }
098
099 @Override
100 public PortletURL getURLView(
101 LiferayPortletResponse liferayPortletResponse,
102 WindowState windowState)
103 throws Exception {
104
105 PortletURL portletURL = liferayPortletResponse.createLiferayPortletURL(
106 PortletKeys.JOURNAL, PortletRequest.RENDER_PHASE);
107
108 portletURL.setParameter("struts_action", "/journal/view");
109 portletURL.setParameter(
110 "folderId", String.valueOf(_folder.getFolderId()));
111 portletURL.setWindowState(windowState);
112
113 return portletURL;
114 }
115
116 @Override
117 public String getURLViewInContext(
118 LiferayPortletRequest liferayPortletRequest,
119 LiferayPortletResponse liferayPortletResponse,
120 String noSuchEntryRedirect) {
121
122 return getURLViewInContext(
123 liferayPortletRequest, noSuchEntryRedirect, "/journal/find_folder",
124 "folderId", _folder.getFolderId());
125 }
126
127 public long getUserId() {
128 return _folder.getUserId();
129 }
130
131 public String getUserName() {
132 return _folder.getUserName();
133 }
134
135 public String getUuid() {
136 return _folder.getUuid();
137 }
138
139 public String render(
140 RenderRequest renderRequest, RenderResponse renderResponse,
141 String template)
142 throws Exception {
143
144 if (template.equals(TEMPLATE_FULL_CONTENT)) {
145 renderRequest.setAttribute(WebKeys.JOURNAL_FOLDER, _folder);
146
147 return "/html/portlet/journal/asset/folder_" + template + ".jsp";
148 }
149 else {
150 return null;
151 }
152 }
153
154 private JournalFolder _folder;
155
156 }