Class AbstractSolrODFObserver
java.lang.Object
org.ametys.runtime.plugin.component.AbstractLogEnabled
org.ametys.plugins.odfweb.observation.AbstractODFObserver
org.ametys.plugins.odfweb.observation.solr.AbstractSolrODFObserver
- All Implemented Interfaces:
Observer
,LogEnabled
,Contextualizable
,Serviceable
- Direct Known Subclasses:
SolrContentValidatedPart1Observer
,SolrContentValidatedPart2Observer
,UnindexProgramObserver
Abstract
Observer
for synchronizing the Solr indexes.-
Field Summary
Modifier and TypeFieldDescriptionprotected OdfPageResolver
ODF page resolverprotected SolrPageIndexer
The page indexer.static final String
Attribute request indicating an ongoing indexationFields inherited from class org.ametys.plugins.odfweb.observation.AbstractODFObserver
_cocoonContext, _context, _odfHelper, _resolver
Fields inherited from interface org.ametys.core.observation.Observer
MAX_PRIORITY, MIN_PRIORITY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected final void
_internalObserve
(Event event, Map<String, Object> transientVars, Page odfRootPage, Set<Program> programs, SubProgram subProgram, Course course) Do the actual work.protected abstract void
_updateIndex
(Event event, Map<String, Object> transientVars, Page odfRootPage, Program program, SubProgram subProgram, Course course) Update the index from the observed event.int
getPriority
(Event event) Retrieves the priority to observe this event.
This can be used to process a supported event before others observers.void
service
(ServiceManager manager) Methods inherited from class org.ametys.plugins.odfweb.observation.AbstractODFObserver
_getContentArgument, _getCourse, _getODFRootPages, _getPrograms, _getSubProgram, _workspaceToUse, contextualize, observe
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
Field Details
-
REQUEST_ATTRIBUTE_INDEXING
Attribute request indicating an ongoing indexation- See Also:
-
_solrPageIndexer
The page indexer. -
_odfPageResolver
ODF page resolver
-
-
Constructor Details
-
AbstractSolrODFObserver
public AbstractSolrODFObserver()
-
-
Method Details
-
service
- Specified by:
service
in interfaceServiceable
- Overrides:
service
in classAbstractODFObserver
- 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.- Parameters:
event
- the event.- Returns:
- the priority where 0 the max priority and Integer.MAX_VALUE the min priority.
-
_internalObserve
protected final void _internalObserve(Event event, Map<String, Object> transientVars, Page odfRootPage, Set<Program> programs, SubProgram subProgram, Course course) throws ExceptionDescription copied from class:AbstractODFObserver
Do the actual work.- Specified by:
_internalObserve
in classAbstractODFObserver
- Parameters:
event
- the event.transientVars
- transientVars passed from one Observer to another when processing a single Event. This may allow optimizations between observers.odfRootPage
- the Page holding the virtual factory.programs
- the root programs.subProgram
- The subprogram. Can be nullcourse
- The course. Can be null.- Throws:
Exception
- if an error occured
-
_updateIndex
protected abstract void _updateIndex(Event event, Map<String, Object> transientVars, Page odfRootPage, Program program, SubProgram subProgram, Course course) throws ExceptionUpdate the index from the observed event.- Parameters:
event
- the event.transientVars
- transientVars passed from one Observer to another when processing a single Event. This may allow optimizations between observers.odfRootPage
- the odf root pageprogram
- the target programsubProgram
- The subprogram. Can be nullcourse
- the course. Can be null.- Throws:
Exception
- if an error occurs.
-