001
014
015 package com.liferay.portal.security.permission;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.registry.collections.ServiceTrackerCollections;
019 import com.liferay.registry.collections.ServiceTrackerMap;
020
021
024 public class ResourcePermissionCheckerUtil {
025
026 public static Boolean containsResourcePermission(
027 PermissionChecker permissionChecker, String className, long classPK,
028 String actionId)
029 throws PortalException {
030
031 ResourcePermissionChecker resourcePermissionChecker =
032 _serviceTrackerMap.getService(className);
033
034 if (resourcePermissionChecker == null) {
035 return null;
036 }
037
038 Boolean resource = resourcePermissionChecker.checkResource(
039 permissionChecker, classPK, actionId);
040
041 if (resource != null) {
042 return resource.booleanValue();
043 }
044
045 return null;
046 }
047
048 private static final ServiceTrackerMap<String, ResourcePermissionChecker>
049 _serviceTrackerMap = ServiceTrackerCollections.singleValueMap(
050 ResourcePermissionChecker.class, "resource.name");
051
052 static {
053 _serviceTrackerMap.open();
054 }
055
056 }