public class NuxeoDriveManagerImpl extends DefaultComponent implements NuxeoDriveManager
| Modifier and Type | Field and Description |
|---|---|
static String |
DOCUMENT_CHANGE_LIMIT_PROPERTY |
static String |
DRIVE_SUBSCRIPTIONS_PROPERTY |
static String |
NUXEO_DRIVE_FACET |
| Constructor and Description |
|---|
NuxeoDriveManagerImpl() |
| Modifier and Type | Method and Description |
|---|---|
FileSystemChangeSummary |
getChangeSummary(Principal principal,
Map<String,Set<IdRef>> lastSyncRootRefs,
long lastSuccessfulSync)
Uses the
AuditChangeFinder to get the summary of document changes
for the given user and 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 deleted)
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) |
activate, applicationStarted, deactivate, getAdapter, getApplicationStartedOrder, getLastModified, registerContribution, registerExtension, setLastModified, unregisterContribution, unregisterExtensionpublic static final String NUXEO_DRIVE_FACET
public static final String DRIVE_SUBSCRIPTIONS_PROPERTY
public static final String DOCUMENT_CHANGE_LIMIT_PROPERTY
public void invalidateSynchronizationRootsCache(String userName)
NuxeoDriveManagergetSynchronizationRoots is called.invalidateSynchronizationRootsCache in interface NuxeoDriveManageruserName - the principal name of the user to invalidate the cache
for.public void registerSynchronizationRoot(Principal principal, DocumentModel newRootContainer, CoreSession session) throws ClientException
registerSynchronizationRoot in interface NuxeoDriveManagerprincipal - the Nuxeo Drive usernewRootContainer - the folderish document to be used as
synchronization root: must be bound to an active sessionClientExceptionpublic void unregisterSynchronizationRoot(Principal principal, DocumentModel rootContainer, CoreSession session) throws ClientException
unregisterSynchronizationRoot in interface NuxeoDriveManagerprincipal - the Nuxeo Drive userrootContainer - the folderish document that should no longer be used
as a synchronization rootClientExceptionpublic Set<IdRef> getSynchronizationRootReferences(CoreSession session) throws ClientException
NuxeoDriveManagergetSynchronizationRootReferences in interface NuxeoDriveManagersession - active CoreSession instance to the repository hosting the
roots.ClientException#getSynchronizationRootPaths(String, CoreSession)public void handleFolderDeletion(IdRef deleted) throws ClientException
NuxeoDriveManagerhandleFolderDeletion in interface NuxeoDriveManagerClientExceptionpublic FileSystemChangeSummary getChangeSummary(Principal principal, Map<String,Set<IdRef>> lastSyncRootRefs, long lastSuccessfulSync) throws ClientException
AuditChangeFinder to get the summary of document changes
for the given user and last successful synchronization date.
The DOCUMENT_CHANGE_LIMIT_PROPERTY Framework property is used as
a limit of document changes to fetch from the audit logs. Default value
is 1000.
If lastSuccessfulSync is missing (i.e. set to a negative value), the
filesystem change summary is empty but the returned sync date is set to
the actual server timestamp so that the client can reuse it as a starting
timestamp for a future incremental diff request.
getChangeSummary in interface NuxeoDriveManagerlastSyncRootRefs - 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.ClientExceptionpublic Map<String,SynchronizationRoots> getSynchronizationRoots(Principal principal) throws ClientException
NuxeoDriveManagergetSynchronizationRoots in interface NuxeoDriveManagerprincipal - the user to fetch the roots forClientExceptionpublic boolean isSynchronizationRoot(Principal principal, DocumentModel doc) throws ClientException
NuxeoDriveManagerDocumentModel is a synchronization root for
the given user.isSynchronizationRoot in interface NuxeoDriveManagerClientExceptionpublic void setChangeFinder(FileSystemChangeFinder changeFinder)
NuxeoDriveManagerFileSystemChangeFinder member.
TODO: make it overridable with an extension point and remove setter.
setChangeFinder in interface NuxeoDriveManagerCopyright © 2013 Nuxeo SA. All Rights Reserved.