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