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.MustHavePermission(
036 permissionChecker, AssetVocabulary.class.getName(),
037 vocabulary.getVocabularyId(), actionId);
038 }
039 }
040
041 public static void check(
042 PermissionChecker permissionChecker, long vocabularyId,
043 String actionId)
044 throws PortalException {
045
046 if (!contains(permissionChecker, vocabularyId, actionId)) {
047 throw new PrincipalException.MustHavePermission(
048 permissionChecker, AssetVocabulary.class.getName(),
049 vocabularyId, actionId);
050 }
051 }
052
053 public static boolean contains(
054 PermissionChecker permissionChecker, AssetVocabulary vocabulary,
055 String actionId) {
056
057 if (permissionChecker.hasOwnerPermission(
058 vocabulary.getCompanyId(), AssetVocabulary.class.getName(),
059 vocabulary.getVocabularyId(), vocabulary.getUserId(),
060 actionId)) {
061
062 return true;
063 }
064
065 return permissionChecker.hasPermission(
066 vocabulary.getGroupId(), AssetVocabulary.class.getName(),
067 vocabulary.getVocabularyId(), actionId);
068 }
069
070 public static boolean contains(
071 PermissionChecker permissionChecker, long vocabularyId,
072 String actionId)
073 throws PortalException {
074
075 AssetVocabulary vocabulary =
076 AssetVocabularyLocalServiceUtil.getVocabulary(vocabularyId);
077
078 return contains(permissionChecker, vocabulary, actionId);
079 }
080
081 }