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.JournalStructure;
22 import com.liferay.portlet.journal.service.JournalStructureLocalServiceUtil;
23
24
29 public class JournalStructurePermission {
30
31 public static void check(
32 PermissionChecker permissionChecker, JournalStructure structure,
33 String actionId)
34 throws PortalException {
35
36 if (!contains(permissionChecker, structure, actionId)) {
37 throw new PrincipalException();
38 }
39 }
40
41 public static void check(
42 PermissionChecker permissionChecker, long groupId,
43 String structureId, String actionId)
44 throws PortalException, SystemException {
45
46 if (!contains(permissionChecker, groupId, structureId, actionId)) {
47 throw new PrincipalException();
48 }
49 }
50
51 public static boolean contains(
52 PermissionChecker permissionChecker, JournalStructure structure,
53 String actionId) {
54
55 if (permissionChecker.hasOwnerPermission(
56 structure.getCompanyId(), JournalStructure.class.getName(),
57 structure.getPrimaryKey(), structure.getUserId(), actionId)) {
58
59 return true;
60 }
61
62 return permissionChecker.hasPermission(
63 structure.getGroupId(), JournalStructure.class.getName(),
64 structure.getId(), actionId);
65 }
66
67 public static boolean contains(
68 PermissionChecker permissionChecker, long groupId,
69 String structureId, String actionId)
70 throws PortalException, SystemException {
71
72 JournalStructure structure =
73 JournalStructureLocalServiceUtil.getStructure(groupId, structureId);
74
75 return contains(permissionChecker, structure, actionId);
76 }
77
78 }