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