Class TreeWalkerForPublicationDetail

  • All Implemented Interfaces:
    CmisObjectsTreeWalker, CmisFilePath

    @Service
    @Singleton
    public class TreeWalkerForPublicationDetail
    extends AbstractCmisObjectsTreeWalker
    A CmisObjectsTreeWalker object that knows how to walk down the subtree rooted to a publication in a given Silverpeas application. The publication is a localized contribution that can have a content (form, rich text (WYSIWYG), ...) and that can have one or more documents attached to it.
    Author:
    mmoquillon
    • Constructor Detail

      • TreeWalkerForPublicationDetail

        public TreeWalkerForPublicationDetail()
    • Method Detail

      • prepareChildDataCreation

        protected void prepareChildDataCreation​(LocalizedResource publication,
                                                CmisProperties properties,
                                                org.apache.chemistry.opencmis.commons.data.ContentStream contentStream,
                                                String language)
        Description copied from class: AbstractCmisObjectsTreeWalker
        Prepares the creation of the object in Silverpeas from the specified CMIS properties and content stream, and in the given language. The preparation can update some CMIS properties and some content stream attributes required to create the object as a child of the given parent. This method is invoked by the AbstractCmisObjectsTreeWalker.createChildData(String, CmisProperties, ContentStream, String) method before the creation of the child itself. By default, this method throws the CmisNotSupportedException exception.
        Overrides:
        prepareChildDataCreation in class AbstractCmisObjectsTreeWalker
        Parameters:
        publication - the resource in Silverpeas for which a new object has to be created.
        properties - the CMIS properties of the object to create.
        contentStream - a stream on a content from which a document has to be created. If not a document, can be null.
        language - the ISO 639-1 code of the language in which the textual properties of the object as well as the content (if any) are expressed.
      • createPublicationDetailFrom

        protected PublicationDetail createPublicationDetailFrom​(CmisProperties properties,
                                                                String language)
        Creates a new PublicationDetail instance from the specified CMIS properties and in the given language.
        Parameters:
        properties - the CMIS properties of a Publication object.
        language - the ISO 639-1 code of the language in which the textual properties are expressed.
        Returns:
        a PublicationDetail instance.
      • getSilverpeasObjectById

        protected PublicationDetail getSilverpeasObjectById​(String objectId)
        Description copied from class: AbstractCmisObjectsTreeWalker
        Gets in Silverpeas the object identified by the specified unique identifier. The way how to get such an object depends on its type and it is then delegated to the walker that handles such a type of Silverpeas objects.
        Specified by:
        getSilverpeasObjectById in class AbstractCmisObjectsTreeWalker
        Parameters:
        objectId - the unique identifier of an object in Silverpeas.
        Returns:
        a Silverpeas object or null if no such object exists.
      • getAllowedChildrenOfSilverpeasObject

        protected Stream<LocalizedResource> getAllowedChildrenOfSilverpeasObject​(ResourceIdentifier parentId,
                                                                                 User user)
        Description copied from class: AbstractCmisObjectsTreeWalker
        Gets in Silverpeas all the children objects of the specified parent and that are accessible to the given user. The way how to get such an object depends on its type and it is then delegated to the walker that handles such a type of Silverpeas objects.
        Specified by:
        getAllowedChildrenOfSilverpeasObject in class AbstractCmisObjectsTreeWalker
        Parameters:
        parentId - the unique identifier of the parent in Silverpeas.
        user - the user for which the children are get.
        Returns:
        a stream over all the allowed children of the specified parent in Silverpeas.
      • encodeToCmisObject

        protected Publication encodeToCmisObject​(LocalizedResource resource,
                                                 String language)
        Description copied from class: AbstractCmisObjectsTreeWalker
        Encodes the specified Silverpeas object into its CMIS counterpart. The CMIS representation depends on the concrete type of the Silverpeas object. The way how create such a CMIS object depends on the type of the Silverpeas object and it is then delegated to the walker that handles such a type of Silverpeas objects.
        Specified by:
        encodeToCmisObject in class AbstractCmisObjectsTreeWalker
        Parameters:
        resource - a localized resource in Silverpeas.
        language - the language to use in the localization of the CMIS object.
        Returns:
        a CmisObject instance.
      • isObjectSupported

        protected boolean isObjectSupported​(String objectId)
        Description copied from class: AbstractCmisObjectsTreeWalker
        Is the object with the specified identifier supported by this walker?
        Specified by:
        isObjectSupported in class AbstractCmisObjectsTreeWalker
        Parameters:
        objectId - the unique identifier of an object.
        Returns:
        true if the walker knows how to work with objects with such an identifier pattern. False otherwise.
      • isTypeSupported

        protected boolean isTypeSupported​(TypeId typeId)
        Description copied from class: AbstractCmisObjectsTreeWalker
        Is the specified CMIS type supported by this walker?
        Specified by:
        isTypeSupported in class AbstractCmisObjectsTreeWalker
        Parameters:
        typeId - the unique identifier of a CMIS type.
        Returns:
        true if the walker knows how to work with objects of the specified CMIS type. False otherwise.
      • browseObjectsInFolderTree

        protected List<org.apache.chemistry.opencmis.commons.data.ObjectInFolderContainer> browseObjectsInFolderTree​(LocalizedResource object,
                                                                                                                     Filtering filtering,
                                                                                                                     long depth)
        Description copied from class: AbstractCmisObjectsTreeWalker
        Browses for the objects in the CMIS tree rooted at the specified object in Silverpeas. The browsing depends on the type of the specified object in Silverpeas and it is then delegated to the walker that knows how to browse a tree rooted at such a tree.
        Specified by:
        browseObjectsInFolderTree in class AbstractCmisObjectsTreeWalker
        Parameters:
        object - an identifiable object in Silverpeas.
        filtering - the filtering rules to apply on the CMIS data to return.
        depth - the depth of the browsing of the tree.
        Returns:
        a list of ObjectInFolderContainer elements (the direct children), each of them being a container of others ObjectInFolderContainer objects (recursive walk of the different tree's nodes) and described by an ObjectInFolderData instance that is a decorator of an ObjectData instance (the CMIS data) with its path in the CMIS repository tree (if asked by the filtering). The CMIS data are carried by the ObjectData object.
      • browseObjectsInFolder

        protected org.apache.chemistry.opencmis.commons.data.ObjectInFolderList browseObjectsInFolder​(LocalizedResource object,
                                                                                                      Filtering filtering,
                                                                                                      Paging paging)
        Description copied from class: AbstractCmisObjectsTreeWalker
        Browses for the direct children in the CMIS folder represented by the specified Silverpeas object. the browsing of children depends on the type of the specified object in Silverpeas and it is then delegated to the walker that knows how to browse for children such an object.
        Specified by:
        browseObjectsInFolder in class AbstractCmisObjectsTreeWalker
        Parameters:
        object - an identifiable object in Silverpeas.
        filtering - the filtering rules to apply on the CMIS data to return.
        paging - the paging to apply on the elements of the list.
        Returns:
        an ObjectInFolderList instance that is a list of ObjectInFolderData elements, each of them being a decorator of an ObjectData instance with its path in the CMIS repository tree (if asked by the filtering). The CMIS data are carried by the ObjectData object.
      • browseParentsOfObject

        protected List<org.apache.chemistry.opencmis.commons.data.ObjectParentData> browseParentsOfObject​(LocalizedResource object,
                                                                                                          Filtering filtering)
        Description copied from class: AbstractCmisObjectsTreeWalker
        Browses for the parents in the CMIS objects tree of the specified Silverpeas object. In a CMIS objects tree, a child can have direct one or several parents. This method returns all of them. However, as the browsing of the CMIS objects tree depends on the type of its node and hence on the type of the objects in Silverpeas, the browsing is delegated to the walker that knows how to handle such a Silverpeas object.
        Specified by:
        browseParentsOfObject in class AbstractCmisObjectsTreeWalker
        Parameters:
        object - an identifiable object in Silverpeas.
        filtering - the filtering rules to apply on the CMIS data to return.
        Returns:
        a list of ObjectParentData elements, each of them being a wrapper of an ObjectData instance with the path of the specified object relative to this parent. The CMIS data are carried by the ObjectData object. If the specified object isn't file-able or it is the root folder (the virtual root space in Silverpeas), then an empty list is returned.