001
014
015 package com.liferay.portal.service.permission;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.exception.SystemException;
019 import com.liferay.portal.kernel.log.Log;
020 import com.liferay.portal.kernel.log.LogFactoryUtil;
021 import com.liferay.portal.model.Account;
022 import com.liferay.portal.model.Company;
023 import com.liferay.portal.model.Contact;
024 import com.liferay.portal.model.Organization;
025 import com.liferay.portal.model.User;
026 import com.liferay.portal.security.auth.PrincipalException;
027 import com.liferay.portal.security.permission.PermissionChecker;
028 import com.liferay.portal.service.UserLocalServiceUtil;
029 import com.liferay.portal.util.PortalUtil;
030
031
034 public class CommonPermissionImpl implements CommonPermission {
035
036 @Override
037 public void check(
038 PermissionChecker permissionChecker, long classNameId, long classPK,
039 String actionId)
040 throws PortalException, SystemException {
041
042 String className = PortalUtil.getClassName(classNameId);
043
044 check(permissionChecker, className, classPK, actionId);
045 }
046
047 @Override
048 public void check(
049 PermissionChecker permissionChecker, String className, long classPK,
050 String actionId)
051 throws PortalException, SystemException {
052
053 if (className.equals(Account.class.getName())) {
054 }
055 else if (className.equals(Company.class.getName())) {
056 }
057 else if (className.equals(Contact.class.getName())) {
058 User user = UserLocalServiceUtil.getUserByContactId(classPK);
059
060 UserPermissionUtil.check(
061 permissionChecker, user.getUserId(), actionId);
062 }
063 else if (className.equals(Organization.class.getName())) {
064 OrganizationPermissionUtil.check(
065 permissionChecker, classPK, actionId);
066 }
067 else if (className.equals(User.class.getName())) {
068 UserPermissionUtil.check(permissionChecker, classPK, actionId);
069 }
070 else {
071 if (_log.isWarnEnabled()) {
072 _log.warn("Invalid class name " + className);
073 }
074
075 throw new PrincipalException();
076 }
077 }
078
079 private static Log _log = LogFactoryUtil.getLog(CommonPermissionImpl.class);
080
081 }