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

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: Supporter
      Check if an element is supported
      Specified by:
      supports in interface Supporter<Event>
      Parameters:
      event - The element
      Returns:
      true if the element is supported, false otherwise
    • getPriority

      public int getPriority()
      Description copied from interface: Prioritizable
      Get the priority for the component. On components using Prioritizable interface, each implementation define the order. In most cases, less is the number, more prior is the component.
      Specified by:
      getPriority in interface Prioritizable
      Returns:
      the 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