|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.exoplatform.clouddrive.CloudDrive
org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive
org.exoplatform.clouddrive.box.JCRLocalBoxDrive
public class JCRLocalBoxDrive
Local drive for Box. Created by The eXo Platform SAS.
| Nested Class Summary | |
|---|---|
class |
JCRLocalBoxDrive.BoxState
|
protected class |
JCRLocalBoxDrive.Connect
Connect algorithm for Box drive. |
protected class |
JCRLocalBoxDrive.EventsSync
Sync algorithm for Box drive based on drive changes obtained from Events service http://developers.box.com/docs/#events. |
protected class |
JCRLocalBoxDrive.FileAPI
|
protected class |
JCRLocalBoxDrive.FullSync
Sync algorithm for Box drive based on all remote files traversing: we do compare all remote files with locals by its Etag and fetch an item if the tags differ. |
| Nested classes/interfaces inherited from class org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive |
|---|
org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.AbstractCommand, org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.AbstractFileAPI, org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.CommandCallable, org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.ConnectCommand, org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.DriveState, org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.ExoJCREnvironment, org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.ExoJCRSettings, org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.FileChange, org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.JCRListener, org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.NoConnectCommand, org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.NoSyncCommand, org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.SyncCommand, org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.SyncFilesCommand |
| Nested classes/interfaces inherited from class org.exoplatform.clouddrive.CloudDrive |
|---|
org.exoplatform.clouddrive.CloudDrive.Command, org.exoplatform.clouddrive.CloudDrive.CommandProgress, org.exoplatform.clouddrive.CloudDrive.FilesState, org.exoplatform.clouddrive.CloudDrive.ListenerSupport |
| Field Summary | |
|---|---|
static long |
FULL_SYNC_PERIOD
Period to perform JCRLocalBoxDrive.FullSync as a next sync request. |
| Fields inherited from class org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive |
|---|
accentsConverter, actionDrive, ALREADY_DONE, commandEnv, CURRENT_LOCALFORMAT, currentChangeId, currentConnect, currentSync, driveCommands, DUMMY_DATA, ECD_CLOUDDRIVE, ECD_CLOUDFILE, ECD_CLOUDFILERESOURCE, ECD_CLOUDFOLDER, ECD_IGNORED, ECD_LOCALFORMAT, EXO_DATETIME, EXO_MODIFY, EXO_THUMBNAIL, EXO_THUMBNAILS, EXO_TRASHFOLDER, fileAPI, fileChanges, fileChangeSequencer, fileCopies, fileHistory, fileRemovals, fileSynchronizers, fileTrash, finder, HISTORY_EXPIRATION, HISTORY_MAX_LENGTH, jcrListener, mimeTypes, MIX_REFERENCEABLE, noConnect, noSync, NT_FILE, NT_FOLDER, NT_RESOURCE, NT_UNSTRUCTURED, repository, rootNodeHolder, rootUUID, rootWorkspace, sessionProviders, state, syncFilesChanged, syncFilesMessages, syncLock, updating, user, USER_NODEPATH, USER_SESSIONPROVIDER, USER_WORKSPACE, workerExecutor |
| Fields inherited from class org.exoplatform.clouddrive.CloudDrive |
|---|
listeners, LOG |
| Constructor Summary | |
|---|---|
protected |
JCRLocalBoxDrive(org.exoplatform.clouddrive.box.BoxConnector.API apiBuilder,
BoxProvider provider,
javax.jcr.Node driveNode,
org.exoplatform.services.jcr.ext.app.SessionProviderService sessionProviders,
org.exoplatform.clouddrive.jcr.NodeFinder finder,
org.exoplatform.clouddrive.utils.ExtendedMimeTypeResolver mimeTypes)
|
protected |
JCRLocalBoxDrive(BoxUser user,
javax.jcr.Node driveNode,
org.exoplatform.services.jcr.ext.app.SessionProviderService sessionProviders,
org.exoplatform.clouddrive.jcr.NodeFinder finder,
org.exoplatform.clouddrive.utils.ExtendedMimeTypeResolver mimeTypes)
|
| Method Summary | |
|---|---|
protected org.exoplatform.clouddrive.CloudFileAPI |
createFileAPI()
|
protected String |
findMimetype(String fileName)
|
protected org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.ConnectCommand |
getConnectCommand()
|
protected Long |
getSequenceId(com.box.boxjavalibv2.dao.BoxItem item)
|
JCRLocalBoxDrive.BoxState |
getState()
|
protected org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.SyncCommand |
getSyncCommand()
|
BoxUser |
getUser()
|
protected boolean |
initBoxItem(javax.jcr.Node localNode,
com.box.boxjavalibv2.dao.BoxItem item)
Initialize Box's common specifics of files and folders. |
protected void |
initDrive(javax.jcr.Node driveNode)
|
protected static BoxUser |
loadUser(org.exoplatform.clouddrive.box.BoxConnector.API apiBuilder,
BoxProvider provider,
javax.jcr.Node driveNode)
Load user from the drive Node. |
protected boolean |
notInRange(String path,
Collection<String> range)
|
void |
onUserTokenRefresh(org.exoplatform.clouddrive.oauth2.UserToken token)
|
protected String |
previewLink(javax.jcr.Node fileNode)
|
protected Long |
readChangeId()
|
protected void |
refreshAccess()
|
protected void |
saveChangeId(Long id)
|
protected void |
updateAccess(org.exoplatform.clouddrive.CloudUser newUser)
|
protected org.exoplatform.clouddrive.jcr.JCRLocalCloudFile |
updateItem(BoxAPI api,
com.box.boxjavalibv2.dao.BoxItem item,
javax.jcr.Node parent,
javax.jcr.Node node)
Update or create a local node of Cloud File. |
| Methods inherited from class org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive |
|---|
addJCRListener, addUpdating, await, checkNotTrashed, cleanName, cleanNode, cleanRemoved, cleanup, cleanUpdated, commitChanges, configure, connect, copyNode, create, disconnect, editLink, ensureSame, fileNode, findNode, findNodes, getChangeId, getConnectDate, getCurentCommand, getFile, getId, getInitDate, getLink, getLocalUser, getOrCleanFileNode, getPath, getTitle, hasFile, hasRemoved, hasUpdated, ignore, initCommon, initCopy, initFile, initFolder, initRemove, initUpdating, isConnected, isDrive, isDrive, isIgnored, isInDrive, isInTrash, isLocal, isNew, isNewOrUpdating, isSameDrive, isUpdating, link, listFiles, listFiles, listFiles, loadHistory, migrateName, moveFile, nextChangeId, openFile, openFolder, readFile, readNode, readNodes, removeJCRListener, removeUpdating, rollback, rollbackAllChanges, rollbackChanges, rootNode, saveChanges, savedChanges, session, setChangeId, size, synchronize, systemSession, thumbnailLink, title, unignore |
| Methods inherited from class org.exoplatform.clouddrive.CloudDrive |
|---|
addListener, removeListener, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final long FULL_SYNC_PERIOD
JCRLocalBoxDrive.FullSync as a next sync request. See implementation of
getSyncCommand().
| Constructor Detail |
|---|
protected JCRLocalBoxDrive(BoxUser user,
javax.jcr.Node driveNode,
org.exoplatform.services.jcr.ext.app.SessionProviderService sessionProviders,
org.exoplatform.clouddrive.jcr.NodeFinder finder,
org.exoplatform.clouddrive.utils.ExtendedMimeTypeResolver mimeTypes)
throws org.exoplatform.clouddrive.CloudDriveException,
javax.jcr.RepositoryException
user - driveNode - sessionProviders -
org.exoplatform.clouddrive.CloudDriveException
javax.jcr.RepositoryException
protected JCRLocalBoxDrive(org.exoplatform.clouddrive.box.BoxConnector.API apiBuilder,
BoxProvider provider,
javax.jcr.Node driveNode,
org.exoplatform.services.jcr.ext.app.SessionProviderService sessionProviders,
org.exoplatform.clouddrive.jcr.NodeFinder finder,
org.exoplatform.clouddrive.utils.ExtendedMimeTypeResolver mimeTypes)
throws javax.jcr.RepositoryException,
org.exoplatform.clouddrive.CloudDriveException
javax.jcr.RepositoryException
org.exoplatform.clouddrive.CloudDriveException| Method Detail |
|---|
protected void initDrive(javax.jcr.Node driveNode)
throws org.exoplatform.clouddrive.CloudDriveException,
javax.jcr.RepositoryException
initDrive in class org.exoplatform.clouddrive.jcr.JCRLocalCloudDriveorg.exoplatform.clouddrive.CloudDriveException
javax.jcr.RepositoryException
protected static BoxUser loadUser(org.exoplatform.clouddrive.box.BoxConnector.API apiBuilder,
BoxProvider provider,
javax.jcr.Node driveNode)
throws javax.jcr.RepositoryException,
BoxException,
org.exoplatform.clouddrive.CloudDriveException
apiBuilder - BoxConnector.API API builderprovider - BoxProviderdriveNode - Node root of the drive
BoxUser
javax.jcr.RepositoryException
BoxException
org.exoplatform.clouddrive.CloudDriveException
public void onUserTokenRefresh(org.exoplatform.clouddrive.oauth2.UserToken token)
throws org.exoplatform.clouddrive.CloudDriveException
onUserTokenRefresh in interface org.exoplatform.clouddrive.oauth2.UserTokenRefreshListenerBoxException
org.exoplatform.clouddrive.CloudDriveException
protected org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.ConnectCommand getConnectCommand()
throws org.exoplatform.clouddrive.DriveRemovedException,
javax.jcr.RepositoryException
getConnectCommand in class org.exoplatform.clouddrive.jcr.JCRLocalCloudDriveorg.exoplatform.clouddrive.DriveRemovedException
javax.jcr.RepositoryException
protected org.exoplatform.clouddrive.jcr.JCRLocalCloudDrive.SyncCommand getSyncCommand()
throws org.exoplatform.clouddrive.DriveRemovedException,
org.exoplatform.clouddrive.SyncNotSupportedException,
javax.jcr.RepositoryException
getSyncCommand in class org.exoplatform.clouddrive.jcr.JCRLocalCloudDriveorg.exoplatform.clouddrive.DriveRemovedException
org.exoplatform.clouddrive.SyncNotSupportedException
javax.jcr.RepositoryException
protected org.exoplatform.clouddrive.CloudFileAPI createFileAPI()
throws org.exoplatform.clouddrive.DriveRemovedException,
org.exoplatform.clouddrive.SyncNotSupportedException,
javax.jcr.RepositoryException
createFileAPI in class org.exoplatform.clouddrive.jcr.JCRLocalCloudDriveorg.exoplatform.clouddrive.DriveRemovedException
org.exoplatform.clouddrive.SyncNotSupportedException
javax.jcr.RepositoryException
protected Long readChangeId()
throws javax.jcr.RepositoryException,
org.exoplatform.clouddrive.CloudDriveException
readChangeId in class org.exoplatform.clouddrive.jcr.JCRLocalCloudDrivejavax.jcr.RepositoryException
org.exoplatform.clouddrive.CloudDriveException
protected void saveChangeId(Long id)
throws org.exoplatform.clouddrive.CloudDriveException,
javax.jcr.RepositoryException
saveChangeId in class org.exoplatform.clouddrive.jcr.JCRLocalCloudDriveorg.exoplatform.clouddrive.CloudDriveException
javax.jcr.RepositoryExceptionpublic BoxUser getUser()
getUser in class org.exoplatform.clouddrive.CloudDrive
public JCRLocalBoxDrive.BoxState getState()
throws org.exoplatform.clouddrive.DriveRemovedException,
org.exoplatform.clouddrive.CloudProviderException,
javax.jcr.RepositoryException,
org.exoplatform.clouddrive.RefreshAccessException
getState in class org.exoplatform.clouddrive.jcr.JCRLocalCloudDriveorg.exoplatform.clouddrive.DriveRemovedException
org.exoplatform.clouddrive.CloudProviderException
javax.jcr.RepositoryException
org.exoplatform.clouddrive.RefreshAccessException
protected void refreshAccess()
throws org.exoplatform.clouddrive.CloudDriveException
refreshAccess in class org.exoplatform.clouddrive.CloudDriveorg.exoplatform.clouddrive.CloudDriveException
protected void updateAccess(org.exoplatform.clouddrive.CloudUser newUser)
throws org.exoplatform.clouddrive.CloudDriveException,
javax.jcr.RepositoryException
updateAccess in class org.exoplatform.clouddrive.CloudDriveorg.exoplatform.clouddrive.CloudDriveException
javax.jcr.RepositoryException
protected boolean initBoxItem(javax.jcr.Node localNode,
com.box.boxjavalibv2.dao.BoxItem item)
throws javax.jcr.RepositoryException,
BoxException
localNode - Nodeitem - BoxItem
true if Box file was changed comparing to previous state, false
javax.jcr.RepositoryException
BoxExceptionprotected String findMimetype(String fileName)
protected org.exoplatform.clouddrive.jcr.JCRLocalCloudFile updateItem(BoxAPI api,
com.box.boxjavalibv2.dao.BoxItem item,
javax.jcr.Node parent,
javax.jcr.Node node)
throws javax.jcr.RepositoryException,
org.exoplatform.clouddrive.CloudDriveException
null then it will be open on the
given parent and created if not already exists.
api - BoxAPIitem - BoxItemparent - Nodenode - Node, can be null
JCRLocalCloudFile
javax.jcr.RepositoryException - for storage errors
org.exoplatform.clouddrive.CloudDriveException - for drive or format errors
protected boolean notInRange(String path,
Collection<String> range)
protected Long getSequenceId(com.box.boxjavalibv2.dao.BoxItem item)
throws BoxFormatException
BoxFormatException
protected String previewLink(javax.jcr.Node fileNode)
throws javax.jcr.RepositoryException
previewLink in class org.exoplatform.clouddrive.jcr.JCRLocalCloudDrivejavax.jcr.RepositoryException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||