public interface NuxeoDriveManager
Modifier and Type | Method and Description |
---|---|
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. |
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 |
invalidateSynchronizationRootsCache(String userName)
Invalidate the synchronization roots cache for a given user so as to
query the repository next time
getSynchronizationRoots 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) |
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
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
DocumentChangeSummary#getSyncDate()
of the previous
call to
NuxeoDriveManager#getDocumentChangeSummary(boolean, String, CoreSession, long)
or 0 for catching every event since the repository
initialization.ClientException
void setChangeFinder(FileSystemChangeFinder changeFinder)
FileSystemChangeFinder
member.
TODO: make it overridable with an extension point and remove setter.
void invalidateSynchronizationRootsCache(String userName)
getSynchronizationRoots
is called.userName
- the principal name of the user to invalidate the cache
for.Copyright © 2013 Nuxeo SA. All Rights Reserved.