Class SilverpeasCmisService

  • All Implemented Interfaces:
    org.apache.chemistry.opencmis.commons.server.CmisService, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler, org.apache.chemistry.opencmis.commons.spi.AclService, org.apache.chemistry.opencmis.commons.spi.DiscoveryService, org.apache.chemistry.opencmis.commons.spi.MultiFilingService, org.apache.chemistry.opencmis.commons.spi.NavigationService, org.apache.chemistry.opencmis.commons.spi.ObjectService, org.apache.chemistry.opencmis.commons.spi.PolicyService, org.apache.chemistry.opencmis.commons.spi.RelationshipService, org.apache.chemistry.opencmis.commons.spi.RepositoryService, org.apache.chemistry.opencmis.commons.spi.VersioningService, org.apache.chemistry.opencmis.server.support.wrapper.CallContextAwareCmisService

    @WebService
    public class SilverpeasCmisService
    extends org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
    implements org.apache.chemistry.opencmis.server.support.wrapper.CallContextAwareCmisService
    A web service implementing all the services defined in the CMIS specification and that a CMIS-compliant web application must satisfy as well as some additional services of optional CMIS capabilities. It requires the user to be authenticated; it validates then its credentials.

    This implementation of the CMIS services is returned to the OpenCMIS framework to perform the CMIS operations requested by a client through one of the supported protocol binding (SOAP-based Web Service, AtomPub or web browser specific). Behind the scene, the processing of the operation is delegated to the CMIS repository targeted by the request. The service will build ObjectInfo data from the CMIS objects returned by the repository for AtomPub requests. In the current implementation for Silverpeas, only one repository is defined and that repository is the entry point to the whole resources handled and stored in Silverpeas. If the targeted CMIS repository doesn't match this single repository, then a CmisObjectNotFoundException exception is thrown.

    Author:
    mmoquillon
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      String createDocument​(String repositoryId, org.apache.chemistry.opencmis.commons.data.Properties properties, String folderId, org.apache.chemistry.opencmis.commons.data.ContentStream contentStream, org.apache.chemistry.opencmis.commons.enums.VersioningState versioningState, List<String> policies, org.apache.chemistry.opencmis.commons.data.Acl addAces, org.apache.chemistry.opencmis.commons.data.Acl removeAces, org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      String createFolder​(String repositoryId, org.apache.chemistry.opencmis.commons.data.Properties properties, String folderId, List<String> policies, org.apache.chemistry.opencmis.commons.data.Acl addAces, org.apache.chemistry.opencmis.commons.data.Acl removeAces, org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      CmisRequestContext getCallContext()  
      org.apache.chemistry.opencmis.commons.data.ObjectInFolderList getChildren​(String repositoryId, String folderId, String filter, String orderBy, Boolean includeAllowableActions, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships, String renditionFilter, Boolean includePathSegment, BigInteger maxItems, BigInteger skipCount, org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      org.apache.chemistry.opencmis.commons.data.ContentStream getContentStream​(String repositoryId, String objectId, String streamId, BigInteger offset, BigInteger length, org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      List<org.apache.chemistry.opencmis.commons.data.ObjectInFolderContainer> getDescendants​(String repositoryId, String folderId, BigInteger depth, String filter, Boolean includeAllowableActions, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships, String renditionFilter, Boolean includePathSegment, org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      org.apache.chemistry.opencmis.commons.data.ObjectData getFolderParent​(String repositoryId, String folderId, String filter, org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      List<org.apache.chemistry.opencmis.commons.data.ObjectInFolderContainer> getFolderTree​(String repositoryId, String folderId, BigInteger depth, String filter, Boolean includeAllowableActions, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships, String renditionFilter, Boolean includePathSegment, org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      org.apache.chemistry.opencmis.commons.data.ObjectData getObject​(String repositoryId, String objectId, String filter, Boolean includeAllowableActions, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      org.apache.chemistry.opencmis.commons.data.ObjectData getObjectByPath​(String repositoryId, String path, String filter, Boolean includeAllowableActions, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      List<org.apache.chemistry.opencmis.commons.data.ObjectParentData> getObjectParents​(String repositoryId, String objectId, String filter, Boolean includeAllowableActions, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships, String renditionFilter, Boolean includeRelativePathSegment, org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      List<org.apache.chemistry.opencmis.commons.data.RepositoryInfo> getRepositoryInfos​(org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList getTypeChildren​(String repositoryId, String typeId, Boolean includePropertyDefinitions, BigInteger maxItems, BigInteger skipCount, org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      org.apache.chemistry.opencmis.commons.definitions.TypeDefinition getTypeDefinition​(String repositoryId, String typeId, org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      void setCallContext​(org.apache.chemistry.opencmis.commons.server.CallContext callContext)
      Sets the current CMIS call context.
      void setContentStream​(String repositoryId, org.apache.chemistry.opencmis.commons.spi.Holder<String> objectId, Boolean overwriteFlag, org.apache.chemistry.opencmis.commons.spi.Holder<String> changeToken, org.apache.chemistry.opencmis.commons.data.ContentStream contentStream, org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)  
      • Methods inherited from class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService

        addObjectInfo, addObjectToFolder, appendContentStream, applyAcl, applyAcl, applyPolicy, bulkUpdateProperties, cancelCheckOut, checkIn, checkOut, clearObjectInfos, close, create, createDocumentFromSource, createItem, createPolicy, createRelationship, createType, deleteContentStream, deleteObject, deleteObjectOrCancelCheckOut, deleteTree, deleteType, getAcl, getAllowableActions, getAllVersions, getAppliedPolicies, getBooleanProperty, getCheckedOutDocs, getContentChanges, getDateTimeProperty, getIdProperty, getIntegerProperty, getObjectInfo, getObjectInfoIntern, getObjectOfLatestVersion, getObjectRelationships, getProperties, getPropertiesOfLatestVersion, getRenditions, getRepositoryInfo, getStringProperty, getTypeDescendants, moveObject, query, removeObjectFromFolder, removePolicy, updateProperties, updateType
      • Methods inherited from interface org.apache.chemistry.opencmis.commons.spi.AclService

        applyAcl, getAcl
      • Methods inherited from interface org.apache.chemistry.opencmis.commons.server.CmisService

        applyAcl, close, create, deleteObjectOrCancelCheckOut, getObjectInfo
      • Methods inherited from interface org.apache.chemistry.opencmis.commons.spi.DiscoveryService

        getContentChanges, query
      • Methods inherited from interface org.apache.chemistry.opencmis.commons.spi.MultiFilingService

        addObjectToFolder, removeObjectFromFolder
      • Methods inherited from interface org.apache.chemistry.opencmis.commons.spi.NavigationService

        getCheckedOutDocs
      • Methods inherited from interface org.apache.chemistry.opencmis.commons.spi.ObjectService

        appendContentStream, bulkUpdateProperties, createDocumentFromSource, createItem, createPolicy, createRelationship, deleteContentStream, deleteObject, deleteTree, getAllowableActions, getProperties, getRenditions, moveObject, updateProperties
      • Methods inherited from interface org.apache.chemistry.opencmis.commons.spi.PolicyService

        applyPolicy, getAppliedPolicies, removePolicy
      • Methods inherited from interface org.apache.chemistry.opencmis.commons.spi.RelationshipService

        getObjectRelationships
      • Methods inherited from interface org.apache.chemistry.opencmis.commons.spi.RepositoryService

        createType, deleteType, getRepositoryInfo, getTypeDescendants, updateType
      • Methods inherited from interface org.apache.chemistry.opencmis.commons.spi.VersioningService

        cancelCheckOut, checkIn, checkOut, getAllVersions, getObjectOfLatestVersion, getPropertiesOfLatestVersion
    • Constructor Detail

      • SilverpeasCmisService

        public SilverpeasCmisService()
    • Method Detail

      • getCallContext

        public CmisRequestContext getCallContext()
        Specified by:
        getCallContext in interface org.apache.chemistry.opencmis.server.support.wrapper.CallContextAwareCmisService
      • setCallContext

        public void setCallContext​(org.apache.chemistry.opencmis.commons.server.CallContext callContext)
        Sets the current CMIS call context.
        Specified by:
        setCallContext in interface org.apache.chemistry.opencmis.server.support.wrapper.CallContextAwareCmisService
        Parameters:
        callContext - a CmisRequestContext instance.
      • getRepositoryInfos

        public List<org.apache.chemistry.opencmis.commons.data.RepositoryInfo> getRepositoryInfos​(org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        getRepositoryInfos in interface org.apache.chemistry.opencmis.commons.spi.RepositoryService
        Specified by:
        getRepositoryInfos in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
      • getTypeChildren

        public org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList getTypeChildren​(String repositoryId,
                                                                                                    String typeId,
                                                                                                    Boolean includePropertyDefinitions,
                                                                                                    BigInteger maxItems,
                                                                                                    BigInteger skipCount,
                                                                                                    org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        getTypeChildren in interface org.apache.chemistry.opencmis.commons.spi.RepositoryService
        Specified by:
        getTypeChildren in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
      • getTypeDefinition

        public org.apache.chemistry.opencmis.commons.definitions.TypeDefinition getTypeDefinition​(String repositoryId,
                                                                                                  String typeId,
                                                                                                  org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        getTypeDefinition in interface org.apache.chemistry.opencmis.commons.spi.RepositoryService
        Specified by:
        getTypeDefinition in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
      • getChildren

        public org.apache.chemistry.opencmis.commons.data.ObjectInFolderList getChildren​(String repositoryId,
                                                                                         String folderId,
                                                                                         String filter,
                                                                                         String orderBy,
                                                                                         Boolean includeAllowableActions,
                                                                                         org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships,
                                                                                         String renditionFilter,
                                                                                         Boolean includePathSegment,
                                                                                         BigInteger maxItems,
                                                                                         BigInteger skipCount,
                                                                                         org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        getChildren in interface org.apache.chemistry.opencmis.commons.spi.NavigationService
        Specified by:
        getChildren in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
      • getDescendants

        public List<org.apache.chemistry.opencmis.commons.data.ObjectInFolderContainer> getDescendants​(String repositoryId,
                                                                                                       String folderId,
                                                                                                       BigInteger depth,
                                                                                                       String filter,
                                                                                                       Boolean includeAllowableActions,
                                                                                                       org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships,
                                                                                                       String renditionFilter,
                                                                                                       Boolean includePathSegment,
                                                                                                       org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        getDescendants in interface org.apache.chemistry.opencmis.commons.spi.NavigationService
        Overrides:
        getDescendants in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
      • getFolderTree

        public List<org.apache.chemistry.opencmis.commons.data.ObjectInFolderContainer> getFolderTree​(String repositoryId,
                                                                                                      String folderId,
                                                                                                      BigInteger depth,
                                                                                                      String filter,
                                                                                                      Boolean includeAllowableActions,
                                                                                                      org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships,
                                                                                                      String renditionFilter,
                                                                                                      Boolean includePathSegment,
                                                                                                      org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        getFolderTree in interface org.apache.chemistry.opencmis.commons.spi.NavigationService
        Overrides:
        getFolderTree in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
      • getFolderParent

        public org.apache.chemistry.opencmis.commons.data.ObjectData getFolderParent​(String repositoryId,
                                                                                     String folderId,
                                                                                     String filter,
                                                                                     org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        getFolderParent in interface org.apache.chemistry.opencmis.commons.spi.NavigationService
        Overrides:
        getFolderParent in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
      • getObjectParents

        public List<org.apache.chemistry.opencmis.commons.data.ObjectParentData> getObjectParents​(String repositoryId,
                                                                                                  String objectId,
                                                                                                  String filter,
                                                                                                  Boolean includeAllowableActions,
                                                                                                  org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships,
                                                                                                  String renditionFilter,
                                                                                                  Boolean includeRelativePathSegment,
                                                                                                  org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        getObjectParents in interface org.apache.chemistry.opencmis.commons.spi.NavigationService
        Specified by:
        getObjectParents in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
      • getObject

        public org.apache.chemistry.opencmis.commons.data.ObjectData getObject​(String repositoryId,
                                                                               String objectId,
                                                                               String filter,
                                                                               Boolean includeAllowableActions,
                                                                               org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships,
                                                                               String renditionFilter,
                                                                               Boolean includePolicyIds,
                                                                               Boolean includeAcl,
                                                                               org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        getObject in interface org.apache.chemistry.opencmis.commons.spi.ObjectService
        Specified by:
        getObject in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
      • getObjectByPath

        public org.apache.chemistry.opencmis.commons.data.ObjectData getObjectByPath​(String repositoryId,
                                                                                     String path,
                                                                                     String filter,
                                                                                     Boolean includeAllowableActions,
                                                                                     org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships,
                                                                                     String renditionFilter,
                                                                                     Boolean includePolicyIds,
                                                                                     Boolean includeAcl,
                                                                                     org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        getObjectByPath in interface org.apache.chemistry.opencmis.commons.spi.ObjectService
        Overrides:
        getObjectByPath in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
      • getContentStream

        public org.apache.chemistry.opencmis.commons.data.ContentStream getContentStream​(String repositoryId,
                                                                                         String objectId,
                                                                                         String streamId,
                                                                                         BigInteger offset,
                                                                                         BigInteger length,
                                                                                         org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        getContentStream in interface org.apache.chemistry.opencmis.commons.spi.ObjectService
        Overrides:
        getContentStream in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
      • createFolder

        public String createFolder​(String repositoryId,
                                   org.apache.chemistry.opencmis.commons.data.Properties properties,
                                   String folderId,
                                   List<String> policies,
                                   org.apache.chemistry.opencmis.commons.data.Acl addAces,
                                   org.apache.chemistry.opencmis.commons.data.Acl removeAces,
                                   org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        createFolder in interface org.apache.chemistry.opencmis.commons.spi.ObjectService
        Overrides:
        createFolder in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
      • createDocument

        public String createDocument​(String repositoryId,
                                     org.apache.chemistry.opencmis.commons.data.Properties properties,
                                     String folderId,
                                     org.apache.chemistry.opencmis.commons.data.ContentStream contentStream,
                                     org.apache.chemistry.opencmis.commons.enums.VersioningState versioningState,
                                     List<String> policies,
                                     org.apache.chemistry.opencmis.commons.data.Acl addAces,
                                     org.apache.chemistry.opencmis.commons.data.Acl removeAces,
                                     org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        createDocument in interface org.apache.chemistry.opencmis.commons.spi.ObjectService
        Overrides:
        createDocument in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService
      • setContentStream

        public void setContentStream​(String repositoryId,
                                     org.apache.chemistry.opencmis.commons.spi.Holder<String> objectId,
                                     Boolean overwriteFlag,
                                     org.apache.chemistry.opencmis.commons.spi.Holder<String> changeToken,
                                     org.apache.chemistry.opencmis.commons.data.ContentStream contentStream,
                                     org.apache.chemistry.opencmis.commons.data.ExtensionsData extension)
        Specified by:
        setContentStream in interface org.apache.chemistry.opencmis.commons.spi.ObjectService
        Overrides:
        setContentStream in class org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService