001
014
015 package com.liferay.portlet.asset.service.permission;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.security.auth.PrincipalException;
019 import com.liferay.portal.security.permission.PermissionChecker;
020 import com.liferay.portlet.asset.model.AssetVocabulary;
021 import com.liferay.portlet.asset.service.AssetVocabularyLocalServiceUtil;
022
023
027 public class AssetVocabularyPermission {
028
029 public static void check(
030 PermissionChecker permissionChecker, AssetVocabulary vocabulary,
031 String actionId)
032 throws PortalException {
033
034 if (!contains(permissionChecker, vocabulary, actionId)) {
035 throw new PrincipalException();
036 }
037 }
038
039 public static void check(
040 PermissionChecker permissionChecker, long vocabularyId,
041 String actionId)
042 throws PortalException {
043
044 if (!contains(permissionChecker, vocabularyId, actionId)) {
045 throw new PrincipalException();
046 }
047 }
048
049 public static boolean contains(
050 PermissionChecker permissionChecker, AssetVocabulary vocabulary,
051 String actionId) {
052
053 if (permissionChecker.hasOwnerPermission(
054 vocabulary.getCompanyId(), AssetVocabulary.class.getName(),
055 vocabulary.getVocabularyId(), vocabulary.getUserId(),
056 actionId)) {
057
058 return true;
059 }
060
061 return permissionChecker.hasPermission(
062 vocabulary.getGroupId(), AssetVocabulary.class.getName(),
063 vocabulary.getVocabularyId(), actionId);
064 }
065
066 public static boolean contains(
067 PermissionChecker permissionChecker, long vocabularyId,
068 String actionId)
069 throws PortalException {
070
071 AssetVocabulary vocabulary =
072 AssetVocabularyLocalServiceUtil.getVocabulary(vocabularyId);
073
074 return contains(permissionChecker, vocabulary, actionId);
075 }
076
077 }