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