Class BlogServiceImpl

  • All Implemented Interfaces:
    BlogService

    public class BlogServiceImpl
    extends Object
    implements BlogService
    Since:
    4.0
    Author:
    Neil Mc Erlean (based on existing webscript controllers in the REST API)
    • Constructor Detail

      • BlogServiceImpl

        public BlogServiceImpl()
    • Method Detail

      • setCannedQueryRegistry

        public void setCannedQueryRegistry​(org.alfresco.util.registry.NamedObjectRegistry<org.alfresco.query.CannedQueryFactory<BlogPostInfo>> cannedQueryRegistry)
      • setPublishedBlogPostsCannedQueryFactory

        public void setPublishedBlogPostsCannedQueryFactory​(GetBlogPostsCannedQueryFactory cannedQueryFactory)
      • setPublishedExternallyBlogPostsCannedQueryFactory

        public void setPublishedExternallyBlogPostsCannedQueryFactory​(GetBlogPostsCannedQueryFactory cannedQueryFactory)
      • setContentService

        public void setContentService​(ContentService contentService)
      • setDictionaryService

        public void setDictionaryService​(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
      • setNamespaceService

        public void setNamespaceService​(org.alfresco.service.namespace.NamespaceService namespaceService)
      • setNodeService

        public void setNodeService​(org.alfresco.service.cmr.repository.NodeService nodeService)
      • setSiteService

        public void setSiteService​(SiteService siteService)
      • setTransactionService

        public void setTransactionService​(TransactionService transactionService)
      • setPermissionService

        public void setPermissionService​(org.alfresco.service.cmr.security.PermissionService permissionService)
      • setTaggingService

        public void setTaggingService​(TaggingService taggingService)
      • setSearchService

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

        protected org.alfresco.service.cmr.repository.NodeRef getSiteBlogContainer​(String siteShortName,
                                                                                   boolean create)
        Fetches the Blogs Container on a site, creating as required if requested.
      • isDraftBlogPost

        public boolean isDraftBlogPost​(org.alfresco.service.cmr.repository.NodeRef blogPostNode)
        Description copied from interface: BlogService
        Returns true if the specified blog-post node is a 'draft' blog post.
        Specified by:
        isDraftBlogPost in interface BlogService
        Parameters:
        blogPostNode - a NodeRef representing a blog-post.
        Returns:
        true if it is a draft post, else false.
      • createBlogPost

        public BlogPostInfo createBlogPost​(String siteShortName,
                                           String blogTitle,
                                           String blogContent,
                                           boolean isDraft)
        Description copied from interface: BlogService
        Creates a new blog post in the specified site
        Specified by:
        createBlogPost in interface BlogService
        Parameters:
        siteShortName - the name of the site to add the post to.
        blogTitle - the title of the blog post.
        blogContent - text/html content of the blog post.
        isDraft - true if the blog post is a draft post, else false.
        Returns:
        The BlogPostInfo of the newly created blog post.
        See Also:
        to retrieve the blogContainerNode
      • createBlogPost

        public BlogPostInfo createBlogPost​(org.alfresco.service.cmr.repository.NodeRef blogContainerNode,
                                           String blogTitle,
                                           String blogContent,
                                           boolean isDraft)
        Description copied from interface: BlogService
        Creates a new blog post within the specified container node.
        Specified by:
        createBlogPost in interface BlogService
        Parameters:
        blogContainerNode - the container node for blog posts (under the site).
        blogTitle - the title of the blog post.
        blogContent - text/html content of the blog post.
        isDraft - true if the blog post is a draft post, else false.
        Returns:
        The BlogPostInfo of the newly created blog post.
        See Also:
        to retrieve the blogContainerNode
      • getForNodeRef

        public BlogPostInfo getForNodeRef​(org.alfresco.service.cmr.repository.NodeRef nodeRef)
        Description copied from interface: BlogService
        For a given NodeRef corresponding to a BlogPostInfo, returns the object wrapping the Node. For anything else, the response is null.
        Specified by:
        getForNodeRef in interface BlogService
      • getBlogPost

        public BlogPostInfo getBlogPost​(org.alfresco.service.cmr.repository.NodeRef parentNodeRef,
                                        String postName)
        Description copied from interface: BlogService
        Retrieves an existing BlogPostInfo from the repository, which is attached to the specified Node. The parent Node should normally be a Site Container
        Specified by:
        getBlogPost in interface BlogService
      • getDrafts

        public org.alfresco.query.PagingResults<BlogPostInfo> getDrafts​(String siteShortName,
                                                                        String username,
                                                                        org.alfresco.query.PagingRequest pagingReq)
        Description copied from interface: BlogService
        Gets the draft blog posts created by the specified user.
        Specified by:
        getDrafts in interface BlogService
        Parameters:
        siteShortName - the name of the site to add the post to.
        username - to limit results to blogs with this cm:creator. null means all users.
        pagingReq - an object defining the paging parameters for the result set.
        Returns:
        a PagingResults object containing some or all of the results (subject to paging).
        See Also:
        to retrieve the blogContainerNode
      • getDrafts

        public org.alfresco.query.PagingResults<BlogPostInfo> getDrafts​(org.alfresco.service.cmr.repository.NodeRef blogContainerNode,
                                                                        String username,
                                                                        org.alfresco.query.PagingRequest pagingReq)
        Description copied from interface: BlogService
        Gets the draft blog posts created by the specified user.
        Specified by:
        getDrafts in interface BlogService
        Parameters:
        blogContainerNode - the container node for blog posts (under the site).
        username - to limit results to blogs with this cm:creator. null means all users.
        pagingReq - an object defining the paging parameters for the result set.
        Returns:
        a PagingResults object containing some or all of the results (subject to paging).
        See Also:
        to retrieve the blogContainerNode
      • getPublishedExternally

        public org.alfresco.query.PagingResults<BlogPostInfo> getPublishedExternally​(String siteShortName,
                                                                                     org.alfresco.query.PagingRequest pagingReq)
        Description copied from interface: BlogService
        Gets blog posts published externally (i.e. to an external blog hosting site).
        Specified by:
        getPublishedExternally in interface BlogService
        Parameters:
        siteShortName - the name of the site to add the post to.
        pagingReq - an object defining the paging parameters for the result set.
        Returns:
        a PagingResults object containing some or all of the results (subject to paging).
        See Also:
        to retrieve the blogContainerNode
      • getPublishedExternally

        public org.alfresco.query.PagingResults<BlogPostInfo> getPublishedExternally​(org.alfresco.service.cmr.repository.NodeRef blogContainerNode,
                                                                                     org.alfresco.query.PagingRequest pagingReq)
        Description copied from interface: BlogService
        Gets blog posts published externally (i.e. to an external blog hosting site).
        Specified by:
        getPublishedExternally in interface BlogService
        Parameters:
        blogContainerNode - the container node for blog posts (under the site).
        pagingReq - an object defining the paging parameters for the result set.
        Returns:
        a PagingResults object containing some or all of the results (subject to paging).
        See Also:
        to retrieve the blogContainerNode
      • getPublished

        public org.alfresco.query.PagingResults<BlogPostInfo> getPublished​(String siteShortName,
                                                                           Date fromDate,
                                                                           Date toDate,
                                                                           String byUser,
                                                                           org.alfresco.query.PagingRequest pagingReq)
        Description copied from interface: BlogService
        Gets the (internally, Alfresco-) published blog posts.
        Specified by:
        getPublished in interface BlogService
        Parameters:
        siteShortName - the name of the site to add the post to.
        fromDate - an inclusive date limit for the results (more recent than).
        toDate - an inclusive date limit for the results (before).
        byUser - if not null limits results to posts by the specified user. if null results will be by all users.
        pagingReq - an object defining the paging parameters for the result set.
        Returns:
        a PagingResults object containing some or all of the results (subject to paging).
        See Also:
        to retrieve the blogContainerNode
      • getPublished

        public org.alfresco.query.PagingResults<BlogPostInfo> getPublished​(org.alfresco.service.cmr.repository.NodeRef blogContainerNode,
                                                                           Date fromDate,
                                                                           Date toDate,
                                                                           String byUser,
                                                                           org.alfresco.query.PagingRequest pagingReq)
        Description copied from interface: BlogService
        Gets the (internally, Alfresco-) published blog posts.
        Specified by:
        getPublished in interface BlogService
        Parameters:
        blogContainerNode - the container node for blog posts (under the site).
        fromDate - an inclusive date limit for the results (more recent than).
        toDate - an inclusive date limit for the results (before).
        byUser - if not null limits results to posts by the specified user. if null results will be by all users.
        pagingReq - an object defining the paging parameters for the result set.
        Returns:
        a PagingResults object containing some or all of the results (subject to paging).
        See Also:
        to retrieve the blogContainerNode
      • getMyDraftsAndAllPublished

        public org.alfresco.query.PagingResults<BlogPostInfo> getMyDraftsAndAllPublished​(org.alfresco.service.cmr.repository.NodeRef blogContainerNode,
                                                                                         Date createdFrom,
                                                                                         Date createdTo,
                                                                                         org.alfresco.query.PagingRequest pagingReq)
        Deprecated.
        Description copied from interface: BlogService
        Gets draft blog posts by the currently authenticated user along with all published posts.
        Specified by:
        getMyDraftsAndAllPublished in interface BlogService
        Parameters:
        blogContainerNode - the container node for blog posts (under the site).
        createdFrom - an inclusive date limit for the results (more recent than).
        createdTo - an inclusive date limit for the results (before).
        pagingReq - an object defining the paging parameters for the result set.
        Returns:
        a PagingResults object containing some or all of the results (subject to paging).
        See Also:
        to retrieve the blogContainerNode
      • findBlogPosts

        public org.alfresco.query.PagingResults<BlogPostInfo> findBlogPosts​(String siteShortName,
                                                                            BlogService.RangedDateProperty dateRange,
                                                                            String tag,
                                                                            org.alfresco.query.PagingRequest pagingReq)
        Description copied from interface: BlogService
        Finds blog posts by the specified user tagged with the given tag string. This method allows date ranges to be applied to any valid DataTypeDefinition.DATE or DataTypeDefinition.DATETIME property. Examples include ContentModel.PROP_CREATED or ContentModel.PROP_PUBLISHED.
        Specified by:
        findBlogPosts in interface BlogService
        Parameters:
        siteShortName - the name of the site to add the post to.
        dateRange - a BlogService.RangedDateProperty parameter object. Can be null.
        tag - tag string.
        pagingReq - an object defining the paging parameters for the result set.
        Returns:
        a PagingResults object containing some or all of the results (subject to paging).
        See Also:
        to retrieve the blogContainerNode
      • findBlogPosts

        public org.alfresco.query.PagingResults<BlogPostInfo> findBlogPosts​(org.alfresco.service.cmr.repository.NodeRef blogContainerNode,
                                                                            BlogService.RangedDateProperty dateRange,
                                                                            String tag,
                                                                            org.alfresco.query.PagingRequest pagingReq)
        Description copied from interface: BlogService
        Finds blog posts by the specified user tagged with the given tag string. This method allows date ranges to be applied to any valid DataTypeDefinition.DATE or DataTypeDefinition.DATETIME property. Examples include ContentModel.PROP_CREATED or ContentModel.PROP_PUBLISHED.
        Specified by:
        findBlogPosts in interface BlogService
        Parameters:
        blogContainerNode - the container node for blog posts (under the site).
        dateRange - a BlogService.RangedDateProperty parameter object. Can be null.
        tag - tag string.
        pagingReq - an object defining the paging parameters for the result set.
        Returns:
        a PagingResults object containing some or all of the results (subject to paging).
        See Also:
        to retrieve the blogContainerNode