Package org.alfresco.repo.events
Class AbstractEventsService
- java.lang.Object
-
- org.alfresco.repo.transaction.TransactionListenerAdapter
-
- org.alfresco.repo.events.AbstractEventsService
-
- All Implemented Interfaces:
TransactionListener,org.alfresco.util.transaction.TransactionListener
- Direct Known Subclasses:
EventsServiceImpl,ExceptionEventsServiceImpl
public abstract class AbstractEventsService extends TransactionListenerAdapter
- Author:
- steveglover
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classAbstractEventsService.NodeInfo
-
Field Summary
Fields Modifier and Type Field Description protected CheckOutCheckInServicecociServiceprotected org.alfresco.service.cmr.dictionary.DictionaryServicedictionaryServiceprotected org.alfresco.sync.events.EventRegistryeventRegistryprotected FileFolderServicefileFolderServiceprotected HiddenAspecthiddenAspectprotected java.util.Set<java.lang.String>includeEventTypesprotected java.util.Set<org.alfresco.service.namespace.QName>matchingTypesprotected org.alfresco.service.namespace.NamespaceServicenamespaceServiceprotected org.alfresco.service.cmr.repository.NodeServicenodeServiceprotected org.alfresco.service.cmr.security.PermissionServicepermissionServiceprotected booleansendEventsBeforeCommitprotected SiteServicesiteServiceprotected static java.lang.StringTRANSACTION_HAS_EVENTSprotected TransactionServicetransactionService
-
Constructor Summary
Constructors Constructor Description AbstractEventsService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterCommit()Invoked after transaction commit.voidafterRollback()Invoked after transaction rollback.voidbeforeCommit(boolean readOnly)Called before a transaction is committed.protected java.util.List<org.alfresco.sync.events.types.Event>filterEventsBeforeSend(java.util.List<org.alfresco.sync.events.types.Event> events)Filter out event before sending them toMessageProducerprotected org.alfresco.sync.repo.ClientgetAlfrescoClient(org.alfresco.sync.repo.Client knownClientType)protected java.util.List<java.util.List<java.lang.String>>getNodeIds(java.util.List<org.alfresco.service.cmr.repository.Path> nodePaths)For each path, construct a list of ancestor node ids starting with the leaf path element node id first.protected java.util.List<java.util.List<java.lang.String>>getNodeIdsFromParent(java.util.List<org.alfresco.service.cmr.repository.Path> nodePaths)For each path, construct a list of ancestor node ids starting with the parent node id first.protected AbstractEventsService.NodeInfogetNodeInfo(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String eventType)protected java.util.List<java.lang.String>getPaths(java.util.List<org.alfresco.service.cmr.repository.Path> nodePaths, java.util.List<java.lang.String> toAppend)protected org.alfresco.repo.events.AbstractEventsService.TxnEventsgetTxnEvents()protected booleanincludeEventType(java.lang.String eventType)voidinit()protected longnextSequenceNumber()protected voidretrieveAdditionalProps(java.util.Map<java.lang.String,java.io.Serializable> properties, org.alfresco.service.cmr.repository.NodeRef nodeRef)Extract additional information for the provided nodevoidsendEvent(org.alfresco.sync.events.types.Event event)Register the event to be sent to a message producer once the transaction is overvoidsetCociService(CheckOutCheckInService cociService)voidsetDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)voidsetEventRegistry(org.alfresco.sync.events.EventRegistry eventRegistry)voidsetFileFolderService(FileFolderService fileFolderService)voidsetHiddenAspect(HiddenAspect hiddenAspect)voidsetIncludeEventTypes(java.lang.String includeEventTypesStr)voidsetMessageProducer(org.gytheio.messaging.MessageProducer messageProducer)voidsetNamespaceService(org.alfresco.service.namespace.NamespaceService namespaceService)voidsetNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)voidsetPermissionService(org.alfresco.service.cmr.security.PermissionService permissionService)voidsetSendEventsBeforeCommit(boolean sendEventsBeforeCommit)voidsetSiteService(SiteService siteService)voidsetTransactionService(TransactionService transactionService)protected booleanshouldSendCommitEvent()Determines whether it still makes sense to create and send a TransactionCommittedEvent after the transaction is committed.-
Methods inherited from class org.alfresco.repo.transaction.TransactionListenerAdapter
beforeCompletion, flush
-
-
-
-
Field Detail
-
TRANSACTION_HAS_EVENTS
protected static final java.lang.String TRANSACTION_HAS_EVENTS
- See Also:
- Constant Field Values
-
cociService
protected CheckOutCheckInService cociService
-
siteService
protected SiteService siteService
-
nodeService
protected org.alfresco.service.cmr.repository.NodeService nodeService
-
dictionaryService
protected org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService
-
namespaceService
protected org.alfresco.service.namespace.NamespaceService namespaceService
-
permissionService
protected org.alfresco.service.cmr.security.PermissionService permissionService
-
hiddenAspect
protected HiddenAspect hiddenAspect
-
eventRegistry
protected org.alfresco.sync.events.EventRegistry eventRegistry
-
fileFolderService
protected FileFolderService fileFolderService
-
transactionService
protected TransactionService transactionService
-
includeEventTypes
protected java.util.Set<java.lang.String> includeEventTypes
-
matchingTypes
protected java.util.Set<org.alfresco.service.namespace.QName> matchingTypes
-
sendEventsBeforeCommit
protected boolean sendEventsBeforeCommit
-
-
Method Detail
-
setCociService
public void setCociService(CheckOutCheckInService cociService)
-
setHiddenAspect
public void setHiddenAspect(HiddenAspect hiddenAspect)
-
setSendEventsBeforeCommit
public void setSendEventsBeforeCommit(boolean sendEventsBeforeCommit)
-
setTransactionService
public void setTransactionService(TransactionService transactionService)
-
setIncludeEventTypes
public void setIncludeEventTypes(java.lang.String includeEventTypesStr)
-
setFileFolderService
public void setFileFolderService(FileFolderService fileFolderService)
-
setEventRegistry
public void setEventRegistry(org.alfresco.sync.events.EventRegistry eventRegistry)
-
setNamespaceService
public void setNamespaceService(org.alfresco.service.namespace.NamespaceService namespaceService)
-
setPermissionService
public void setPermissionService(org.alfresco.service.cmr.security.PermissionService permissionService)
-
setMessageProducer
public void setMessageProducer(org.gytheio.messaging.MessageProducer messageProducer)
-
setDictionaryService
public void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
-
setNodeService
public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
-
setSiteService
public void setSiteService(SiteService siteService)
-
init
public void init()
-
nextSequenceNumber
protected long nextSequenceNumber()
-
beforeCommit
public void beforeCommit(boolean readOnly)
Description copied from class:TransactionListenerAdapterCalled before a transaction is committed.All transaction resources are still available.
- Specified by:
beforeCommitin interfaceTransactionListener- Specified by:
beforeCommitin interfaceorg.alfresco.util.transaction.TransactionListener- Overrides:
beforeCommitin classTransactionListenerAdapter- Parameters:
readOnly- true if the transaction is read-only
-
getAlfrescoClient
protected org.alfresco.sync.repo.Client getAlfrescoClient(org.alfresco.sync.repo.Client knownClientType)
-
afterCommit
public void afterCommit()
Description copied from class:TransactionListenerAdapterInvoked after transaction commit.Any exceptions generated here will only be logged and will have no effect on the state of the transaction.
Although all transaction resources are still available, this method should be used only for cleaning up resources after a commit has occured.
- Specified by:
afterCommitin interfaceTransactionListener- Specified by:
afterCommitin interfaceorg.alfresco.util.transaction.TransactionListener- Overrides:
afterCommitin classTransactionListenerAdapter
-
shouldSendCommitEvent
protected boolean shouldSendCommitEvent()
Determines whether it still makes sense to create and send a TransactionCommittedEvent after the transaction is committed. (e.g. if there are no events for the specific transaction makes no sense to signal the end of transaction with TransactionCommittedEvent)- Returns:
- whether the TransactionCommitted event should be sent
-
filterEventsBeforeSend
protected java.util.List<org.alfresco.sync.events.types.Event> filterEventsBeforeSend(java.util.List<org.alfresco.sync.events.types.Event> events)
Filter out event before sending them toMessageProducer- Parameters:
events- the events to be filtered- Returns:
- a filtered list of events
-
afterRollback
public void afterRollback()
Description copied from class:TransactionListenerAdapterInvoked after transaction rollback.Any exceptions generated here will only be logged and will have no effect on the state of the transaction.
Although all transaction resources are still available, this method should be used only for cleaning up resources after a rollback has occured.
- Specified by:
afterRollbackin interfaceTransactionListener- Specified by:
afterRollbackin interfaceorg.alfresco.util.transaction.TransactionListener- Overrides:
afterRollbackin classTransactionListenerAdapter
-
includeEventType
protected boolean includeEventType(java.lang.String eventType)
-
retrieveAdditionalProps
protected void retrieveAdditionalProps(java.util.Map<java.lang.String,java.io.Serializable> properties, org.alfresco.service.cmr.repository.NodeRef nodeRef)Extract additional information for the provided node- Parameters:
properties- the properties map to add the new info tonodeRef- the node to extract the property from
-
getPaths
protected java.util.List<java.lang.String> getPaths(java.util.List<org.alfresco.service.cmr.repository.Path> nodePaths, java.util.List<java.lang.String> toAppend)
-
getNodeIdsFromParent
protected java.util.List<java.util.List<java.lang.String>> getNodeIdsFromParent(java.util.List<org.alfresco.service.cmr.repository.Path> nodePaths)
For each path, construct a list of ancestor node ids starting with the parent node id first.- Parameters:
nodePaths-- Returns:
-
getNodeIds
protected java.util.List<java.util.List<java.lang.String>> getNodeIds(java.util.List<org.alfresco.service.cmr.repository.Path> nodePaths)
For each path, construct a list of ancestor node ids starting with the leaf path element node id first.- Parameters:
nodePaths-- Returns:
-
getTxnEvents
protected org.alfresco.repo.events.AbstractEventsService.TxnEvents getTxnEvents()
-
sendEvent
public void sendEvent(org.alfresco.sync.events.types.Event event)
Register the event to be sent to a message producer once the transaction is over- Parameters:
event- event to be sent
-
getNodeInfo
protected AbstractEventsService.NodeInfo getNodeInfo(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String eventType)
-
-