001
014
015 package com.liferay.portal.security.membershippolicy;
016
017 import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
018 import com.liferay.portal.kernel.exception.PortalException;
019 import com.liferay.portal.model.Role;
020 import com.liferay.portal.service.RoleLocalServiceUtil;
021
022
026 public abstract class BaseRoleMembershipPolicy implements RoleMembershipPolicy {
027
028 @Override
029 @SuppressWarnings("unused")
030 public boolean isRoleAllowed(long userId, long roleId)
031 throws PortalException {
032
033 try {
034 checkRoles(new long[] {userId}, new long[] {roleId}, null);
035 }
036 catch (Exception e) {
037 return false;
038 }
039
040 return true;
041 }
042
043 @Override
044 @SuppressWarnings("unused")
045 public boolean isRoleRequired(long userId, long roleId)
046 throws PortalException {
047
048 try {
049 checkRoles(new long[] {userId}, null, new long[] {roleId});
050 }
051 catch (Exception e) {
052 return true;
053 }
054
055 return false;
056 }
057
058 @Override
059 public void verifyPolicy() throws PortalException {
060 ActionableDynamicQuery actionableDynamicQuery =
061 RoleLocalServiceUtil.getActionableDynamicQuery();
062
063 actionableDynamicQuery.setPerformActionMethod(
064 new ActionableDynamicQuery.PerformActionMethod<Role>() {
065
066 @Override
067 public void performAction(Role role) throws PortalException {
068 verifyPolicy(role);
069 }
070
071 });
072
073 actionableDynamicQuery.performActions();
074 }
075
076 @Override
077 public void verifyPolicy(Role role) throws PortalException {
078 verifyPolicy(role, null, null);
079 }
080
081 }