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

Abstract observer in charge of indexing resources when created, modified, moved...
  • Field Details

  • Constructor Details

  • Method Details

    • contextualize

      public void contextualize(Context context) throws ContextException
      Specified by:
      contextualize in interface Contextualizable
      Throws:
      ContextException
    • service

      public void service(ServiceManager serviceManager) throws ServiceException
      Specified by:
      service in interface Serviceable
      Throws:
      ServiceException
    • supports

      public boolean supports(Event event)
      Description copied from interface: Observer
      Checks if the event is supported. If true, the observe(Event) method will be called.
      Specified by:
      supports in interface Observer
      Parameters:
      event - the event.
      Returns:
      true for observing this event, false otherwise.
    • getPriority

      public int getPriority(Event event)
      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 interface Observer
      Parameters:
      event - the event.
      Returns:
      the priority where 0 the max priority and Integer.MAX_VALUE the min priority.
    • observe

      public void observe(Event event, Map<String,Object> transientVars) throws Exception
      Description copied from interface: Observer
      Observes an event.
      Specified by:
      observe in interface Observer
      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

      protected abstract String[] getWorkspacesToIndex()
      Get the list of workspace to index
      Returns:
      An array of workspace names
    • _index

      protected void _index(Event event, String workspaceName) throws IndexingException
      Perform the indexation process
      Parameters:
      event - The current event
      workspaceName - The workspace name for the indexation
      Throws:
      IndexingException - if an error occurs during indexation.
    • isHandledResource

      protected abstract boolean isHandledResource(AmetysObject object)
      Returns true if it is a Resource or ResourceCollection handled by this observer
      Parameters:
      object - The resource or collection
      Returns:
      true if it is handled by this observer
    • onResourceCreated

      protected abstract void onResourceCreated(Resource resource, String workspaceName) throws Exception
      Method called when a resource handled by this observer is created. Typically for indexing the created resource.
      Parameters:
      resource - The created resource
      workspaceName - The workspace name
      Throws:
      Exception - if an error occurs
    • onResourceUpdated

      protected abstract void onResourceUpdated(Resource resource, String workspaceName) throws Exception
      Method called when a resource handled by this observer is updated, moved or renamed. Typically for indexing the updated resource.
      Parameters:
      resource - The updated resource
      workspaceName - 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 collection
      workspaceName - The workspace name
      Throws:
      Exception - if an error occurs