001
014
015 package com.liferay.portal.security.permission;
016
017 import com.liferay.registry.collections.ServiceTrackerCollections;
018 import com.liferay.registry.collections.ServiceTrackerMap;
019
020
023 public class BaseModelPermissionCheckerUtil {
024
025 public static Boolean containsBaseModelPermission(
026 PermissionChecker permissionChecker, long groupId, String className,
027 long classPK, String actionId) {
028
029 BaseModelPermissionChecker baseModelPermissionChecker =
030 _serviceTrackerMap.getService(className);
031
032 if (baseModelPermissionChecker == null) {
033 return null;
034 }
035
036 try {
037 baseModelPermissionChecker.checkBaseModel(
038 permissionChecker, groupId, classPK, actionId);
039 }
040 catch (Exception e) {
041 return false;
042 }
043
044 return true;
045 }
046
047 private static final ServiceTrackerMap<String, BaseModelPermissionChecker>
048 _serviceTrackerMap = ServiceTrackerCollections.openSingleValueMap(
049 BaseModelPermissionChecker.class, "model.class.name");
050
051 }