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