001
014
015 package com.liferay.portlet.usergroupsadmin.search;
016
017 import com.liferay.portal.kernel.dao.search.RowChecker;
018 import com.liferay.portal.kernel.log.Log;
019 import com.liferay.portal.kernel.log.LogFactoryUtil;
020 import com.liferay.portal.model.User;
021 import com.liferay.portal.model.UserGroup;
022 import com.liferay.portal.security.membershippolicy.UserGroupMembershipPolicyUtil;
023 import com.liferay.portal.service.UserLocalServiceUtil;
024
025 import javax.portlet.RenderResponse;
026
027
030 public class UserUserGroupChecker extends RowChecker {
031
032 public UserUserGroupChecker(
033 RenderResponse renderResponse, UserGroup userGroup) {
034
035 super(renderResponse);
036
037 _userGroup = userGroup;
038 }
039
040 @Override
041 public boolean isChecked(Object obj) {
042 User user = (User)obj;
043
044 try {
045 return UserLocalServiceUtil.hasUserGroupUser(
046 _userGroup.getUserGroupId(), user.getUserId());
047 }
048 catch (Exception e) {
049 _log.error(e, e);
050
051 return false;
052 }
053 }
054
055 @Override
056 public boolean isDisabled(Object obj) {
057 User user = (User)obj;
058
059 try {
060 if (isChecked(user)) {
061 if (UserGroupMembershipPolicyUtil.isMembershipRequired(
062 user.getUserId(), _userGroup.getUserGroupId())) {
063
064 return true;
065 }
066 }
067 else {
068 if (!UserGroupMembershipPolicyUtil.isMembershipAllowed(
069 user.getUserId(), _userGroup.getUserGroupId())) {
070
071 return true;
072 }
073 }
074 }
075 catch (Exception e) {
076 _log.error(e, e);
077 }
078
079 return super.isDisabled(obj);
080 }
081
082 private static Log _log = LogFactoryUtil.getLog(UserUserGroupChecker.class);
083
084 private UserGroup _userGroup;
085
086 }