1
22
23 package com.liferay.portlet.journal.service.permission;
24
25 import com.liferay.portal.PortalException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.security.auth.PrincipalException;
28 import com.liferay.portal.security.permission.PermissionChecker;
29 import com.liferay.portlet.journal.model.JournalFeed;
30 import com.liferay.portlet.journal.service.JournalFeedLocalServiceUtil;
31
32
37 public class JournalFeedPermission {
38
39 public static void check(
40 PermissionChecker permissionChecker, long feedId, String actionId)
41 throws PortalException, SystemException {
42
43 if (!contains(permissionChecker, feedId, actionId)) {
44 throw new PrincipalException();
45 }
46 }
47
48 public static void check(
49 PermissionChecker permissionChecker, long groupId, String feedId,
50 String actionId)
51 throws PortalException, SystemException {
52
53 if (!contains(permissionChecker, groupId, feedId, actionId)) {
54 throw new PrincipalException();
55 }
56 }
57
58 public static void check(
59 PermissionChecker permissionChecker, JournalFeed feed,
60 String actionId)
61 throws PortalException {
62
63 if (!contains(permissionChecker, feed, actionId)) {
64 throw new PrincipalException();
65 }
66 }
67
68 public static boolean contains(
69 PermissionChecker permissionChecker, long feedId, String actionId)
70 throws PortalException, SystemException {
71
72 JournalFeed feed = JournalFeedLocalServiceUtil.getFeed(feedId);
73
74 return contains(permissionChecker, feed, actionId);
75 }
76
77 public static boolean contains(
78 PermissionChecker permissionChecker, long groupId, String feedId,
79 String actionId)
80 throws PortalException, SystemException {
81
82 JournalFeed feed = JournalFeedLocalServiceUtil.getFeed(groupId, feedId);
83
84 return contains(permissionChecker, feed, actionId);
85 }
86
87 public static boolean contains(
88 PermissionChecker permissionChecker, JournalFeed feed,
89 String actionId) {
90
91 if (permissionChecker.hasOwnerPermission(
92 feed.getCompanyId(), JournalFeed.class.getName(),
93 feed.getPrimaryKey(), feed.getUserId(), actionId)) {
94
95 return true;
96 }
97
98 return permissionChecker.hasPermission(
99 feed.getGroupId(), JournalFeed.class.getName(), feed.getId(),
100 actionId);
101 }
102
103 }