Interface DocumentFileService


public interface DocumentFileService
  • Method Details

    • getDocumentItems

      List<AbstractNode> getDocumentItems(FileListingType listingType, DocumentNodeFilter filter, int offset, int limit, long userIdentityId, boolean showHiddenFiles) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException
      Retrieves a list of accessible folders and/or files, for a selected user, by applying the designated filter.
      Parameters:
      listingType - FileListingType
      filter - DocumentNodeFilter that contains filtering criteria
      offset - Offset of the result list
      limit - Limit of the result list
      userIdentityId - Identity technical identifier of the user acessing files
      Returns:
      List of AbstractNode
      Throws:
      IllegalAccessException - when the user isn't allowed to access documents of the designated parentFolderId or ownerId
      org.exoplatform.commons.exception.ObjectNotFoundException - when parentFolderId or ownerId doesn't exisits
    • getFilesTimeline

      List<FileNode> getFilesTimeline(DocumentTimelineFilter filter, int offset, int limit, long userIdentityId) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException
      Retrieves a list of accessible files, for a selected user, by applying the designated filter. The returned results will be of type FileNode only. The ownerId of filter object will be used to select the list of accessible Nodes to retrieve switch a timeline.
      Parameters:
      filter - DocumentTimelineFilter that contains filtering criteria
      offset - Offset of the result list
      limit - Limit of the result list
      userIdentityId - Identity technical identifier of the user acessing files
      Returns:
      List of AbstractNode
      Throws:
      IllegalAccessException - when the user isn't allowed to access documents of the designated ownerId
      org.exoplatform.commons.exception.ObjectNotFoundException - when ownerId doesn't exisits
    • getBiggestDocuments

      List<AbstractNode> getBiggestDocuments(long ownerId, org.exoplatform.social.core.identity.model.Identity userIdentity, int offset, int limit) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException
      Retrieves a list of accessible files, for a selected user, by applying the designated filter. The returned results will be of type FileNode only. The ownerId of filter object will be used to select the list of accessible Nodes to retrieve switch a timeline.
      Parameters:
      ownerId - Identity technical identifier of the where search files
      userIdentity - Identity technical identifier of the user acessing files
      offset - Offset of the result list
      limit - Limit of the result list
      Returns:
      List of FileNode
      Throws:
      IllegalAccessException - when the user isn't allowed to access documents of the designated ownerId
      org.exoplatform.commons.exception.ObjectNotFoundException - when ownerId doesn't exisits
    • getGroupDocumentsCount

      DocumentGroupsSize getGroupDocumentsCount(DocumentTimelineFilter filter, long userIdentityId) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException
      Retrieves the number of existing files by group.
      Parameters:
      filter - DocumentTimelineFilter that contains filtering criteria
      userIdentityId - Identity technical identifier of the user acessing files
      Returns:
      List of AbstractNode
      Throws:
      IllegalAccessException - when the user isn't allowed to access documents of the designated ownerId
      org.exoplatform.commons.exception.ObjectNotFoundException - when ownerId doesn't exisits
    • getFolderChildNodes

      List<AbstractNode> getFolderChildNodes(DocumentFolderFilter filter, int offset, int limit, long userIdentityId) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException
      Retrieves a list of accessible files, for a selected user, by applying the designated filter. The parentForlderId of filter object will be used to select the list of Nodes to retrieve.
      Parameters:
      filter - DocumentFolderFilter that contains filtering criteria
      offset - Offset of the result list
      limit - Limit of the result list
      userIdentityId - Identity technical identifier of the user acessing files
      Returns:
      List of AbstractNode
      Throws:
      IllegalAccessException - when the user isn't allowed to access documents of the designated parentFolderId
      org.exoplatform.commons.exception.ObjectNotFoundException - when parentFolderId doesn't exisits
    • getBreadcrumb

      List<BreadCrumbItem> getBreadcrumb(long ownerId, String folderId, String folderPath, long authenticatedUserId) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException
      Retrieves breadcrumb of the given node.
      Parameters:
      folderId - Id of the given folder
      authenticatedUserId - of the user acessing files
      Returns:
      List of BreadCrumbItem
      Throws:
      IllegalAccessException - when the user isn't allowed to access documents of the designated parentFolderId
      org.exoplatform.commons.exception.ObjectNotFoundException - when folderId doesn't exisits
    • getFullTreeData

      List<FullTreeItem> getFullTreeData(long ownerId, String folderId, long authenticatedUserId, boolean withChildren) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException
      Retrieves breadcrumb of the given node.
      Parameters:
      folderId - Id of the given folder
      authenticatedUserId - of the user acessing files
      withChildren - get all children
      Returns:
      List of FullTreeItem
      Throws:
      IllegalAccessException - when the user isn't allowed to access documents of the designated parentFolderId
      org.exoplatform.commons.exception.ObjectNotFoundException - when folderId doesn't exisits
    • duplicateDocument

      AbstractNode duplicateDocument(long ownerId, String fileId, String prefixClone, long authenticatedUserId) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException
      Duplicate the given node.
      Parameters:
      fileId - Id of the given file
      authenticatedUserId - of the user acessing files
      Returns:
      AbstractNode
      Throws:
      IllegalAccessException - when the user isn't allowed to access documents of the designated parentFolderId
      org.exoplatform.commons.exception.ObjectNotFoundException - when folderId doesn't exisits
    • moveDocument

      void moveDocument(long ownerId, String fileId, String destPath, long authenticatedUserId, String conflictAction) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException, org.exoplatform.commons.ObjectAlreadyExistsException
      Move the given node.
      Parameters:
      fileId - Id of the given file
      authenticatedUserId - of the user accessing files
      conflictAction - conflict action
      Throws:
      IllegalAccessException - when the user isn't allowed to access documents of the designated parentFolderId
      org.exoplatform.commons.exception.ObjectNotFoundException - when folderId doesn't exist
      org.exoplatform.commons.ObjectAlreadyExistsException - when file with same name already exists in the target path
    • deleteDocument

      void deleteDocument(String documentPath, String documentId, boolean favorite, long delay, long authenticatedUserId) throws IllegalAccessException
      Delete a document.
      Parameters:
      documentPath - the path of document
      documentId - the Id of document
      favorite - Is favorite document
      delay - the delay to apply the delete atcion
      authenticatedUserId - of the user acessing files
      Throws:
      IllegalAccessException - when the user isn't allowed to delete document
    • undoDeleteDocument

      void undoDeleteDocument(String documentId, long authenticatedUserId)
      Undo delete a document (Cancel the delete action).
      Parameters:
      documentId - the Id of document
      authenticatedUserId - of the user acessing files
    • deleteDocuments

      void deleteDocuments(int actionId, List<AbstractNode> documents, long authenticatedUserId) throws IllegalAccessException
      Delete a list of documents.
      Parameters:
      documents - the list document
      authenticatedUserId - of the user acessing files
      Throws:
      IllegalAccessException
    • downloadDocuments

      void downloadDocuments(int actionId, List<AbstractNode> documents, long authenticatedUserId) throws IllegalAccessException
      Download a list of documents.
      Parameters:
      documents - the list document
      authenticatedUserId - of the user accessing files
      Throws:
      IllegalAccessException
    • updatePermissions

      void updatePermissions(String documentId, NodePermission nodePermissionEntity, long authenticatedUserId) throws IllegalAccessException
      Throws:
      IllegalAccessException
    • shareDocument

      void shareDocument(String documentId, long destId, boolean broadcast) throws IllegalAccessException
      Shares a document with given user or space
      Parameters:
      documentId - document id
      destId - target user or space identity id
      Throws:
      IllegalAccessException
    • notifyMember

      void notifyMember(String documentId, long destId) throws IllegalAccessException
      Throws:
      IllegalAccessException
    • unShareDocument

      void unShareDocument(String documentId, long destId) throws IllegalStateException, javax.jcr.RepositoryException
      Throws:
      IllegalStateException
      javax.jcr.RepositoryException
    • createFolder

      AbstractNode createFolder(long ownerId, String folderId, String folderPath, String name, long authenticatedUserId) throws IllegalAccessException, org.exoplatform.commons.ObjectAlreadyExistsException, org.exoplatform.commons.exception.ObjectNotFoundException
      Throws:
      IllegalAccessException
      org.exoplatform.commons.ObjectAlreadyExistsException
      org.exoplatform.commons.exception.ObjectNotFoundException
    • getNewName

      String getNewName(long ownerId, String folderId, String folderPath, String name) throws IllegalAccessException, org.exoplatform.commons.ObjectAlreadyExistsException, org.exoplatform.commons.exception.ObjectNotFoundException
      Throws:
      IllegalAccessException
      org.exoplatform.commons.ObjectAlreadyExistsException
      org.exoplatform.commons.exception.ObjectNotFoundException
    • renameDocument

      void renameDocument(long ownerId, String documentID, String name, long authenticatedUserId) throws IllegalAccessException, org.exoplatform.commons.ObjectAlreadyExistsException, org.exoplatform.commons.exception.ObjectNotFoundException
      Throws:
      IllegalAccessException
      org.exoplatform.commons.ObjectAlreadyExistsException
      org.exoplatform.commons.exception.ObjectNotFoundException
    • canAccess

      boolean canAccess(String documentID, org.exoplatform.services.security.Identity aclIdentity) throws javax.jcr.RepositoryException
      Throws:
      javax.jcr.RepositoryException
    • getAclUserIdentity

      org.exoplatform.services.security.Identity getAclUserIdentity(String userName) throws IllegalAccessException
      Throws:
      IllegalAccessException
    • updateDocumentDescription

      default void updateDocumentDescription(long ownerId, String documentID, String description, long aclIdentity) throws IllegalStateException, IllegalAccessException, javax.jcr.RepositoryException
      Throws:
      IllegalStateException
      IllegalAccessException
      javax.jcr.RepositoryException
    • createShortcut

      void createShortcut(String documentId, String destPath, String aclIdentity, String conflictAction) throws IllegalAccessException, org.exoplatform.commons.ObjectAlreadyExistsException
      Creates a shortcut for a document
      Parameters:
      documentId - document id
      destPath - destination path
      aclIdentity - user identity id
      conflictAction - conflictAction
      Throws:
      IllegalAccessException
      org.exoplatform.commons.ObjectAlreadyExistsException
    • getFileVersions

      List<FileVersion> getFileVersions(String fileNodeId, String aclIdentity)
      Retrieves versions of specific file
      Parameters:
      fileNodeId - target file node id
      aclIdentity - user identity id
      Returns:
      List of FileVersion
    • updateVersionSummary

      FileVersion updateVersionSummary(String originFileId, String versionId, String summary, String aclIdentity)
      update or add a version summary
      Parameters:
      originFileId - original file id
      versionId - version id
      summary - new summary to be saved
      aclIdentity - current user identity
      Returns:
      FileVersion
    • restoreVersion

      FileVersion restoreVersion(String versionId, String aclIdentity)
      restore document version
      Parameters:
      versionId - version id
      aclIdentity - current user identity
      Returns:
      FileVersion
    • canAddDocument

      boolean canAddDocument(String spaceId, String currentUserName)
      verify if current user can add document
      Parameters:
      spaceId - space id
      currentUserName - current user name
    • getDownloadZipBytes

      byte[] getDownloadZipBytes(int actionId, String userName) throws IOException
      Get the zip for download by action ID
      Parameters:
      actionId - action id
      userName - current user name
      Throws:
      IOException
    • cancelBulkAction

      void cancelBulkAction(String actionId, String userName) throws IOException
      Cancel any bulk action by action ID
      Parameters:
      actionId - action id
      userName - current user name
      Throws:
      IOException
    • createNewVersion

      FileVersion createNewVersion(String nodeId, String aclIdentity, InputStream newContent)
      Creates a new version from an input stream
      Parameters:
      nodeId - target node id
      aclIdentity - current user identity id
      newContent - the new content to be set in the new version
      Returns:
      FileVersion
    • moveDocuments

      void moveDocuments(int actionId, long ownerId, List<AbstractNode> documents, String destPath, long userIdentityId) throws IllegalAccessException
      Move list of documents in bulk
      Parameters:
      actionId - action id
      ownerId - owner id
      documents - list of documents to move
      destPath - destination path
      userIdentityId - current user identity id
      Throws:
      IllegalAccessException
    • getDefaultView

      String getDefaultView(Long ownerId, String userIdentityId)
      Get Stored default View for the current user
      Parameters:
      ownerId - Id of the owner Identity
      userIdentityId - user identity id
      Returns:
      the stored view
    • canImport

      boolean canImport(org.exoplatform.services.security.Identity identity)
      Check if the current user can import documents from zip
      Parameters:
      identity - Current user Identity
    • getDocumentsSizeStat

      DocumentsSize getDocumentsSizeStat(long ownerId, long userIdentityId) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException
      Get the total size of a space or user drive
      Parameters:
      ownerId - Id of the owner Identity
      Returns:
      the document size object
      Throws:
      IllegalAccessException
      org.exoplatform.commons.exception.ObjectNotFoundException
    • addDocumentsSizeStat

      DocumentsSize addDocumentsSizeStat(long ownerId, long userIdentityId) throws IllegalAccessException, org.exoplatform.commons.exception.ObjectNotFoundException
      Calculate total size of a space or user drive and store the result in new analytics entry
      Parameters:
      ownerId - Id of the owner Identity
      userIdentityId - current user identity id
      Returns:
      the document size object
      Throws:
      IllegalAccessException
      org.exoplatform.commons.exception.ObjectNotFoundException
    • setDefaultView

      void setDefaultView(Long ownerId, String userIdentityId, String view)
      Set default View for the current user
      Parameters:
      ownerId - Id of the owner Identity
      userIdentityId - user identity id
      view - the view to store
    • hasEditPermissionOnDocument

      boolean hasEditPermissionOnDocument(String nodeId, long userIdentityId) throws IllegalAccessException
      Checks if user has edit permission on document
      Parameters:
      nodeId - document node id
      userIdentityId - user identity id
      Returns:
      true if has edit permission or false
      Throws:
      IllegalAccessException
    • importFiles

      void importFiles(String ownerId, String folderId, String folderPath, String uploadId, String conflict, org.exoplatform.services.security.Identity identity, long authenticatedUserId) throws Exception
      Import list of documents from an uploaded zip
      Parameters:
      ownerId - owner id
      folderId - folder id
      folderPath - folder path
      uploadId - upload id
      conflict - conflict rule
      identity - current user identity
      authenticatedUserId - current user identity id
      Throws:
      Exception