1
14
15 package com.liferay.portlet.documentlibrary.asset;
16
17 import com.liferay.portal.kernel.exception.PortalException;
18 import com.liferay.portal.kernel.exception.SystemException;
19 import com.liferay.portal.kernel.portlet.LiferayPortletRequest;
20 import com.liferay.portal.kernel.portlet.LiferayPortletResponse;
21 import com.liferay.portal.security.permission.ActionKeys;
22 import com.liferay.portal.theme.ThemeDisplay;
23 import com.liferay.portal.util.PortletKeys;
24 import com.liferay.portal.util.WebKeys;
25 import com.liferay.portlet.asset.model.AssetRenderer;
26 import com.liferay.portlet.asset.model.BaseAssetRendererFactory;
27 import com.liferay.portlet.assetpublisher.util.AssetPublisherUtil;
28 import com.liferay.portlet.documentlibrary.model.DLFileEntry;
29 import com.liferay.portlet.documentlibrary.service.DLFileEntryLocalServiceUtil;
30 import com.liferay.portlet.documentlibrary.service.permission.DLPermission;
31
32 import javax.portlet.PortletURL;
33
34
40 public class DLFileEntryAssetRendererFactory extends BaseAssetRendererFactory {
41
42 public static final String CLASS_NAME = DLFileEntry.class.getName();
43
44 public static final String TYPE = "document";
45
46 public AssetRenderer getAssetRenderer(long classPK)
47 throws PortalException, SystemException {
48
49 DLFileEntry entry = DLFileEntryLocalServiceUtil.getFileEntry(classPK);
50
51 return new DLFileEntryAssetRenderer(entry);
52 }
53
54 public String getClassName() {
55 return CLASS_NAME;
56 }
57
58 public String getType() {
59 return TYPE;
60 }
61
62 public PortletURL getURLAdd(
63 LiferayPortletRequest liferayPortletRequest,
64 LiferayPortletResponse liferayPortletResponse) {
65
66 ThemeDisplay themeDisplay =
67 (ThemeDisplay)liferayPortletRequest.getAttribute(
68 WebKeys.THEME_DISPLAY);
69
70 PortletURL addAssetURL = null;
71
72 if (DLPermission.contains(
73 themeDisplay.getPermissionChecker(),
74 themeDisplay.getScopeGroupId(), ActionKeys.ADD_DOCUMENT)) {
75
76 addAssetURL = liferayPortletResponse.createRenderURL(
77 PortletKeys.DOCUMENT_LIBRARY);
78
79 addAssetURL.setParameter(
80 "struts_action", "/document_library/edit_file_entry");
81 addAssetURL.setParameter(
82 "groupId", String.valueOf(themeDisplay.getScopeGroupId()));
83 addAssetURL.setParameter(
84 "folderId",
85 String.valueOf(
86 AssetPublisherUtil.getRecentFolderId(
87 liferayPortletRequest, CLASS_NAME)));
88 addAssetURL.setParameter("uploader", "classic");
89 }
90
91 return addAssetURL;
92 }
93
94 }