Class NuxeoDriveGroupUpdateListener
- java.lang.Object
-
- org.nuxeo.drive.listener.NuxeoDriveGroupUpdateListener
-
- All Implemented Interfaces:
PostCommitEventListener
,PostCommitFilteringEventListener
public class NuxeoDriveGroupUpdateListener extends Object implements PostCommitFilteringEventListener
Post-commit asynchronous listener that handles group change events fired by theUserManager
.For all the documents carrying an ACL impacted by a changed group or one of its ancestors it fires the
NuxeoDriveEvents.GROUP_UPDATED
event that is handled by the synchronousNuxeoDriveFileSystemDeletionListener
.- Since:
- 9.2
-
-
Constructor Summary
Constructors Constructor Description NuxeoDriveGroupUpdateListener()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
acceptEvent(Event event)
Checks if this event is worth passing to the asynchronousPostCommitEventListener.handleEvent(org.nuxeo.ecm.core.event.EventBundle)
.protected void
fireGroupUpdatedEvent(CoreSession session, DocumentModel source)
protected List<String>
getAllGroupNames(String groupName, EventContext context)
Returns a list containing the names of the given group and all its ancestor groups.protected DocumentModelList
getImpactedDocuments(CoreSession session, List<String> groupNames)
Returns the list of documents carrying an ACL impacted by one of the given group names.void
handleEvent(EventBundle events)
Handles the set of events that were raised during the life of an user operation.protected void
handleUpdatedGroups(List<String> groupNames)
-
-
-
Constructor Detail
-
NuxeoDriveGroupUpdateListener
public NuxeoDriveGroupUpdateListener()
-
-
Method Detail
-
acceptEvent
public boolean acceptEvent(Event event)
Description copied from interface:PostCommitFilteringEventListener
Checks if this event is worth passing to the asynchronousPostCommitEventListener.handleEvent(org.nuxeo.ecm.core.event.EventBundle)
.Note that the event's documents are usually disconnected into
ShallowDocumentModel
instances, which means that this method may not be able to get to all the information it would get from a standard DocumentModel implementation. If there is not enough information in the ShallowDocumentModel to decide whether this event is of interest, then this method should accept it an let the actual logic done inPostCommitEventListener.handleEvent(org.nuxeo.ecm.core.event.EventBundle)
do the final filtering.- Specified by:
acceptEvent
in interfacePostCommitFilteringEventListener
- Parameters:
event
- the event- Returns:
true
to accept it, orfalse
to ignore it
-
handleEvent
public void handleEvent(EventBundle events)
Description copied from interface:PostCommitEventListener
Handles the set of events that were raised during the life of an user operation.The events are fired as a
BundleEvent
after the transaction is committed.- Specified by:
handleEvent
in interfacePostCommitEventListener
- Parameters:
events
- the events to handle
-
getAllGroupNames
protected List<String> getAllGroupNames(String groupName, EventContext context)
Returns a list containing the names of the given group and all its ancestor groups.
-
handleUpdatedGroups
protected void handleUpdatedGroups(List<String> groupNames)
-
getImpactedDocuments
protected DocumentModelList getImpactedDocuments(CoreSession session, List<String> groupNames)
Returns the list of documents carrying an ACL impacted by one of the given group names.
-
fireGroupUpdatedEvent
protected void fireGroupUpdatedEvent(CoreSession session, DocumentModel source)
-
-