public interface NuxeoDriveManager
Modifier and Type | Field and Description |
---|---|
static String |
LOCALLY_EDITED_COLLECTION_NAME |
Modifier and Type | Method and Description |
---|---|
void |
addToLocallyEditedCollection(CoreSession session,
DocumentModel doc)
Adds the given
DocumentModel to the LOCALLY_EDITED_COLLECTION_NAME collection. |
FileSystemChangeFinder |
getChangeFinder()
Gets the
FileSystemChangeFinder member. |
FileSystemChangeSummary |
getChangeSummary(Principal principal,
Map<String,Set<IdRef>> lastSyncRootRefs,
long lastSuccessfulSync)
Gets a summary of document changes in all repositories or in the repository against which the given session is
bound depending on the
allRepositories parameter, for the given user's synchronization roots, since the
user's device last successful synchronization date. |
FileSystemChangeSummary |
getChangeSummaryIntegerBounds(Principal principal,
Map<String,Set<IdRef>> lastSyncRootRefs,
long lowerBound)
Gets a summary of document changes in all repositories or in the repository against which the given session is
bound depending on the
allRepositories parameter, for the given user's synchronization roots, from the
lower bound sent by the user's device. |
Map<String,Set<String>> |
getCollectionSyncRootMemberIds(Principal principal)
Fetch all the collection sync root member ids for a given user.
|
Set<IdRef> |
getSynchronizationRootReferences(CoreSession session)
Fetch the list of synchronization root refs for a given user and a given session repository.
|
Map<String,SynchronizationRoots> |
getSynchronizationRoots(Principal principal)
Fetch all the synchronization root references and paths for a given user.
|
void |
handleFolderDeletion(IdRef ref)
Method to be called by a CoreEvent listener monitoring documents deletions to cleanup references to recently
deleted documents and invalidate the caches.
|
void |
invalidateCollectionSyncRootMemberCache()
Invalidate the collection sync root member cache for all users so as to query the repository next time
getCollectionSyncRootMemberIds(Principal) is called. |
void |
invalidateCollectionSyncRootMemberCache(String userName)
Invalidate the collection sync root member cache for a given user so as to query the repository next time
getCollectionSyncRootMemberIds(Principal) is called. |
void |
invalidateSynchronizationRootsCache(String userName)
Invalidate the synchronization roots cache for a given user so as to query the repository next time
getSynchronizationRoots(Principal) is called. |
boolean |
isSynchronizationRoot(Principal principal,
DocumentModel doc)
Checks if the given
DocumentModel is a synchronization root for the given user. |
void |
registerSynchronizationRoot(Principal principal,
DocumentModel newRootContainer,
CoreSession session) |
void |
setChangeFinder(FileSystemChangeFinder changeFinder)
Sets the
FileSystemChangeFinder member. |
void |
unregisterSynchronizationRoot(Principal principal,
DocumentModel rootContainer,
CoreSession session) |
static final String LOCALLY_EDITED_COLLECTION_NAME
void registerSynchronizationRoot(Principal principal, DocumentModel newRootContainer, CoreSession session) throws ClientException
principal
- the Nuxeo Drive usernewRootContainer
- the folderish document to be used as synchronization root: must be bound to an active
sessionClientException
SecurityException
- if the user does not have write permissions to the container.void unregisterSynchronizationRoot(Principal principal, DocumentModel rootContainer, CoreSession session) throws ClientException
principal
- the Nuxeo Drive userrootContainer
- the folderish document that should no longer be used as a synchronization rootClientException
Set<IdRef> getSynchronizationRootReferences(CoreSession session) throws ClientException
session
- active CoreSession instance to the repository hosting the roots.ClientException
#getSynchronizationRootPaths(String, CoreSession)
Map<String,SynchronizationRoots> getSynchronizationRoots(Principal principal) throws ClientException
principal
- the user to fetch the roots forClientException
Map<String,Set<String>> getCollectionSyncRootMemberIds(Principal principal) throws ClientException
principal
- the user to fetch the ids forClientException
boolean isSynchronizationRoot(Principal principal, DocumentModel doc) throws ClientException
DocumentModel
is a synchronization root for the given user.ClientException
void handleFolderDeletion(IdRef ref) throws ClientException
ClientException
FileSystemChangeSummary getChangeSummary(Principal principal, Map<String,Set<IdRef>> lastSyncRootRefs, long lastSuccessfulSync) throws ClientException
allRepositories
parameter, for the given user's synchronization roots, since the
user's device last successful synchronization date.
The summary includes:
allRepositories
- if true then the document changes are retrieved from all repositories, else only from the
one against which the given session is bounduserName
- the id of the Nuxeo Drive usersession
- active CoreSession instance to the repository hosting the user's synchronization rootslastSyncRootRefs
- the map keyed by repository names of document refs for the synchronization roots that
were active during last synchornizationlastSuccessfulSync
- the last successful synchronization date of the user's device. This time is expected to
be in milliseconds since 1970-01-01 UTC as measured on the Nuxeo server clock, typically set to the
value returned by FileSystemChangeSummary.getSyncDate()
of the previous call to
getChangeSummary(Principal, Map, long)
or 0 for catching every event since
the repository initialization.ClientException
FileSystemChangeSummary getChangeSummaryIntegerBounds(Principal principal, Map<String,Set<IdRef>> lastSyncRootRefs, long lowerBound) throws ClientException
allRepositories
parameter, for the given user's synchronization roots, from the
lower bound sent by the user's device.
The summary includes:
allRepositories
- if true then the document changes are retrieved from all repositories, else only from the
one against which the given session is bounduserName
- the id of the Nuxeo Drive usersession
- active CoreSession instance to the repository hosting the user's synchronization rootslastSyncRootRefs
- the map keyed by repository names of document refs for the synchronization roots that
were active during last synchornizationlowerBound
- the lower bound sent by the user's device. Typically set to the value returned by
FileSystemChangeSummary.getUpperBound()
of the previous call to
getChangeSummaryIntegerBounds(Principal, Map, long)
or 0 for catching every
event since the repository initialization.ClientException
FileSystemChangeFinder getChangeFinder()
FileSystemChangeFinder
member.void setChangeFinder(FileSystemChangeFinder changeFinder)
FileSystemChangeFinder
member.
TODO: make it overridable with an extension point and remove setter.
void invalidateSynchronizationRootsCache(String userName)
getSynchronizationRoots(Principal)
is called.userName
- the principal name of the user to invalidate the cache for.void invalidateCollectionSyncRootMemberCache(String userName)
getCollectionSyncRootMemberIds(Principal)
is called.userName
- the principal name of the user to invalidate the cache for.void invalidateCollectionSyncRootMemberCache()
getCollectionSyncRootMemberIds(Principal)
is called.void addToLocallyEditedCollection(CoreSession session, DocumentModel doc) throws ClientException
DocumentModel
to the LOCALLY_EDITED_COLLECTION_NAME
collection.ClientException
Copyright © 2015 Nuxeo SA. All rights reserved.