Package org.ametys.web.synchronization
Class AbstractSynchronizeObserver
java.lang.Object
org.ametys.runtime.plugin.component.AbstractLogEnabled
org.ametys.web.synchronization.AbstractSynchronizeObserver
- All Implemented Interfaces:
Observer
,LogEnabled
,Serviceable
- Direct Known Subclasses:
AbstractSynchronizePageObserver
,InvalidateCacheOnQueryChangesObserver
,SkillsDisplayObserver
,SynchronizeACLObserver
,SynchronizeContentAdditionObserver
,SynchronizeContentCommentedObserver
,SynchronizeContentDeletionObserver
,SynchronizeContentPrivacyChangeObserver
,SynchronizeContentReactionObserver
,SynchronizeContentTaggedObserver
,SynchronizeContentUnpublishObserver
,SynchronizeContentValidationObserver
,SynchronizedContentTranslatedObserver
,SynchronizePageAttachmentsObserver
,SynchronizePageDeletionObserver
,SynchronizePageMoveObserver
,SynchronizeRobotsChangeObserver
,SynchronizeSiteChangeObserver
,SynchronizeSitemapAdditionObserver
,SynchronizeSitemapChangeObserver
,SynchronizeSitemapZonesObserver
,SynchronizeSiteMoveObserver
,SynchronizeSiteOrSitemapDeletionObserver
public abstract class AbstractSynchronizeObserver
extends AbstractLogEnabled
implements Observer, Serviceable
Abstract
Observer
for synchronizing the workspace live.A lock is used for write access to the live session in order to prevent errors from a parallel full synchronization or observer.
-
Field Summary
Modifier and TypeFieldDescriptionprotected LiveAccessManager
Preview access manager.protected javax.jcr.Repository
JCR repository.protected SynchronizeComponent
Fields inherited from interface org.ametys.core.observation.Observer
MAX_PRIORITY, MIN_PRIORITY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
_internalObserve
(Event event, javax.jcr.Session liveSession) Observes the event with access to the live workspace.int
getPriority
(Event event) Retrieves the priority to observe this event.
This can be used to process a supported event before others observers.void
Observes an event.void
service
(ServiceManager manager) Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
Field Details
-
_repository
JCR repository. -
_liveAccessManager
Preview access manager. -
_synchronizeComponent
-
-
Constructor Details
-
AbstractSynchronizeObserver
public AbstractSynchronizeObserver()
-
-
Method Details
-
service
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
getPriority
Description copied from interface:Observer
Retrieves the priority to observe this event.
This can be used to process a supported event before others observers.- Specified by:
getPriority
in interfaceObserver
- Parameters:
event
- the event.- Returns:
- the priority where 0 the max priority and Integer.MAX_VALUE the min priority.
-
observe
Description copied from interface:Observer
Observes an event.- Specified by:
observe
in interfaceObserver
- Parameters:
event
- the event.transientVars
- transientVars passed from one Observer to another when processing a single Event. This may allow optimizations between observers.- Throws:
Exception
- if an error occurs. All exceptions will be logged but not propagated, as the observation mechanism should never fail.
-
_internalObserve
protected abstract void _internalObserve(Event event, javax.jcr.Session liveSession) throws javax.jcr.RepositoryException Observes the event with access to the live workspace.- Parameters:
event
- the event.liveSession
- the session to the live workspace.- Throws:
javax.jcr.RepositoryException
- if an error occurs.
-