Class JCRLocalDropboxDrive.FileAPI

  • All Implemented Interfaces:
    org.exoplatform.services.cms.clouddrives.CloudFileAPI
    Enclosing class:
    JCRLocalDropboxDrive

    protected class JCRLocalDropboxDrive.FileAPI
    extends Object
    CloudFileAPI implementation for Dropbox synchronization.
    • Field Detail

      • api

        protected final DropboxAPI api
        Internal API.
    • Method Detail

      • createFile

        public org.exoplatform.services.cms.clouddrives.CloudFile createFile​(javax.jcr.Node fileNode,
                                                                             Calendar created,
                                                                             Calendar modified,
                                                                             String mimeType,
                                                                             InputStream content)
                                                                      throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                             javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • createFolder

        public org.exoplatform.services.cms.clouddrives.CloudFile createFolder​(javax.jcr.Node folderNode,
                                                                               Calendar created)
                                                                        throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                               javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • updateFile

        public org.exoplatform.services.cms.clouddrives.CloudFile updateFile​(javax.jcr.Node fileNode,
                                                                             Calendar modified)
                                                                      throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                             javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • updateFolder

        public org.exoplatform.services.cms.clouddrives.CloudFile updateFolder​(javax.jcr.Node folderNode,
                                                                               Calendar modified)
                                                                        throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                               javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • updateFileContent

        public org.exoplatform.services.cms.clouddrives.CloudFile updateFileContent​(javax.jcr.Node fileNode,
                                                                                    Calendar modified,
                                                                                    String mimeType,
                                                                                    InputStream content)
                                                                             throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                                    javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • copyFile

        public org.exoplatform.services.cms.clouddrives.CloudFile copyFile​(javax.jcr.Node srcFileNode,
                                                                           javax.jcr.Node destFileNode)
                                                                    throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                           javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • copyFolder

        public org.exoplatform.services.cms.clouddrives.CloudFile copyFolder​(javax.jcr.Node srcFolderNode,
                                                                             javax.jcr.Node destFolderNode)
                                                                      throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                             javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • removeFile

        public boolean removeFile​(String id)
                           throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                  javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • removeFolder

        public boolean removeFolder​(String id)
                             throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                    javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • trashFile

        public boolean trashFile​(String id)
                          throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                 javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • trashFolder

        public boolean trashFolder​(String id)
                            throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                   javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • untrashFile

        public org.exoplatform.services.cms.clouddrives.CloudFile untrashFile​(javax.jcr.Node fileNode)
                                                                       throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                              javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • untrashFolder

        public org.exoplatform.services.cms.clouddrives.CloudFile untrashFolder​(javax.jcr.Node folderNode)
                                                                         throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                                javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • isTrashSupported

        public boolean isTrashSupported()
      • restore

        public org.exoplatform.services.cms.clouddrives.CloudFile restore​(String id,
                                                                          String nodePath)
                                                                   throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                          javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException
      • getRev

        protected String getRev​(javax.jcr.Node fileNode)
                         throws javax.jcr.RepositoryException
        Gets the rev.
        Parameters:
        fileNode - the file node
        Returns:
        the rev
        Throws:
        javax.jcr.RepositoryException - the repository exception
      • uploadFile

        protected org.exoplatform.services.cms.clouddrives.CloudFile uploadFile​(javax.jcr.Node fileNode,
                                                                                Calendar created,
                                                                                Calendar modified,
                                                                                String mimeType,
                                                                                InputStream content,
                                                                                boolean update)
                                                                         throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                                javax.jcr.RepositoryException
        Upload file.
        Parameters:
        fileNode - the file node
        created - the created
        modified - the modified
        mimeType - the mime type
        content - the content
        update - the update
        Returns:
        the cloud file
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException - the cloud drive exception
        javax.jcr.RepositoryException - the repository exception
      • move

        protected JCRLocalDropboxDrive.MetadataInfo move​(javax.jcr.Node node)
                                                  throws javax.jcr.RepositoryException,
                                                         DropboxException,
                                                         org.exoplatform.services.cms.clouddrives.RefreshAccessException,
                                                         org.exoplatform.services.cms.clouddrives.ConflictException,
                                                         org.exoplatform.services.cms.clouddrives.NotFoundException,
                                                         org.exoplatform.services.cms.clouddrives.NotAcceptableException,
                                                         org.exoplatform.services.cms.clouddrives.RetryLaterException
        Move remote file to hierarchy of given node.
        Parameters:
        node - the node
        Returns:
        the JCRLocalDropboxDrive.MetadataInfo instance
        Throws:
        javax.jcr.RepositoryException - the repository exception
        DropboxException - the dropbox exception
        org.exoplatform.services.cms.clouddrives.RefreshAccessException - the refresh access exception
        org.exoplatform.services.cms.clouddrives.ConflictException - the conflict exception
        org.exoplatform.services.cms.clouddrives.NotFoundException - the not found exception
        org.exoplatform.services.cms.clouddrives.NotAcceptableException - the not acceptable exception
        org.exoplatform.services.cms.clouddrives.RetryLaterException - the retry later exception
      • updateSubtree

        protected void updateSubtree​(javax.jcr.Node folderNode)
                              throws javax.jcr.RepositoryException
        Update subtree for Dropbox properties saved in the nodes.
        Parameters:
        folderNode - the folder node
        Throws:
        javax.jcr.RepositoryException - the repository exception
      • resetSharing

        protected void resetSharing​(javax.jcr.Node fileNode)
                             throws javax.jcr.RepositoryException
        Reset Dropbox file direct/shared link to force generation of a new one within new dbxPath. It is a required step when copying or moving file - Dropbox maintains links respectively the file location.
        Parameters:
        fileNode - the file node
        Throws:
        javax.jcr.RepositoryException - the repository exception
      • copy

        protected JCRLocalDropboxDrive.MetadataInfo copy​(javax.jcr.Node sourceNode,
                                                         javax.jcr.Node destNode)
                                                  throws javax.jcr.RepositoryException,
                                                         DropboxException,
                                                         org.exoplatform.services.cms.clouddrives.RefreshAccessException,
                                                         org.exoplatform.services.cms.clouddrives.ConflictException,
                                                         org.exoplatform.services.cms.clouddrives.NotFoundException,
                                                         org.exoplatform.services.cms.clouddrives.RetryLaterException,
                                                         org.exoplatform.services.cms.clouddrives.NotAcceptableException
        Copy.
        Parameters:
        sourceNode - the source node
        destNode - the dest node
        Returns:
        the dbx entry
        Throws:
        javax.jcr.RepositoryException - the repository exception
        DropboxException - the dropbox exception
        org.exoplatform.services.cms.clouddrives.RefreshAccessException - the refresh access exception
        org.exoplatform.services.cms.clouddrives.ConflictException - the conflict exception
        org.exoplatform.services.cms.clouddrives.NotFoundException - the not found exception
        org.exoplatform.services.cms.clouddrives.RetryLaterException - the retry later exception
        org.exoplatform.services.cms.clouddrives.NotAcceptableException - the not acceptable exception