001
014
015 package com.liferay.portlet.documentlibrary.asset;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.exception.SystemException;
019 import com.liferay.portal.kernel.repository.model.Folder;
020 import com.liferay.portal.security.permission.PermissionChecker;
021 import com.liferay.portal.theme.ThemeDisplay;
022 import com.liferay.portlet.asset.model.AssetRenderer;
023 import com.liferay.portlet.asset.model.BaseAssetRendererFactory;
024 import com.liferay.portlet.documentlibrary.model.DLFolder;
025 import com.liferay.portlet.documentlibrary.service.DLAppLocalServiceUtil;
026 import com.liferay.portlet.documentlibrary.service.permission.DLFolderPermission;
027
028
031 public class DLFolderAssetRendererFactory extends BaseAssetRendererFactory {
032
033 public static final String TYPE = "document_folder";
034
035 @Override
036 public AssetRenderer getAssetRenderer(long classPK, int type)
037 throws PortalException, SystemException {
038
039 Folder folder = DLAppLocalServiceUtil.getFolder(classPK);
040
041 DLFolderAssetRenderer dlFolderAssetRenderer = new DLFolderAssetRenderer(
042 folder);
043
044 dlFolderAssetRenderer.setAssetRendererType(type);
045
046 return dlFolderAssetRenderer;
047 }
048
049 @Override
050 public String getClassName() {
051 return DLFolder.class.getName();
052 }
053
054 @Override
055 public String getType() {
056 return TYPE;
057 }
058
059 @Override
060 public boolean hasPermission(
061 PermissionChecker permissionChecker, long classPK, String actionId)
062 throws Exception {
063
064 Folder folder = DLAppLocalServiceUtil.getFolder(classPK);
065
066 return DLFolderPermission.contains(permissionChecker, folder, actionId);
067 }
068
069 @Override
070 public boolean isCategorizable() {
071 return _CATEGORIZABLE;
072 }
073
074 @Override
075 public boolean isLinkable() {
076 return _LINKABLE;
077 }
078
079 @Override
080 protected String getIconPath(ThemeDisplay themeDisplay) {
081 return themeDisplay.getPathThemeImages() + "/common/folder.png";
082 }
083
084 private static final boolean _CATEGORIZABLE = false;
085
086 private static final boolean _LINKABLE = false;
087
088 }