Class LDRepository

java.lang.Object
com.logicaldoc.cmis.LDRepository

public class LDRepository extends Object
LogicalDOC implementation of a CMIS Repository
Since:
6.5.1
Author:
Marco Meschieri - LogicalDOC
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addUser(String user, boolean readOnly)
    Adds a user to the repository
    void
    appendContent(org.apache.chemistry.opencmis.commons.server.CallContext context, String documentId, org.apache.chemistry.opencmis.commons.data.ContentStream contentStream, boolean isLastChunk)
    Appends content into existing file
    void
     
    void
    checkIn(org.apache.chemistry.opencmis.commons.spi.Holder<String> objectId, Boolean major, org.apache.chemistry.opencmis.commons.data.ContentStream contentStream, org.apache.chemistry.opencmis.commons.data.Properties properties, String checkinComment)
     
    void
    checkOut(org.apache.chemistry.opencmis.commons.spi.Holder<String> objectId, org.apache.chemistry.opencmis.commons.spi.Holder<Boolean> contentCopied)
     
    org.apache.chemistry.opencmis.commons.data.ObjectData
    create(org.apache.chemistry.opencmis.commons.server.CallContext context, org.apache.chemistry.opencmis.commons.data.Properties properties, String folderId, org.apache.chemistry.opencmis.commons.data.ContentStream contentStream, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler objectInfos)
    Create dispatch for AtomPub
    createDocument(org.apache.chemistry.opencmis.commons.server.CallContext context, org.apache.chemistry.opencmis.commons.data.Properties properties, String folderId, org.apache.chemistry.opencmis.commons.data.ContentStream contentStream)
    CMIS createDocument
    createDocumentFromSource(org.apache.chemistry.opencmis.commons.server.CallContext context, String sourceId, String folderId)
     
    createFolder(org.apache.chemistry.opencmis.commons.server.CallContext context, org.apache.chemistry.opencmis.commons.data.Properties properties, String folderId)
    CMIS moveObject
    void
    deleteObject(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId)
    CMIS deleteObject
    void
    deleteObjectOrCancelCheckOut(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId)
     
    org.apache.chemistry.opencmis.commons.data.FailedToDeleteData
    deleteTree(org.apache.chemistry.opencmis.commons.server.CallContext context, String folderId, Boolean continueOnFailure)
    CMIS deleteTree
    org.apache.chemistry.opencmis.commons.data.Acl
    getAcl(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId)
    CMIS getACL
    org.apache.chemistry.opencmis.commons.data.AllowableActions
    getAllowableActions(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId)
    CMIS getAllowableActions
    List<org.apache.chemistry.opencmis.commons.data.ObjectData>
     
    org.apache.chemistry.opencmis.commons.data.ObjectInFolderList
    getChildren(org.apache.chemistry.opencmis.commons.server.CallContext context, String folderId, String filter, boolean includeAllowableActions, boolean includePathSegment, int maxItems, int skipCount, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler objectInfos)
    CMIS getChildren
    org.apache.chemistry.opencmis.commons.data.ObjectList
    getContentChanges(org.apache.chemistry.opencmis.commons.spi.Holder<String> changeLogToken, int max)
     
    org.apache.chemistry.opencmis.commons.data.ContentStream
    getContentStream(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId, BigInteger offset, BigInteger length)
    CMIS getContentStream
    List<org.apache.chemistry.opencmis.commons.data.ObjectData>
    getDocumentLastChanges(long minDate, int max)
     
    List<org.apache.chemistry.opencmis.commons.data.ObjectData>
    getFolderLastChanges(long minDate, int max)
     
    org.apache.chemistry.opencmis.commons.data.ObjectData
    getFolderParent(org.apache.chemistry.opencmis.commons.server.CallContext context, String folderId)
    CMIS getFolderParent
     
    org.apache.chemistry.opencmis.commons.data.ObjectData
    getObject(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId, String versionServicesId, String filter, Boolean includeAllowableActions, Boolean includeAcl, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler objectInfos)
    CMIS getObject
    org.apache.chemistry.opencmis.commons.data.ObjectData
    getObjectByPath(org.apache.chemistry.opencmis.commons.server.CallContext context, 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)
    CMIS getObjectByPath
    org.apache.chemistry.opencmis.commons.server.ObjectInfo
    getObjectInfo(String objectId, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler handler)
     
    List<org.apache.chemistry.opencmis.commons.data.ObjectParentData>
    getObjectParents(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId, String filter, Boolean includeAllowableActions, Boolean includeRelativePathSegment, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler objectInfos)
    CMIS getObjectParents
    org.apache.chemistry.opencmis.commons.data.RepositoryInfo
    getRepositoryInfo(org.apache.chemistry.opencmis.commons.server.CallContext context, String latestChangeLogToken)
    CMIS getRepositoryInfo
     
    org.apache.chemistry.opencmis.commons.definitions.TypeDefinition
    getTypeDefinition(org.apache.chemistry.opencmis.commons.server.CallContext context, String typeId)
    CMIS getTypeDefinition
    org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList
    getTypesChildren(org.apache.chemistry.opencmis.commons.server.CallContext context, String typeId, boolean includePropertyDefinitions, BigInteger maxItems, BigInteger skipCount)
    CMIS getTypesChildren
    List<org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionContainer>
    getTypesDescendants(org.apache.chemistry.opencmis.commons.server.CallContext context, String typeId, BigInteger depth, Boolean includePropertyDefinitions)
    CMIS getTypesDescendants
    org.apache.chemistry.opencmis.commons.data.ObjectData
    moveObject(org.apache.chemistry.opencmis.commons.server.CallContext context, org.apache.chemistry.opencmis.commons.spi.Holder<String> objectId, String targetFolderId, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler objectInfos)
    CMIS moveObject
    org.apache.chemistry.opencmis.commons.data.ObjectList
    query(String statement, int maxItems)
     
    void
     
    void
     
    org.apache.chemistry.opencmis.commons.data.ObjectData
    updateProperties(org.apache.chemistry.opencmis.commons.server.CallContext context, org.apache.chemistry.opencmis.commons.spi.Holder<String> objectId, org.apache.chemistry.opencmis.commons.data.Properties properties, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler objectInfos)
    CMIS updateProperties

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • LDRepository

      public LDRepository(Folder root, String sid)
      Constructor.
      Parameters:
      sid - The Session identifier
      root - root folder
  • Method Details

    • addUser

      public void addUser(String user, boolean readOnly)
      Adds a user to the repository
      Parameters:
      user - the username
      readOnly - if the user must be read-only
    • getRepositoryInfo

      public org.apache.chemistry.opencmis.commons.data.RepositoryInfo getRepositoryInfo(org.apache.chemistry.opencmis.commons.server.CallContext context, String latestChangeLogToken)
      CMIS getRepositoryInfo
      Parameters:
      context - call context
      latestChangeLogToken - a token that indicates the time stamp of the last update
      Returns:
      the repository representation
    • getTypesChildren

      public org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList getTypesChildren(org.apache.chemistry.opencmis.commons.server.CallContext context, String typeId, boolean includePropertyDefinitions, BigInteger maxItems, BigInteger skipCount)
      CMIS getTypesChildren
      Parameters:
      context - call context
      typeId - identifier of the type
      includePropertyDefinitions - id the property definitions must be included
      maxItems - maximum number of children
      skipCount - if the children must be counted
      Returns:
      the list of type definitions
    • getTypeDefinition

      public org.apache.chemistry.opencmis.commons.definitions.TypeDefinition getTypeDefinition(org.apache.chemistry.opencmis.commons.server.CallContext context, String typeId)
      CMIS getTypeDefinition
      Parameters:
      context - call context
      typeId - identifier of the type
      Returns:
      the type definition
    • getTypesDescendants

      public List<org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionContainer> getTypesDescendants(org.apache.chemistry.opencmis.commons.server.CallContext context, String typeId, BigInteger depth, Boolean includePropertyDefinitions)
      CMIS getTypesDescendants
      Parameters:
      context - the call context
      typeId - identifier of the type
      depth - a depth specification
      includePropertyDefinitions - if property definitions must be included
      Returns:
      the list of type definitions
    • createDocumentFromSource

      public String createDocumentFromSource(org.apache.chemistry.opencmis.commons.server.CallContext context, String sourceId, String folderId)
    • create

      public org.apache.chemistry.opencmis.commons.data.ObjectData create(org.apache.chemistry.opencmis.commons.server.CallContext context, org.apache.chemistry.opencmis.commons.data.Properties properties, String folderId, org.apache.chemistry.opencmis.commons.data.ContentStream contentStream, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler objectInfos)
      Create dispatch for AtomPub
      Parameters:
      context - call context
      properties - the properties
      folderId - identifier of the parent folder
      contentStream - stream of the document to create
      objectInfos - informations
      Returns:
      the newly created object
    • appendContent

      public void appendContent(org.apache.chemistry.opencmis.commons.server.CallContext context, String documentId, org.apache.chemistry.opencmis.commons.data.ContentStream contentStream, boolean isLastChunk) throws IOException, PersistenceException
      Appends content into existing file
      Parameters:
      context - call context
      documentId - identifier of the document
      contentStream - binary content of the file to append
      isLastChunk - if this is the last chunk
      Throws:
      IOException - I/O error
      PersistenceException - Error in the data layer
    • createDocument

      public String createDocument(org.apache.chemistry.opencmis.commons.server.CallContext context, org.apache.chemistry.opencmis.commons.data.Properties properties, String folderId, org.apache.chemistry.opencmis.commons.data.ContentStream contentStream)
      CMIS createDocument
      Parameters:
      context - call context
      properties - the folder's properties
      folderId - identifier of the parent folder
      contentStream - binary content of the file to create
      Returns:
      the new document's identifier
    • createFolder

      public String createFolder(org.apache.chemistry.opencmis.commons.server.CallContext context, org.apache.chemistry.opencmis.commons.data.Properties properties, String folderId)
      CMIS moveObject
      Parameters:
      context - call context
      properties - the folder's properties
      folderId - identifier of the parent folder
      Returns:
      the created folder's identifier
    • moveObject

      public org.apache.chemistry.opencmis.commons.data.ObjectData moveObject(org.apache.chemistry.opencmis.commons.server.CallContext context, org.apache.chemistry.opencmis.commons.spi.Holder<String> objectId, String targetFolderId, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler objectInfos)
      CMIS moveObject
      Parameters:
      context - call context
      objectId - identifier of the file/folder
      targetFolderId - identifier of the target folder
      objectInfos - informations
      Returns:
      the moved object
    • deleteObjectOrCancelCheckOut

      public void deleteObjectOrCancelCheckOut(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId)
    • deleteObject

      public void deleteObject(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId)
      CMIS deleteObject
      Parameters:
      context - call context
      objectId - identifier of the file/folder
    • deleteTree

      public org.apache.chemistry.opencmis.commons.data.FailedToDeleteData deleteTree(org.apache.chemistry.opencmis.commons.server.CallContext context, String folderId, Boolean continueOnFailure)
      CMIS deleteTree
      Parameters:
      context - call context
      folderId - identifier of the folder
      continueOnFailure - if the execution must continue even in presence of an issue
      Returns:
      informations about the failure
    • updateProperties

      public org.apache.chemistry.opencmis.commons.data.ObjectData updateProperties(org.apache.chemistry.opencmis.commons.server.CallContext context, org.apache.chemistry.opencmis.commons.spi.Holder<String> objectId, org.apache.chemistry.opencmis.commons.data.Properties properties, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler objectInfos)
      CMIS updateProperties
      Parameters:
      context - the call context
      objectId - identifier of the object
      properties - the properties
      objectInfos - informations
      Returns:
      the updated object
    • getObjectInfo

      public org.apache.chemistry.opencmis.commons.server.ObjectInfo getObjectInfo(String objectId, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler handler)
    • checkOut

      public void checkOut(org.apache.chemistry.opencmis.commons.spi.Holder<String> objectId, org.apache.chemistry.opencmis.commons.spi.Holder<Boolean> contentCopied)
    • cancelCheckOut

      public void cancelCheckOut(String objectId)
    • checkIn

      public void checkIn(org.apache.chemistry.opencmis.commons.spi.Holder<String> objectId, Boolean major, org.apache.chemistry.opencmis.commons.data.ContentStream contentStream, org.apache.chemistry.opencmis.commons.data.Properties properties, String checkinComment)
    • getObject

      public org.apache.chemistry.opencmis.commons.data.ObjectData getObject(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId, String versionServicesId, String filter, Boolean includeAllowableActions, Boolean includeAcl, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler objectInfos)
      CMIS getObject
      Parameters:
      context - the call context
      objectId - identifier of the file/foler
      versionServicesId - version specification
      filter - optional filter
      includeAllowableActions - if the allowable actions must be included
      includeAcl - if the ACL must be included
      objectInfos - informations
      Returns:
      the file/folder
    • getObjectByPath

      public org.apache.chemistry.opencmis.commons.data.ObjectData getObjectByPath(org.apache.chemistry.opencmis.commons.server.CallContext context, 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)
      CMIS getObjectByPath
      Parameters:
      context - the call context
      path - path of the file/folder
      filter - the filter(optional)
      includeAllowableActions - if the allowable actions must be included
      includeRelationships - if the relationship must be included
      renditionFilter - the rendition filter(optional)
      includePolicyIds - if the policies must be included
      includeAcl - if the ACL must be included
      extension - the extension
      Returns:
      the file/folder at the given path
    • getAllowableActions

      public org.apache.chemistry.opencmis.commons.data.AllowableActions getAllowableActions(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId)
      CMIS getAllowableActions
      Parameters:
      context - the call context
      objectId - identifier of the file/folder
      Returns:
      the allowable actions
    • getAcl

      public org.apache.chemistry.opencmis.commons.data.Acl getAcl(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId)
      CMIS getACL
      Parameters:
      context - the call context
      objectId - identifier of the file/folder
      Returns:
      the ACL
    • getContentStream

      public org.apache.chemistry.opencmis.commons.data.ContentStream getContentStream(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId, BigInteger offset, BigInteger length)
      CMIS getContentStream
      Parameters:
      context - the call context
      objectId - identifier of the file/folder
      offset - not supported, leave null
      length - not supported, leave null
      Returns:
      the stream
    • getChildren

      public org.apache.chemistry.opencmis.commons.data.ObjectInFolderList getChildren(org.apache.chemistry.opencmis.commons.server.CallContext context, String folderId, String filter, boolean includeAllowableActions, boolean includePathSegment, int maxItems, int skipCount, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler objectInfos) throws PersistenceException
      CMIS getChildren
      Parameters:
      context - the call context
      folderId - identifier of the folder
      filter - optional filter
      includeAllowableActions - if the allowable actions must be included
      includePathSegment - if the path segment
      maxItems - maximum number of items
      skipCount - skip the count of children
      objectInfos - informations
      Returns:
      the list of children
      Throws:
      PersistenceException - error at data layer
    • getFolderParent

      public org.apache.chemistry.opencmis.commons.data.ObjectData getFolderParent(org.apache.chemistry.opencmis.commons.server.CallContext context, String folderId)
      CMIS getFolderParent
      Parameters:
      context - the call context
      folderId - identifier of the folder
      Returns:
      the parent object
    • getObjectParents

      public List<org.apache.chemistry.opencmis.commons.data.ObjectParentData> getObjectParents(org.apache.chemistry.opencmis.commons.server.CallContext context, String objectId, String filter, Boolean includeAllowableActions, Boolean includeRelativePathSegment, org.apache.chemistry.opencmis.commons.server.ObjectInfoHandler objectInfos)
      CMIS getObjectParents
      Parameters:
      context - the call context
      objectId - identifier of the file/folder
      filter - an optional filter
      includeAllowableActions - if the allowable actions must be included
      includeRelativePathSegment - if the path segment must be included
      objectInfos - informations
      Returns:
      list of parents
    • query

      public org.apache.chemistry.opencmis.commons.data.ObjectList query(String statement, int maxItems)
    • getAllVersions

      public List<org.apache.chemistry.opencmis.commons.data.ObjectData> getAllVersions(String objectId)
    • getId

      public String getId()
    • setTemplateDao

      public void setTemplateDao(TemplateDAO templateDao)
    • getContentChanges

      public org.apache.chemistry.opencmis.commons.data.ObjectList getContentChanges(org.apache.chemistry.opencmis.commons.spi.Holder<String> changeLogToken, int max) throws org.apache.chemistry.opencmis.commons.exceptions.CmisPermissionDeniedException
      Throws:
      org.apache.chemistry.opencmis.commons.exceptions.CmisPermissionDeniedException
    • getDocumentLastChanges

      public List<org.apache.chemistry.opencmis.commons.data.ObjectData> getDocumentLastChanges(long minDate, int max)
    • getFolderLastChanges

      public List<org.apache.chemistry.opencmis.commons.data.ObjectData> getFolderLastChanges(long minDate, int max)
    • getRoot

      public Folder getRoot()
    • setHistoryDao

      public void setHistoryDao(DocumentHistoryDAO historyDao)