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
,Prioritizable
,Supporter<Event>
,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 Context
The component context.protected AmetysObjectResolver
The AmetysObject resolver.protected SolrIndexer
The Solr indexer.static final String
Request 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 void
Perform the indexation processvoid
contextualize
(Context context) int
Get the priority for the component.protected abstract String[]
Get the list of workspace to indexprotected abstract boolean
isHandledResource
(AmetysObject object) Returns true if it is aResource
orResourceCollection
handled by this observervoid
Observes an event.protected abstract void
onCollectionRenamedOrMoved
(ResourceCollection resourceCollection, String workspaceName) Method called when a resource collection handled by this observer is renamed or moved.protected abstract void
onResourceCreated
(Resource resource, String workspaceName) Method called when a resource handled by this observer is created.protected abstract void
onResourceUpdated
(Resource resource, String workspaceName) Method called when a resource handled by this observer is updated, moved or renamed.void
service
(ServiceManager serviceManager) boolean
Check if an element is supportedMethods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
service
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
supports
Description copied from interface:Supporter
Check if an element is supported -
getPriority
Description copied from interface:Prioritizable
Get the priority for the component. On components usingPrioritizable
interface, each implementation define the order. In most cases, less is the number, more prior is the component.- Specified by:
getPriority
in interfacePrioritizable
- Returns:
- the 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.
-
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 aResource
orResourceCollection
handled 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
-