Class JCRLocalCMISDrive.FileAPI

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

    protected class JCRLocalCMISDrive.FileAPI
    extends Object
    CloudFileAPI implementation.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected CMISAPI api
      Internal API.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected FileAPI()
      Instantiates a new file API.
    • Field Detail

      • api

        protected final CMISAPI api
        Internal API.
    • Constructor Detail

      • FileAPI

        protected FileAPI()
        Instantiates a new file API.
    • Method Detail

      • context

        protected JCRLocalCMISDrive.LocalFile context​(String fileId,
                                                      javax.jcr.Node fileNode)
        Context.
        Parameters:
        fileId - the file id
        fileNode - the file node
        Returns:
        the local file
      • getVersionSeriesId

        protected String getVersionSeriesId​(javax.jcr.Node fileNode)
                                     throws javax.jcr.PathNotFoundException,
                                            javax.jcr.RepositoryException
        Value of locally stored cmiscd:versionSeriesId or PathNotFoundException if property cannot be found.
        Parameters:
        fileNode - Node
        Returns:
        String with value of cmiscd:versionSeriesId
        Throws:
        javax.jcr.PathNotFoundException - if cmiscd:versionSeriesId not found
        javax.jcr.RepositoryException - on storage error
      • getVersionSeriesCheckedOutId

        protected String getVersionSeriesCheckedOutId​(javax.jcr.Node node)
                                               throws javax.jcr.PathNotFoundException,
                                                      javax.jcr.RepositoryException
        Value of locally stored cmiscd:versionSeriesCheckedOutId or PathNotFoundException if property cannot be found.
        Parameters:
        node - the node
        Returns:
        String with value of cmiscd:versionSeriesCheckedOutId
        Throws:
        javax.jcr.PathNotFoundException - if cmiscd:versionSeriesCheckedOutId not found
        javax.jcr.RepositoryException - on storage error
      • 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
      • copyFile

        protected org.exoplatform.services.cms.clouddrives.CloudFile copyFile​(org.apache.chemistry.opencmis.client.api.Document srcFile,
                                                                              org.apache.chemistry.opencmis.client.api.Folder destParent,
                                                                              javax.jcr.Node destFileNode)
                                                                       throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                              javax.jcr.RepositoryException
        Copy file.
        Parameters:
        srcFile - the src file
        destParent - the dest parent
        destFileNode - the dest file node
        Returns:
        the cloud file
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException - the cloud drive exception
        javax.jcr.RepositoryException - the repository exception
      • 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
      • copyFolder

        protected org.exoplatform.services.cms.clouddrives.CloudFile copyFolder​(org.apache.chemistry.opencmis.client.api.Folder srcFolder,
                                                                                org.apache.chemistry.opencmis.client.api.Folder destParent,
                                                                                javax.jcr.Node destFolderNode)
                                                                         throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                                javax.jcr.RepositoryException
        Copy folder.
        Parameters:
        srcFolder - the src folder
        destParent - the dest parent
        destFolderNode - the dest folder node
        Returns:
        the cloud file
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException - the cloud drive exception
        javax.jcr.RepositoryException - the repository exception
      • 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.jcr.JCRLocalCloudFile restore​(String id,
                                                                                      String path)
                                                                               throws org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                                      javax.jcr.RepositoryException
        Throws:
        org.exoplatform.services.cms.clouddrives.CloudDriveException
        javax.jcr.RepositoryException