Class SiteServiceImpl

    • Constructor Summary

      Constructors 
      Constructor Description
      SiteServiceImpl()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void beforePurgeNode​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Called before a node is purged (deleted from archive).
      void beforeRestoreArchivedNode​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Called before an archived node is restored.
      boolean canAddMember​(java.lang.String shortName, java.lang.String authorityName, java.lang.String role)
      Can the current user add the authority "authorityName" to the site "shortName" with role "role"?
      void cleanSitePermissions​(org.alfresco.service.cmr.repository.NodeRef targetNode, SiteInfo containingSite)
      This method recursively cleans the site permissions on the specified NodeRef and all its primary descendants.
      int countAuthoritiesWithRole​(java.lang.String shortName, java.lang.String role)  
      org.alfresco.service.cmr.repository.NodeRef createContainer​(java.lang.String shortName, java.lang.String componentId, org.alfresco.service.namespace.QName containerType, java.util.Map<org.alfresco.service.namespace.QName,​java.io.Serializable> containerProperties)
      Creates a container for a component is a site of the given container type (must be a sub-type of st:siteContainer)
      SiteInfo createSite​(java.lang.String sitePreset, java.lang.String passedShortName, java.lang.String title, java.lang.String description, boolean isPublic)
      Create a new site.
      SiteInfo createSite​(java.lang.String sitePreset, java.lang.String passedShortName, java.lang.String title, java.lang.String description, SiteVisibility visibility)
      Create a new site.
      SiteInfo createSite​(java.lang.String sitePreset, java.lang.String passedShortName, java.lang.String title, java.lang.String description, SiteVisibility visibility, org.alfresco.service.namespace.QName siteType)
      Create a new site.
      void deleteSite​(java.lang.String shortName)
      Delete the site.
      protected void deleteSiteImpl​(java.lang.String shortName)  
      java.util.List<SiteInfo> findSites​(java.lang.String filter, int size)
      This method will find all sites available to the currently authenticated user based on the specified site filter and result set size.
      java.util.List<SiteInfo> findSites​(java.lang.String filter, java.lang.String sitePresetFilter, int size)
      This method will find all sites available to the currently authenticated user based on the specified site filter, site preset filter and result set size.
      org.alfresco.service.cmr.repository.NodeRef getContainer​(java.lang.String shortName, java.lang.String componentId)
      Gets the "container" folder for the specified component.
      java.lang.String getMembersRole​(java.lang.String shortName, java.lang.String authorityName)  
      SiteMemberInfo getMembersRoleInfo​(java.lang.String shortName, java.lang.String authorityName)
      Gets the extended role information of the specified user.
      java.util.List<java.lang.String> getMembersRoles​(java.lang.String shortName, java.lang.String authorityName)  
      java.util.Comparator<java.lang.String> getRoleComparator()  
      SiteInfo getSite​(java.lang.String shortName)
      Gets site information based on the short name of a site.
      SiteInfo getSite​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      This method gets the SiteInfo for the Share Site which contains the given NodeRef.
      static org.alfresco.service.cmr.repository.NodeRef getSiteContainer​(java.lang.String siteShortName, java.lang.String componentName, boolean create, SiteService siteService, TransactionService transactionService, TaggingService taggingService)
      Helper method to create a container if missing, and mark it as a tag scope if it isn't already one
      java.lang.String getSiteGroup​(java.lang.String shortName)
      Gets the sites group.
      java.lang.String getSiteGroup​(java.lang.String shortName, boolean withGroupPrefix)
      Helper method to get the name of the site group
      java.lang.String getSiteRoleGroup​(java.lang.String shortName, java.lang.String role)
      Gets the sites role group.
      java.lang.String getSiteRoleGroup​(java.lang.String shortName, java.lang.String permission, boolean withGroupPrefix)
      Helper method to get the name of the site permission group
      java.util.List<java.lang.String> getSiteRoles()
      Gets a list of all the currently available roles that a user can perform on all sites
      java.util.List<java.lang.String> getSiteRoles​(java.lang.String shortName)
      Gets a list of all the currently available roles that a user can perform on a specific site.
      java.util.List<java.lang.String> getSiteRoles​(org.alfresco.service.namespace.QName type)  
      org.alfresco.service.cmr.repository.NodeRef getSiteRoot()
      Get the node reference that is the site root
      java.lang.String getSiteShortName​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      This method gets the shortName for the Share Site which contains the given NodeRef.
      boolean hasContainer​(java.lang.String shortName, java.lang.String componentId)
      Determines if a "container" folder for the specified component exists.
      boolean hasCreateSitePermissions()
      This method checks if the currently authenticated user has permission to create sites.
      boolean hasSite​(java.lang.String shortName)
      Returns true if the site exists.
      void init()
      Checks that all necessary properties and services have been provided.
      boolean isMember​(java.lang.String shortName, java.lang.String authorityName)
      Indicates whether an authority is a member of a site or not
      boolean isSiteAdmin​(java.lang.String userName)
      Indicates whether the specified user is a site administrator or not.
      org.alfresco.query.PagingResults<FileInfo> listContainers​(java.lang.String shortName, org.alfresco.query.PagingRequest pagingRequest)
      Returns a paged list of top level containers for the site
      void listMembers​(java.lang.String shortName, java.lang.String nameFilter, java.lang.String roleFilter, boolean collapseGroups, SiteService.SiteMembersCallback callback)
      List the members of the site.
      java.util.Map<java.lang.String,​java.lang.String> listMembers​(java.lang.String shortName, java.lang.String nameFilter, java.lang.String roleFilter, int size)
      List the members of the site.
      java.util.Map<java.lang.String,​java.lang.String> listMembers​(java.lang.String shortName, java.lang.String nameFilter, java.lang.String roleFilter, int size, boolean collapseGroups)
      List the members of the site.
      protected void listMembersImpl​(java.lang.String shortName, java.lang.String nameFilter, java.lang.String roleFilter, boolean collapseGroups, SiteService.SiteMembersCallback callback)  
      protected java.util.Map<java.lang.String,​java.lang.String> listMembersImpl​(java.lang.String shortName, java.lang.String nameFilter, java.lang.String roleFilter, int size, boolean collapseGroups)  
      java.util.List<SiteMemberInfo> listMembersInfo​(java.lang.String shortName, java.lang.String nameFilter, java.lang.String roleFilter, int size, boolean collapseGroups)
      List the members of the site.
      protected java.util.List<SiteMemberInfo> listMembersInfoImpl​(java.lang.String shortName, java.lang.String nameFilter, java.lang.String roleFilter, int size, boolean collapseGroups)  
      org.alfresco.query.PagingResults<SiteMembership> listMembersPaged​(java.lang.String shortName, boolean collapseGroups, java.util.List<org.alfresco.util.Pair<SiteService.SortFields,​java.lang.Boolean>> sortProps, org.alfresco.query.PagingRequest pagingRequest)
      Gets the role of the specified user.
      java.util.List<SiteMembership> listSiteMemberships​(java.lang.String userName, int size)
      Lists all the memberships in sites that the specified user is in.
      java.util.List<SiteInfo> listSites​(java.lang.String userName)
      List all the sites that the specified user has a explicit membership to.
      java.util.List<SiteInfo> listSites​(java.lang.String userName, int size)
      List all the sites that the specified user has a explicit membership to.
      java.util.List<SiteInfo> listSites​(java.lang.String nameFilter, java.lang.String sitePresetFilter)
      List the available sites.
      java.util.List<SiteInfo> listSites​(java.lang.String filter, java.lang.String sitePresetFilter, int size)
      List the available sites.
      org.alfresco.query.PagingResults<SiteInfo> listSites​(java.util.List<FilterProp> filterProps, java.util.List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,​java.lang.Boolean>> sortProps, org.alfresco.query.PagingRequest pagingRequest)
      This method uses canned queries to retrieve st:site NodeRefs with support for result paging.
      java.util.List<SiteInfo> listSites​(java.util.Set<java.lang.String> siteNames)  
      org.alfresco.query.PagingResults<SiteMembership> listSitesPaged​(java.lang.String userName, java.util.List<org.alfresco.util.Pair<SiteService.SortFields,​java.lang.Boolean>> sortProps, org.alfresco.query.PagingRequest pagingRequest)
      List all the sites that the specified user has a explicit membership to.
      protected void onBootstrap​(org.springframework.context.ApplicationEvent event)  
      void onRestoreArchivedNode​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
      Called after an archived node is restored.
      void onRestoreNode​(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
      Called after an archived node is restored.
      protected void onShutdown​(org.springframework.context.ApplicationEvent event)  
      void removeMembership​(java.lang.String shortName, java.lang.String authorityName)
      Clears an authorities role within a site
      java.lang.String resolveSite​(java.lang.String group)  
      void setActivityService​(ActivityService activityService)
      Set activity service
      void setAuthenticationContext​(AuthenticationContext authenticationContext)
      Set authentication component
      void setAuthorityService​(AuthorityService authorityService)
      Set the authority service
      void setBehaviourFilter​(BehaviourFilter behaviourFilter)  
      void setCannedQueryRegistry​(org.alfresco.util.registry.NamedObjectRegistry<org.alfresco.query.CannedQueryFactory<? extends java.lang.Object>> cannedQueryRegistry)
      Set the registry of canned queries
      void setDictionaryService​(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
      Set the dictionary service
      void setDirectNodeService​(org.alfresco.service.cmr.repository.NodeService directNodeService)
      Set the unprotected node service
      void setEventPublisher​(org.alfresco.sync.repo.events.EventPublisher eventPublisher)  
      void setFileFolderService​(FileFolderService fileFolderService)
      Set file folder service
      void setMembership​(java.lang.String shortName, java.lang.String authorityName, java.lang.String role)
      Sets the role of an authority within a site
      void setNamespaceService​(org.alfresco.service.namespace.NamespaceService namespaceService)
      Set Namespace service
      void setNodeDAO​(NodeDAO nodeDAO)  
      void setNodeService​(org.alfresco.service.cmr.repository.NodeService nodeService)
      Set node service
      void setPermissionService​(org.alfresco.service.cmr.security.PermissionService permissionService)
      Set permission service
      void setPersonService​(PersonService personService)
      Set person service
      void setPolicyComponent​(PolicyComponent policyComponent)  
      void setPreferenceService​(PreferenceService preferenceService)
      Deprecated.
      void setPublicServiceAccessService​(PublicServiceAccessService publicServiceAccessService)  
      void setRoleComparator​(java.util.Comparator<java.lang.String> roleComparator)  
      void setSearchService​(org.alfresco.service.cmr.search.SearchService searchService)
      Set search service
      void setSingletonCache​(org.alfresco.repo.cache.SimpleCache<java.lang.String,​java.lang.Object> singletonCache)  
      void setSiteNodeRefCache​(org.alfresco.repo.cache.SimpleCache<java.lang.String,​org.alfresco.service.cmr.repository.NodeRef> siteNodeRefCache)  
      void setSitesPermissionsCleaner​(SitesPermissionCleaner sitesPermissionsCleaner)  
      void setSitesXPath​(java.lang.String sitesXPath)
      Set the path to the location of the sites root folder.
      void setSysAdminParams​(SysAdminParams sysAdminParams)  
      void setTaggingService​(TaggingService taggingService)
      Set the tagging service
      void setTenantService​(org.alfresco.repo.tenant.TenantService tenantService)
      Set the tenant service
      void setTransactionHelper​(RetryingTransactionHelper retryingTransactionHelper)
      Sets helper that provides transaction callbacks
      void updateSite​(SiteInfo siteInfo)
      Update the site information.
      • Methods inherited from class org.springframework.extensions.surf.util.AbstractLifecycleBean

        getApplicationContext, onApplicationEvent, setApplicationContext
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • logger

        protected static org.apache.commons.logging.Log logger
        Logger
      • SITE_STORE

        public static final org.alfresco.service.cmr.repository.StoreRef SITE_STORE
        The DM store where site's are kept
    • Constructor Detail

      • SiteServiceImpl

        public SiteServiceImpl()
    • Method Detail

      • setSitesXPath

        public void setSitesXPath​(java.lang.String sitesXPath)
        Set the path to the location of the sites root folder. For example:
         ./app:company_home/st:sites
         
        Parameters:
        sitesXPath - a valid XPath
      • setPreferenceService

        @Deprecated
        public void setPreferenceService​(PreferenceService preferenceService)
        Deprecated.
      • setNodeService

        public void setNodeService​(org.alfresco.service.cmr.repository.NodeService nodeService)
        Set node service
      • setDirectNodeService

        public void setDirectNodeService​(org.alfresco.service.cmr.repository.NodeService directNodeService)
        Set the unprotected node service
      • setFileFolderService

        public void setFileFolderService​(FileFolderService fileFolderService)
        Set file folder service
      • setSearchService

        public void setSearchService​(org.alfresco.service.cmr.search.SearchService searchService)
        Set search service
      • setNamespaceService

        public void setNamespaceService​(org.alfresco.service.namespace.NamespaceService namespaceService)
        Set Namespace service
      • setPermissionService

        public void setPermissionService​(org.alfresco.service.cmr.security.PermissionService permissionService)
        Set permission service
      • setActivityService

        public void setActivityService​(ActivityService activityService)
        Set activity service
      • setPersonService

        public void setPersonService​(PersonService personService)
        Set person service
      • setAuthenticationContext

        public void setAuthenticationContext​(AuthenticationContext authenticationContext)
        Set authentication component
      • setTaggingService

        public void setTaggingService​(TaggingService taggingService)
        Set the tagging service
      • setAuthorityService

        public void setAuthorityService​(AuthorityService authorityService)
        Set the authority service
      • setDictionaryService

        public void setDictionaryService​(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
        Set the dictionary service
        Parameters:
        dictionaryService - dictionary service
      • setTenantService

        public void setTenantService​(org.alfresco.repo.tenant.TenantService tenantService)
        Set the tenant service
        Parameters:
        tenantService - tenant service
      • setSingletonCache

        public void setSingletonCache​(org.alfresco.repo.cache.SimpleCache<java.lang.String,​java.lang.Object> singletonCache)
      • setSiteNodeRefCache

        public void setSiteNodeRefCache​(org.alfresco.repo.cache.SimpleCache<java.lang.String,​org.alfresco.service.cmr.repository.NodeRef> siteNodeRefCache)
      • setTransactionHelper

        public void setTransactionHelper​(RetryingTransactionHelper retryingTransactionHelper)
        Sets helper that provides transaction callbacks
      • setPolicyComponent

        public void setPolicyComponent​(PolicyComponent policyComponent)
      • setRoleComparator

        public void setRoleComparator​(java.util.Comparator<java.lang.String> roleComparator)
      • setSysAdminParams

        public void setSysAdminParams​(SysAdminParams sysAdminParams)
      • setBehaviourFilter

        public void setBehaviourFilter​(BehaviourFilter behaviourFilter)
      • setSitesPermissionsCleaner

        public void setSitesPermissionsCleaner​(SitesPermissionCleaner sitesPermissionsCleaner)
      • setPublicServiceAccessService

        public void setPublicServiceAccessService​(PublicServiceAccessService publicServiceAccessService)
      • setNodeDAO

        public void setNodeDAO​(NodeDAO nodeDAO)
      • setCannedQueryRegistry

        public void setCannedQueryRegistry​(org.alfresco.util.registry.NamedObjectRegistry<org.alfresco.query.CannedQueryFactory<? extends java.lang.Object>> cannedQueryRegistry)
        Set the registry of canned queries
      • getRoleComparator

        public java.util.Comparator<java.lang.String> getRoleComparator()
      • init

        public void init()
        Checks that all necessary properties and services have been provided.
      • onBootstrap

        protected void onBootstrap​(org.springframework.context.ApplicationEvent event)
        Specified by:
        onBootstrap in class org.springframework.extensions.surf.util.AbstractLifecycleBean
      • onShutdown

        protected void onShutdown​(org.springframework.context.ApplicationEvent event)
        Specified by:
        onShutdown in class org.springframework.extensions.surf.util.AbstractLifecycleBean
      • hasCreateSitePermissions

        public boolean hasCreateSitePermissions()
        Description copied from interface: SiteService
        This method checks if the currently authenticated user has permission to create sites.
        Specified by:
        hasCreateSitePermissions in interface SiteService
        Returns:
        true if current user can create sites, else false.
      • createSite

        public SiteInfo createSite​(java.lang.String sitePreset,
                                   java.lang.String passedShortName,
                                   java.lang.String title,
                                   java.lang.String description,
                                   SiteVisibility visibility,
                                   org.alfresco.service.namespace.QName siteType)
        Description copied from interface: SiteService
        Create a new site.
        Specified by:
        createSite in interface SiteService
        Parameters:
        sitePreset - site preset name
        passedShortName - site short name, must be unique
        title - site title
        description - site description
        visibility - site visibility (public|moderated|private)
        siteType - type of site to create, must be a sub-type of st:site
        Returns:
        SiteInfo information about the created site
      • getSiteGroup

        public java.lang.String getSiteGroup​(java.lang.String shortName)
        Description copied from interface: SiteService
        Gets the sites group. All members of the site are contained within this group.
        Specified by:
        getSiteGroup in interface SiteService
        Parameters:
        shortName - site short name
        Returns:
        String group name
        See Also:
        SiteService.getSiteGroup(java.lang.String)
      • getSiteGroup

        public java.lang.String getSiteGroup​(java.lang.String shortName,
                                             boolean withGroupPrefix)
        Helper method to get the name of the site group
        Parameters:
        shortName - site short name
        Returns:
        String site group name
      • getSiteRoleGroup

        public java.lang.String getSiteRoleGroup​(java.lang.String shortName,
                                                 java.lang.String permission,
                                                 boolean withGroupPrefix)
        Helper method to get the name of the site permission group
        Parameters:
        shortName - site short name
        permission - permission name
        withGroupPrefix - - should the name have the GROUP_ prefix?
        Returns:
        String site permission group name
      • getSiteRoot

        public org.alfresco.service.cmr.repository.NodeRef getSiteRoot()
        Get the node reference that is the site root
        Specified by:
        getSiteRoot in interface SiteService
        Specified by:
        getSiteRoot in interface SiteServiceInternal
        Returns:
        NodeRef node reference
      • findSites

        public java.util.List<SiteInfo> findSites​(java.lang.String filter,
                                                  int size)
        Description copied from interface: SiteService
        This method will find all sites available to the currently authenticated user based on the specified site filter and result set size. The filter parameter will match any sites whose cm:name, cm:title or cm:description contain the specified string (ignoring case).

        Note that this method uses Alfresco Full Text Search to retrieve results and depending on server Lucene, SOLR configuration may only offer eventually consistent results.

        Specified by:
        findSites in interface SiteService
        Parameters:
        filter - Any supplied filter will be wrapped in asterisks (e.g. 'foo*') and used to match the sites' cm:name, cm:title or cm:description.
        size - this parameter specifies a maximum result set size.
        Returns:
        Site objects for all matching sites up to the maximum result size.
      • findSites

        public java.util.List<SiteInfo> findSites​(java.lang.String filter,
                                                  java.lang.String sitePresetFilter,
                                                  int size)
        Description copied from interface: SiteService
        This method will find all sites available to the currently authenticated user based on the specified site filter, site preset filter and result set size. The filter parameter will match any sites whose cm:name, cm:title or cm:description contain the specified string (ignoring case).

        Note that this method uses Alfresco Full Text Search to retrieve results and depending on server Lucene, SOLR configuration may only offer eventually consistent results.

        Specified by:
        findSites in interface SiteService
        Parameters:
        filter - Any supplied filter will be wrapped in asterisks (e.g. '*foo*') and used to match the sites' cm:name, cm:title or cm:description.
        sitePresetFilter - a site preset filter name to match against.
        size - this parameter specifies a maximum result set size.
        Returns:
        Site objects for all matching sites up to the maximum result size.
      • listSites

        public java.util.List<SiteInfo> listSites​(java.lang.String nameFilter,
                                                  java.lang.String sitePresetFilter)
        Description copied from interface: SiteService
        List the available sites. This list can optionally be filtered by site name/title/description and/or site preset.

        Note: Starting with Alfresco 4.0, the filter parameter will only match sites whose cm:name or cm:title or cm:description start with the specified string (ignoring case). The listing of sites whose cm:names (or titles or descriptions) contain the specified string is no longer supported. To retrieve sites whose cm:names etc contain a substring, SiteService.findSites(String, String, int) should be used instead.

        Specified by:
        listSites in interface SiteService
        Parameters:
        nameFilter - filter
        sitePresetFilter - site preset filter
        Returns:
        list of site information
        See Also:
        SiteService.listSites(java.lang.String, java.lang.String)
      • listSites

        public java.util.List<SiteInfo> listSites​(java.lang.String filter,
                                                  java.lang.String sitePresetFilter,
                                                  int size)
        Description copied from interface: SiteService
        List the available sites. This list can optionally be filtered by site name/title/description and/or site preset.

        Note: Starting with Alfresco 4.0, the filter parameter will only match sites whose cm:name or cm:title or cm:description start with the specified string (ignoring case). The listing of sites whose cm:names (or titles or descriptions) contain the specified string is no longer supported. To retrieve sites whose cm:names etc contain a substring, SiteService.findSites(String, String, int) should be used instead.

        THIS METHOD CAN RETURN INCOMPLETE RESULTS WHILE CACHES CATCH UP WITH REALITY (BM-0012: Run v420b1494_01: (CMIS) GetSites is Slow).

        Specified by:
        listSites in interface SiteService
        Parameters:
        filter - filter (sites whose cm:name, cm:title or cm:description START WITH filter)
        sitePresetFilter - site preset filter (sites whose preset EQUALS sitePresetFilter)
        size - list maximum size or zero for all
        Returns:
        list of site information
        See Also:
        SiteService.listSites(java.lang.String, java.lang.String, int)
      • listSites

        public java.util.List<SiteInfo> listSites​(java.lang.String userName)
        Description copied from interface: SiteService
        List all the sites that the specified user has a explicit membership to.
        Specified by:
        listSites in interface SiteService
        Parameters:
        userName - user name
        Returns:
        list of site information
      • listSites

        public java.util.List<SiteInfo> listSites​(java.lang.String userName,
                                                  int size)
        Description copied from interface: SiteService
        List all the sites that the specified user has a explicit membership to.
        Specified by:
        listSites in interface SiteService
        Parameters:
        userName - user name
        size - list maximum size or zero for all
        Returns:
        list of site information
        See Also:
        SiteService.listSites(java.lang.String, int)
      • listSites

        public org.alfresco.query.PagingResults<SiteInfo> listSites​(java.util.List<FilterProp> filterProps,
                                                                    java.util.List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,​java.lang.Boolean>> sortProps,
                                                                    org.alfresco.query.PagingRequest pagingRequest)
        This method uses canned queries to retrieve st:site NodeRefs with support for result paging.
        Specified by:
        listSites in interface SiteService
        Parameters:
        filterProps - property filters
        sortProps - sorting options
        pagingRequest - paging options
        Returns:
        a page of SiteInfo objects.
      • resolveSite

        public java.lang.String resolveSite​(java.lang.String group)
        Specified by:
        resolveSite in interface SiteService
      • getSite

        public SiteInfo getSite​(java.lang.String shortName)
        Description copied from interface: SiteService
        Gets site information based on the short name of a site.

        Returns null if the site can not be found.

        Specified by:
        getSite in interface SiteService
        Parameters:
        shortName - the site short name
        Returns:
        SiteInfo the site information
        See Also:
        SiteService.getSite(java.lang.String)
      • getSite

        public SiteInfo getSite​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Description copied from interface: SiteService
        This method gets the SiteInfo for the Share Site which contains the given NodeRef. If the given NodeRef is not contained within a Share Site, then null is returned.
        Specified by:
        getSite in interface SiteService
        Parameters:
        nodeRef - the node whose containing site's info is to be found.
        Returns:
        SiteInfo site information for the containing site or null if node is not in a site.
        See Also:
        SiteService.getSite(org.alfresco.service.cmr.repository.NodeRef)
      • getSiteShortName

        public java.lang.String getSiteShortName​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Description copied from interface: SiteService
        This method gets the shortName for the Share Site which contains the given NodeRef. If the given NodeRef is not contained within a Share Site, then null is returned.
        Specified by:
        getSiteShortName in interface SiteService
        Parameters:
        nodeRef - the node whose containing site's info is to be found.
        Returns:
        String site short name for the containing site or null if node is not in a site.
        See Also:
        SiteService.getSiteShortName(org.alfresco.service.cmr.repository.NodeRef)
      • hasSite

        public boolean hasSite​(java.lang.String shortName)
        Description copied from interface: SiteService
        Returns true if the site exists. This allows create scripts to confirm the existence of private sites - they would not normally be returned from getSite() if the user does not have permission on the site noderef.
        Specified by:
        hasSite in interface SiteService
        Parameters:
        shortName - the site short name
        Returns:
        true if the site exists, false otherwise
        See Also:
        SiteService.hasSite(java.lang.String)
      • deleteSiteImpl

        protected void deleteSiteImpl​(java.lang.String shortName)
      • listMembers

        public void listMembers​(java.lang.String shortName,
                                java.lang.String nameFilter,
                                java.lang.String roleFilter,
                                boolean collapseGroups,
                                SiteService.SiteMembersCallback callback)
        Description copied from interface: SiteService
        List the members of the site. This includes both users and groups.

        Name and role filters are optional and if not specified all the members of the site are returned.

        Specified by:
        listMembers in interface SiteService
        Parameters:
        shortName - site short name
        nameFilter - name filter
        roleFilter - role filter
        collapseGroups - true if collapse member groups into user list, false otherwise
        callback - callback
      • listMembersImpl

        protected void listMembersImpl​(java.lang.String shortName,
                                       java.lang.String nameFilter,
                                       java.lang.String roleFilter,
                                       boolean collapseGroups,
                                       SiteService.SiteMembersCallback callback)
      • listMembersPaged

        public org.alfresco.query.PagingResults<SiteMembership> listMembersPaged​(java.lang.String shortName,
                                                                                 boolean collapseGroups,
                                                                                 java.util.List<org.alfresco.util.Pair<SiteService.SortFields,​java.lang.Boolean>> sortProps,
                                                                                 org.alfresco.query.PagingRequest pagingRequest)
        Description copied from interface: SiteService
        Gets the role of the specified user. Returns a paged list of the members of the site. This includes both users and groups if collapseGroups is set to false, otherwise all groups that are members are collapsed into their component users and listed.
        Specified by:
        listMembersPaged in interface SiteService
        Parameters:
        shortName - site short name
        collapseGroups - true if collapse member groups into user list, false otherwise
        pagingRequest - the paging request
        Returns:
        the authority name and their role
      • listMembers

        public java.util.Map<java.lang.String,​java.lang.String> listMembers​(java.lang.String shortName,
                                                                                  java.lang.String nameFilter,
                                                                                  java.lang.String roleFilter,
                                                                                  int size)
        Description copied from interface: SiteService
        List the members of the site. This includes both users and groups.

        Name and role filters are optional and if not specified all the members of the site are returned.

        Specified by:
        listMembers in interface SiteService
        Parameters:
        shortName - site short name
        nameFilter - name filter
        roleFilter - role filter
        size - max results size crop if >0
        Returns:
        the authority name and their role
        See Also:
        SiteService.listMembers(java.lang.String, java.lang.String, java.lang.String, int)
      • listMembers

        public java.util.Map<java.lang.String,​java.lang.String> listMembers​(java.lang.String shortName,
                                                                                  java.lang.String nameFilter,
                                                                                  java.lang.String roleFilter,
                                                                                  int size,
                                                                                  boolean collapseGroups)
        Description copied from interface: SiteService
        List the members of the site. This includes both users and groups if collapseGroups is set to false, otherwise all groups that are members are collapsed into their component users and listed.
        Specified by:
        listMembers in interface SiteService
        Parameters:
        shortName - site short name
        nameFilter - name filter
        roleFilter - role filter
        size - max results size crop if >0
        collapseGroups - true if collapse member groups into user list, false otherwise
        Returns:
        the authority name and their role
      • listMembersInfo

        public java.util.List<SiteMemberInfo> listMembersInfo​(java.lang.String shortName,
                                                              java.lang.String nameFilter,
                                                              java.lang.String roleFilter,
                                                              int size,
                                                              boolean collapseGroups)
        Description copied from interface: SiteService
        List the members of the site. This includes both users and groups if collapseGroups is set to false, otherwise all groups that are members are collapsed into their component users and listed.
        Specified by:
        listMembersInfo in interface SiteService
        Parameters:
        shortName - site short name
        nameFilter - name filter
        roleFilter - role filter
        size - max results size crop if >0
        collapseGroups - true if collapse member groups into user list, false otherwise
        Returns:
        List of site authorities’ information objects
        See Also:
        SiteService.listMembersInfo(String, String, String, int, boolean)
      • listMembersImpl

        protected java.util.Map<java.lang.String,​java.lang.String> listMembersImpl​(java.lang.String shortName,
                                                                                         java.lang.String nameFilter,
                                                                                         java.lang.String roleFilter,
                                                                                         int size,
                                                                                         boolean collapseGroups)
      • listMembersInfoImpl

        protected java.util.List<SiteMemberInfo> listMembersInfoImpl​(java.lang.String shortName,
                                                                     java.lang.String nameFilter,
                                                                     java.lang.String roleFilter,
                                                                     int size,
                                                                     boolean collapseGroups)
      • getMembersRoles

        public java.util.List<java.lang.String> getMembersRoles​(java.lang.String shortName,
                                                                java.lang.String authorityName)
      • getSiteRoles

        public java.util.List<java.lang.String> getSiteRoles()
        Description copied from interface: SiteService
        Gets a list of all the currently available roles that a user can perform on all sites
        Specified by:
        getSiteRoles in interface SiteService
        Returns:
        list of available roles
        See Also:
        SiteService.getSiteRoles()
      • getSiteRoles

        public java.util.List<java.lang.String> getSiteRoles​(java.lang.String shortName)
        Description copied from interface: SiteService
        Gets a list of all the currently available roles that a user can perform on a specific site. This will generally only differ from SiteService.getSiteRoles() if your site is of a custom type.
        Specified by:
        getSiteRoles in interface SiteService
        Returns:
        list of available roles
        See Also:
        SiteService.getSiteRoles(String)
      • isMember

        public boolean isMember​(java.lang.String shortName,
                                java.lang.String authorityName)
        Description copied from interface: SiteService
        Indicates whether an authority is a member of a site or not
        Specified by:
        isMember in interface SiteService
        Parameters:
        shortName - site short name
        authorityName - authority name (so if it's a group then its prefixed with 'GROUP_')
        Returns:
        boolean true if the authority is a member of the site, false otherwise
        See Also:
        SiteService.isMember(java.lang.String, java.lang.String)
      • canAddMember

        public boolean canAddMember​(java.lang.String shortName,
                                    java.lang.String authorityName,
                                    java.lang.String role)
        Description copied from interface: SiteService
        Can the current user add the authority "authorityName" to the site "shortName" with role "role"?
        Specified by:
        canAddMember in interface SiteService
        Parameters:
        shortName - site short name, must be unique
        authorityName - authority to add
        role - site role
        Returns:
        true if the current user can add the authority to the site, false otherwise
        See Also:
        SiteService.canAddMember(java.lang.String, java.lang.String, java.lang.String)
      • createContainer

        public org.alfresco.service.cmr.repository.NodeRef createContainer​(java.lang.String shortName,
                                                                           java.lang.String componentId,
                                                                           org.alfresco.service.namespace.QName containerType,
                                                                           java.util.Map<org.alfresco.service.namespace.QName,​java.io.Serializable> containerProperties)
        Description copied from interface: SiteService
        Creates a container for a component is a site of the given container type (must be a sub-type of st:siteContainer)

        If no container type is specified then a node of type st:siteContainer is created.

        The map of container properties are set on the created container node. Null can be provided when no properties need to be set.

        Specified by:
        createContainer in interface SiteService
        Parameters:
        shortName - site short name
        componentId - component id
        containerType - container type to create (can be null)
        containerProperties - container property values (can be null)
        Returns:
        noderef of container or null if a container can't be created.
        See Also:
        SiteService.createContainer(java.lang.String, java.lang.String, org.alfresco.service.namespace.QName, java.util.Map)
      • cleanSitePermissions

        public void cleanSitePermissions​(org.alfresco.service.cmr.repository.NodeRef targetNode,
                                         SiteInfo containingSite)
        This method recursively cleans the site permissions on the specified NodeRef and all its primary descendants. This consists of
        • the removal of all site permissions pertaining to a site other than the containingSite
        If the containingSite is null then the targetNode's current containing site is used.
        Specified by:
        cleanSitePermissions in interface SiteService
        Parameters:
        targetNode - NodeRef
        containingSite - the site which the site is a member of. If null, it will be calculated.
      • getContainer

        public org.alfresco.service.cmr.repository.NodeRef getContainer​(java.lang.String shortName,
                                                                        java.lang.String componentId)
        Description copied from interface: SiteService
        Gets the "container" folder for the specified component.
        Specified by:
        getContainer in interface SiteService
        Parameters:
        shortName - short name of site
        componentId - component id
        Returns:
        noderef of container
        See Also:
        SiteService.getContainer(java.lang.String, String)
      • listContainers

        public org.alfresco.query.PagingResults<FileInfo> listContainers​(java.lang.String shortName,
                                                                         org.alfresco.query.PagingRequest pagingRequest)
        Description copied from interface: SiteService
        Returns a paged list of top level containers for the site
        Specified by:
        listContainers in interface SiteService
        Parameters:
        shortName - short name of site
        pagingRequest - paging request
        Returns:
        paged list of top level containers
      • hasContainer

        public boolean hasContainer​(java.lang.String shortName,
                                    java.lang.String componentId)
        Description copied from interface: SiteService
        Determines if a "container" folder for the specified component exists.
        Specified by:
        hasContainer in interface SiteService
        Parameters:
        shortName - short name of site
        componentId - component id
        Returns:
        true => "container" folder exists for component
        See Also:
        SiteService.hasContainer(java.lang.String, String)
      • getSiteContainer

        public static org.alfresco.service.cmr.repository.NodeRef getSiteContainer​(java.lang.String siteShortName,
                                                                                   java.lang.String componentName,
                                                                                   boolean create,
                                                                                   SiteService siteService,
                                                                                   TransactionService transactionService,
                                                                                   TaggingService taggingService)
        Helper method to create a container if missing, and mark it as a tag scope if it isn't already one
      • countAuthoritiesWithRole

        public int countAuthoritiesWithRole​(java.lang.String shortName,
                                            java.lang.String role)
        Specified by:
        countAuthoritiesWithRole in interface SiteService
      • listSites

        public java.util.List<SiteInfo> listSites​(java.util.Set<java.lang.String> siteNames)
      • listSiteMemberships

        public java.util.List<SiteMembership> listSiteMemberships​(java.lang.String userName,
                                                                  int size)
        Description copied from interface: SiteService
        Lists all the memberships in sites that the specified user is in.
        Specified by:
        listSiteMemberships in interface SiteService
        Parameters:
        userName - String
        size - list maximum size or zero for all
        Returns:
        a list of SiteMembership objects
      • listSitesPaged

        public org.alfresco.query.PagingResults<SiteMembership> listSitesPaged​(java.lang.String userName,
                                                                               java.util.List<org.alfresco.util.Pair<SiteService.SortFields,​java.lang.Boolean>> sortProps,
                                                                               org.alfresco.query.PagingRequest pagingRequest)
        Description copied from interface: SiteService
        List all the sites that the specified user has a explicit membership to.
        Specified by:
        listSitesPaged in interface SiteService
        Parameters:
        userName - user name
        Returns:
        paged list of site information
      • isSiteAdmin

        public boolean isSiteAdmin​(java.lang.String userName)
        Indicates whether the specified user is a site administrator or not.

        Note: The super/repo admin is considered to be a site administrator too.

        Specified by:
        isSiteAdmin in interface SiteService
        Parameters:
        userName - The user name
        Returns:
        true if the specified user is a 'site administrator', false otherwise
      • setEventPublisher

        public void setEventPublisher​(org.alfresco.sync.repo.events.EventPublisher eventPublisher)