Package org.ametys.cms.indexing.explorer
Class AbstractSolrIndexResourceObserver
java.lang.Object
org.ametys.runtime.plugin.component.AbstractLogEnabled
org.ametys.cms.indexing.explorer.AbstractSolrIndexResourceObserver
- All Implemented Interfaces:
AsyncObserver,Observer,LogEnabled,Contextualizable,Serviceable
- Direct Known Subclasses:
ContentAttachmentsSolrObserver,PageAttachmentsSolrObserver,SolrIndexProjectResourceObserver,SolrIndexResourceObserver
public abstract class AbstractSolrIndexResourceObserver
extends AbstractLogEnabled
implements AsyncObserver, Contextualizable, Serviceable
Abstract observer in charge of indexing resources when created, modified, moved...
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ContextThe component context.protected AmetysObjectResolverThe AmetysObject resolver.protected SolrIndexerThe Solr indexer.static final StringRequest attribute disabling content indexation when set totrue.Fields inherited from interface org.ametys.core.observation.Observer
MAX_PRIORITY, MIN_PRIORITY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidPerform the indexation processvoidcontextualize(Context context) intgetPriority(Event event) Retrieves the priority to observe this event.
This can be used to process a supported event before others observers.protected abstract String[]Get the list of workspace to indexprotected abstract booleanisHandledResource(AmetysObject object) Returns true if it is aResourceorResourceCollectionhandled by this observervoidObserves an event.protected abstract voidonCollectionRenamedOrMoved(ResourceCollection resourceCollection, String workspaceName) Method called when a resource collection handled by this observer is renamed or moved.protected abstract voidonResourceCreated(Resource resource, String workspaceName) Method called when a resource handled by this observer is created.protected abstract voidonResourceUpdated(Resource resource, String workspaceName) Method called when a resource handled by this observer is updated, moved or renamed.voidservice(ServiceManager serviceManager) booleanChecks if the event is supported.Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLoggerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.ametys.core.observation.AsyncObserver
parallelizable
-
Field Details
-
DISABLE_INDEXING_KEY
Request attribute disabling content indexation when set totrue. -
_solrIndexer
The Solr indexer. -
_resolver
The AmetysObject resolver. -
_context
The component context.
-
-
Constructor Details
-
AbstractSolrIndexResourceObserver
public AbstractSolrIndexResourceObserver()
-
-
Method Details
-
contextualize
- Specified by:
contextualizein interfaceContextualizable- Throws:
ContextException
-
service
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
supports
Description copied from interface:ObserverChecks if the event is supported. If true, the observe(Event) method will be called. -
getPriority
Description copied from interface:ObserverRetrieves the priority to observe this event.
This can be used to process a supported event before others observers.- Specified by:
getPriorityin 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:ObserverObserves an event.- Specified by:
observein 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.
-
getWorkspacesToIndex
Get the list of workspace to index- Returns:
- An array of workspace names
-
_index
Perform the indexation process- Parameters:
event- The current eventworkspaceName- The workspace name for the indexation- Throws:
IndexingException- if an error occurs during indexation.
-
isHandledResource
Returns true if it is aResourceorResourceCollectionhandled by this observer- Parameters:
object- The resource or collection- Returns:
- true if it is handled by this observer
-
onResourceCreated
Method called when a resource handled by this observer is created. Typically for indexing the created resource.- Parameters:
resource- The created resourceworkspaceName- The workspace name- Throws:
Exception- if an error occurs
-
onResourceUpdated
Method called when a resource handled by this observer is updated, moved or renamed. Typically for indexing the updated resource.- Parameters:
resource- The updated resourceworkspaceName- The workspace name- Throws:
Exception- if an error occurs
-
onCollectionRenamedOrMoved
protected abstract void onCollectionRenamedOrMoved(ResourceCollection resourceCollection, String workspaceName) throws Exception Method called when a resource collection handled by this observer is renamed or moved. Typically for indexing the children of the resource collection.- Parameters:
resourceCollection- The resource collectionworkspaceName- The workspace name- Throws:
Exception- if an error occurs
-