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.JournalFeed;
022 import com.liferay.portlet.journal.service.JournalFeedLocalServiceUtil;
023
024
027 public class JournalFeedPermission {
028
029 public static void check(
030 PermissionChecker permissionChecker, JournalFeed feed,
031 String actionId)
032 throws PortalException {
033
034 if (!contains(permissionChecker, feed, actionId)) {
035 throw new PrincipalException();
036 }
037 }
038
039 public static void check(
040 PermissionChecker permissionChecker, long id, String actionId)
041 throws PortalException, SystemException {
042
043 if (!contains(permissionChecker, id, actionId)) {
044 throw new PrincipalException();
045 }
046 }
047
048 public static void check(
049 PermissionChecker permissionChecker, long groupId, String feedId,
050 String actionId)
051 throws PortalException, SystemException {
052
053 if (!contains(permissionChecker, groupId, feedId, actionId)) {
054 throw new PrincipalException();
055 }
056 }
057
058 public static boolean contains(
059 PermissionChecker permissionChecker, JournalFeed feed,
060 String actionId) {
061
062 if (permissionChecker.hasOwnerPermission(
063 feed.getCompanyId(), JournalFeed.class.getName(), feed.getId(),
064 feed.getUserId(), actionId)) {
065
066 return true;
067 }
068
069 return permissionChecker.hasPermission(
070 feed.getGroupId(), JournalFeed.class.getName(), feed.getId(),
071 actionId);
072 }
073
074 public static boolean contains(
075 PermissionChecker permissionChecker, long feedId, String actionId)
076 throws PortalException, SystemException {
077
078 JournalFeed feed = JournalFeedLocalServiceUtil.getFeed(feedId);
079
080 return contains(permissionChecker, feed, actionId);
081 }
082
083 public static boolean contains(
084 PermissionChecker permissionChecker, long groupId, String feedId,
085 String actionId)
086 throws PortalException, SystemException {
087
088 JournalFeed feed = JournalFeedLocalServiceUtil.getFeed(groupId, feedId);
089
090 return contains(permissionChecker, feed, actionId);
091 }
092
093 }