Class DefaultPermissionsFacade

    • Constructor Detail

      • DefaultPermissionsFacade

        public DefaultPermissionsFacade()
    • Method Detail

      • calculateTypesPermissions

        public java.util.List<PermissionsData> calculateTypesPermissions​(java.lang.String principalUid,
                                                                         java.util.List<java.lang.String> types,
                                                                         java.util.List<java.lang.String> permissionNames)
        Description copied from interface: PermissionsFacade
        Calculate permissions for a principal and multiple types.
        Specified by:
        calculateTypesPermissions in interface PermissionsFacade
        Parameters:
        principalUid - principal uid to retrieve the permissions for.
        types - type ids
        permissionNames - permission names
        Returns:
        calculated types permissions (based on principal, its groups, the types and super types)
      • calculateAttributesPermissions

        public java.util.List<PermissionsData> calculateAttributesPermissions​(java.lang.String principalUid,
                                                                              java.util.List<java.lang.String> typeAttributes,
                                                                              java.util.List<java.lang.String> permissionNames)
        Description copied from interface: PermissionsFacade
        Calculate permissions for attributes
        Specified by:
        calculateAttributesPermissions in interface PermissionsFacade
        Parameters:
        principalUid - principal uid to retrieve the permissions for.
        typeAttributes - fully qualified attribute of the for .
        permissionNames - permissions names to look for
        Returns:
        calculated permissions for attributes
      • calculateGlobalPermissions

        public PermissionsData calculateGlobalPermissions​(java.lang.String principalUid,
                                                          java.util.List<java.lang.String> permissionNames)
        Description copied from interface: PermissionsFacade
        Calculate global permissions for a principal. This will look in the user group hierarchy as well.
        Specified by:
        calculateGlobalPermissions in interface PermissionsFacade
        Parameters:
        principalUid - principal uid to retrieve the permissions for.
        permissionNames - permissions names to look for
        Returns:
        calculated global permissions (based on principal and its groups)
      • retrieveSingleAttributePermissions

        protected PermissionsData retrieveSingleAttributePermissions​(java.util.List<java.lang.String> permissionNames,
                                                                     java.lang.String type,
                                                                     PrincipalModel principal,
                                                                     java.lang.String attributeQualifier)
      • getAttributeNameMatcher

        protected java.util.regex.Matcher getAttributeNameMatcher​(java.lang.String typeAttribute)
      • findAllAttributesForType

        protected java.util.List<java.lang.String> findAllAttributesForType​(java.lang.String type,
                                                                            java.lang.String attribute)
      • calculateCatalogPermissions

        public java.util.List<CatalogPermissionsData> calculateCatalogPermissions​(java.lang.String principalUid,
                                                                                  java.util.List<java.lang.String> catalogIds,
                                                                                  java.util.List<java.lang.String> catalogVersions)
        Description copied from interface: PermissionsFacade
        Calculate permissions for catalog version
        Specified by:
        calculateCatalogPermissions in interface PermissionsFacade
        Parameters:
        principalUid - principal uid to retrieve the permissions for.
        catalogIds - filter of catalog ids to consider
        catalogVersions - filter of catalog version to consider
        Returns:
        list of permissions for catalog versions that match any of the ids in catalogIds and any of the versions in catalogVersions
      • getSyncPermissions

        protected java.util.List<SyncPermissionsData> getSyncPermissions​(CatalogVersionModel catalogVersion,
                                                                         PrincipalModel principal)
        Gets sync permissions for a given catalog version and a given principal
        Parameters:
        catalogVersion - the catalog version
        principal - the principal
        Returns:
        the list of sync permissions data
      • buildSyncPermissionData

        protected SyncPermissionsData buildSyncPermissionData​(SyncItemJobModel syncJob,
                                                              PrincipalModel principal)
        Creates the sync permission data for a given sync job and a principal
        Parameters:
        syncJob - the sync job
        principal - the principal
        Returns:
        the sync permission data
      • getFilteredCatalogVersions

        protected java.util.List<CatalogVersionModel> getFilteredCatalogVersions​(java.util.List<java.lang.String> catalogIds,
                                                                                 java.util.List<java.lang.String> catalogVersions)
      • findPrincipal

        protected PrincipalModel findPrincipal​(java.lang.String principalUid)
      • executeWithAllCatalogs

        protected <T> T executeWithAllCatalogs​(java.util.function.Supplier<T> action)
      • executeInLocalView

        protected <T> T executeInLocalView​(java.util.function.Supplier<T> action)
      • setAllCatalogs

        protected void setAllCatalogs()
      • setPermissionCheckingService

        public void setPermissionCheckingService​(PermissionCheckingService permissionCheckingService)
      • setFlexibleSearchService

        public void setFlexibleSearchService​(FlexibleSearchService flexibleSearchService)
      • setCatalogVersionService

        public void setCatalogVersionService​(CatalogVersionService catalogVersionService)
      • setSearchRestrictionService

        public void setSearchRestrictionService​(SearchRestrictionService searchRestrictionService)
      • setSessionService

        public void setSessionService​(SessionService sessionService)
      • getTypeService

        protected TypeService getTypeService()
      • setTypeService

        public void setTypeService​(TypeService typeService)
      • setCatalogSynchronizationService

        public void setCatalogSynchronizationService​(CatalogSynchronizationService catalogSynchronizationService)