001
014
015 package com.liferay.portlet.bookmarks.asset;
016
017 import com.liferay.portal.kernel.portlet.LiferayPortletRequest;
018 import com.liferay.portal.kernel.portlet.LiferayPortletResponse;
019 import com.liferay.portal.kernel.trash.TrashRenderer;
020 import com.liferay.portal.kernel.util.HtmlUtil;
021 import com.liferay.portal.security.permission.ActionKeys;
022 import com.liferay.portal.security.permission.PermissionChecker;
023 import com.liferay.portal.theme.ThemeDisplay;
024 import com.liferay.portal.util.PortletKeys;
025 import com.liferay.portal.util.WebKeys;
026 import com.liferay.portlet.asset.model.AssetRendererFactory;
027 import com.liferay.portlet.asset.model.BaseAssetRenderer;
028 import com.liferay.portlet.bookmarks.model.BookmarksEntry;
029 import com.liferay.portlet.bookmarks.service.permission.BookmarksEntryPermission;
030
031 import java.util.Locale;
032
033 import javax.portlet.PortletRequest;
034 import javax.portlet.PortletURL;
035 import javax.portlet.RenderRequest;
036 import javax.portlet.RenderResponse;
037
038
043 public class BookmarksEntryAssetRenderer
044 extends BaseAssetRenderer implements TrashRenderer {
045
046 public BookmarksEntryAssetRenderer(BookmarksEntry entry) {
047 _entry = entry;
048 }
049
050 public String getAssetRendererFactoryClassName() {
051 return BookmarksEntryAssetRendererFactory.CLASS_NAME;
052 }
053
054 public String getClassName() {
055 return BookmarksEntry.class.getName();
056 }
057
058 public long getClassPK() {
059 return _entry.getEntryId();
060 }
061
062 public long getGroupId() {
063 return _entry.getGroupId();
064 }
065
066 @Override
067 public String getIconPath(ThemeDisplay themeDisplay) {
068 return themeDisplay.getPathThemeImages() + "/ratings/star_hover.png";
069 }
070
071 public String getPortletId() {
072 AssetRendererFactory assetRendererFactory = getAssetRendererFactory();
073
074 return assetRendererFactory.getPortletId();
075 }
076
077 public String getSummary(Locale locale) {
078 return HtmlUtil.stripHtml(_entry.getDescription());
079 }
080
081 public String getTitle(Locale locale) {
082 return _entry.getName();
083 }
084
085 public String getType() {
086 return BookmarksEntryAssetRendererFactory.TYPE;
087 }
088
089 @Override
090 public PortletURL getURLEdit(
091 LiferayPortletRequest liferayPortletRequest,
092 LiferayPortletResponse liferayPortletResponse)
093 throws Exception {
094
095 PortletURL portletURL = liferayPortletResponse.createLiferayPortletURL(
096 getControlPanelPlid(liferayPortletRequest), PortletKeys.BOOKMARKS,
097 PortletRequest.RENDER_PHASE);
098
099 portletURL.setParameter("struts_action", "/bookmarks/edit_entry");
100 portletURL.setParameter(
101 "folderId", String.valueOf(_entry.getFolderId()));
102 portletURL.setParameter("entryId", String.valueOf(_entry.getEntryId()));
103
104 return portletURL;
105 }
106
107 @Override
108 public String getURLViewInContext(
109 LiferayPortletRequest liferayPortletRequest,
110 LiferayPortletResponse liferayPortletResponse,
111 String noSuchEntryRedirect) {
112
113 return getURLViewInContext(
114 liferayPortletRequest, noSuchEntryRedirect, "/bookmarks/find_entry",
115 "entryId", _entry.getEntryId());
116 }
117
118 public long getUserId() {
119 return _entry.getUserId();
120 }
121
122 public String getUserName() {
123 return _entry.getUserName();
124 }
125
126 public String getUuid() {
127 return _entry.getUuid();
128 }
129
130 @Override
131 public boolean hasEditPermission(PermissionChecker permissionChecker) {
132 try {
133 return BookmarksEntryPermission.contains(
134 permissionChecker, _entry, ActionKeys.UPDATE);
135 }
136 catch (Exception e) {
137 }
138
139 return false;
140 }
141
142 @Override
143 public boolean hasViewPermission(PermissionChecker permissionChecker) {
144 try {
145 return BookmarksEntryPermission.contains(
146 permissionChecker, _entry, ActionKeys.VIEW);
147 }
148 catch (Exception e) {
149 }
150
151 return true;
152 }
153
154 @Override
155 public boolean isPrintable() {
156 return true;
157 }
158
159 public String render(
160 RenderRequest renderRequest, RenderResponse renderResponse,
161 String template)
162 throws Exception {
163
164 if (template.equals(TEMPLATE_FULL_CONTENT)) {
165 renderRequest.setAttribute(WebKeys.BOOKMARKS_ENTRY, _entry);
166
167 return "/html/portlet/bookmarks/asset/" + template + ".jsp";
168 }
169 else {
170 return null;
171 }
172 }
173
174 private BookmarksEntry _entry;
175
176 }