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.UserGroup;
020 import com.liferay.portal.service.UserGroupLocalServiceUtil;
021
022
026 public abstract class BaseUserGroupMembershipPolicy
027 implements UserGroupMembershipPolicy {
028
029 @Override
030 @SuppressWarnings("unused")
031 public boolean isMembershipAllowed(long userId, long userGroupId)
032 throws PortalException {
033
034 try {
035 checkMembership(
036 new long[] {userId}, new long[] {userGroupId}, null);
037 }
038 catch (Exception e) {
039 return false;
040 }
041
042 return true;
043 }
044
045 @Override
046 @SuppressWarnings("unused")
047 public boolean isMembershipRequired(long userId, long userGroupId)
048 throws PortalException {
049
050 try {
051 checkMembership(
052 new long[] {userId}, null, new long[] {userGroupId});
053 }
054 catch (Exception e) {
055 return true;
056 }
057
058 return false;
059 }
060
061 @Override
062 public void verifyPolicy() throws PortalException {
063 ActionableDynamicQuery actionableDynamicQuery =
064 UserGroupLocalServiceUtil.getActionableDynamicQuery();
065
066 actionableDynamicQuery.setPerformActionMethod(
067 new ActionableDynamicQuery.PerformActionMethod() {
068
069 @Override
070 public void performAction(Object object)
071 throws PortalException {
072
073 UserGroup userGroup = (UserGroup)object;
074
075 verifyPolicy(userGroup);
076 }
077
078 });
079
080 actionableDynamicQuery.performActions();
081 }
082
083 @Override
084 public void verifyPolicy(UserGroup userGroup) throws PortalException {
085 verifyPolicy(userGroup, null, null);
086 }
087
088 }