Class JCRLocalCMISDrive.Sync.TraversingAlgorithm

  • Enclosing class:
    JCRLocalCMISDrive.Sync

    protected class JCRLocalCMISDrive.Sync.TraversingAlgorithm
    extends Object
    CMIS drive sync based on all remote files traversing: we do compare all remote files with locals by its change log and fetch an item if the logs differ.
    • Constructor Detail

      • TraversingAlgorithm

        protected TraversingAlgorithm()
    • Method Detail

      • readItems

        protected Future<org.apache.chemistry.opencmis.client.api.Folder> readItems​(String folderId)
                                                                             throws javax.jcr.RepositoryException,
                                                                                    org.exoplatform.services.cms.clouddrives.CloudDriveException
        Read items.
        Parameters:
        folderId - the folder id
        Returns:
        the future
        Throws:
        javax.jcr.RepositoryException - the repository exception
        org.exoplatform.services.cms.clouddrives.CloudDriveException - the cloud drive exception
      • syncFiles

        protected void syncFiles()
                          throws javax.jcr.RepositoryException,
                                 org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                 InterruptedException
        Sync files.
        Throws:
        javax.jcr.RepositoryException - the repository exception
        org.exoplatform.services.cms.clouddrives.CloudDriveException - the cloud drive exception
        InterruptedException - the interrupted exception
      • isReadDone

        protected boolean isReadDone()
        Checks if is read done.
        Returns:
        true, if is read done
      • syncChilds

        protected org.apache.chemistry.opencmis.client.api.Folder syncChilds​(String folderId)
                                                                      throws javax.jcr.RepositoryException,
                                                                             org.exoplatform.services.cms.clouddrives.CloudDriveException,
                                                                             InterruptedException
        Sync childs.
        Parameters:
        folderId - the folder id
        Returns:
        the folder
        Throws:
        javax.jcr.RepositoryException - the repository exception
        org.exoplatform.services.cms.clouddrives.CloudDriveException - the cloud drive exception
        InterruptedException - the interrupted exception