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 public void check(
037 PermissionChecker permissionChecker, long classNameId, long classPK,
038 String actionId)
039 throws PortalException, SystemException {
040
041 String className = PortalUtil.getClassName(classNameId);
042
043 check(permissionChecker, className, classPK, actionId);
044 }
045
046 public void check(
047 PermissionChecker permissionChecker, String className, long classPK,
048 String actionId)
049 throws PortalException, SystemException {
050
051 if (className.equals(Account.class.getName())) {
052 }
053 else if (className.equals(Company.class.getName())) {
054 }
055 else if (className.equals(Contact.class.getName())) {
056 User user = UserLocalServiceUtil.getUserByContactId(classPK);
057
058 UserPermissionUtil.check(
059 permissionChecker, user.getUserId(), actionId);
060 }
061 else if (className.equals(Organization.class.getName())) {
062 OrganizationPermissionUtil.check(
063 permissionChecker, classPK, actionId);
064 }
065 else if (className.equals(User.class.getName())) {
066 UserPermissionUtil.check(permissionChecker, classPK, actionId);
067 }
068 else {
069 if (_log.isWarnEnabled()) {
070 _log.warn("Invalid class name " + className);
071 }
072
073 throw new PrincipalException();
074 }
075 }
076
077 private static Log _log = LogFactoryUtil.getLog(CommonPermissionImpl.class);
078
079 }