1
14
15 package com.liferay.portlet.journal.service.permission;
16
17 import com.liferay.portal.PortalException;
18 import com.liferay.portal.SystemException;
19 import com.liferay.portal.security.auth.PrincipalException;
20 import com.liferay.portal.security.permission.PermissionChecker;
21 import com.liferay.portlet.journal.model.JournalArticle;
22 import com.liferay.portlet.journal.service.JournalArticleLocalServiceUtil;
23
24
29 public class JournalArticlePermission {
30
31 public static void check(
32 PermissionChecker permissionChecker, JournalArticle article,
33 String actionId)
34 throws PortalException {
35
36 if (!contains(permissionChecker, article, actionId)) {
37 throw new PrincipalException();
38 }
39 }
40
41 public static void check(
42 PermissionChecker permissionChecker, long groupId, String articleId,
43 double version, String actionId)
44 throws PortalException, SystemException {
45
46 if (!contains(
47 permissionChecker, groupId, articleId, version, actionId)) {
48
49 throw new PrincipalException();
50 }
51 }
52
53 public static void check(
54 PermissionChecker permissionChecker, long groupId, String articleId,
55 String actionId)
56 throws PortalException, SystemException {
57
58 if (!contains(permissionChecker, groupId, articleId, actionId)) {
59 throw new PrincipalException();
60 }
61 }
62
63 public static boolean contains(
64 PermissionChecker permissionChecker, JournalArticle article,
65 String actionId) {
66
67 if (permissionChecker.hasOwnerPermission(
68 article.getCompanyId(), JournalArticle.class.getName(),
69 article.getResourcePrimKey(), article.getUserId(), actionId)) {
70
71 return true;
72 }
73
74 return permissionChecker.hasPermission(
75 article.getGroupId(), JournalArticle.class.getName(),
76 article.getResourcePrimKey(), actionId);
77 }
78
79 public static boolean contains(
80 PermissionChecker permissionChecker, long groupId, String articleId,
81 double version, String actionId)
82 throws PortalException, SystemException {
83
84 JournalArticle article = JournalArticleLocalServiceUtil.getArticle(
85 groupId, articleId, version);
86
87 return contains(permissionChecker, article, actionId);
88 }
89
90 public static boolean contains(
91 PermissionChecker permissionChecker, long groupId, String articleId,
92 String actionId)
93 throws PortalException, SystemException {
94
95 JournalArticle article = JournalArticleLocalServiceUtil.getArticle(
96 groupId, articleId);
97
98 return contains(permissionChecker, article, actionId);
99 }
100
101 }