Class IssuesIndexSchemaManager

java.lang.Object
com.atlassian.jira.search.index.IssuesIndexSchemaManager
All Implemented Interfaces:
Startable, IndexSchemaManager

public class IssuesIndexSchemaManager extends Object implements Startable, IndexSchemaManager
Creates and manages the IndexSchema for the issue index.
Since:
10.4
  • Field Details

    • BUILT_IN_SYSTEM_FIELDS

      public static final List<Field> BUILT_IN_SYSTEM_FIELDS
      Common built-in fields used across the system, not specific to any particular indexers/extractors
  • Constructor Details

    • IssuesIndexSchemaManager

      public IssuesIndexSchemaManager(IndexAccessorRegistry indexAccessorRegistry, IndexExtractorRegistrationManager indexExtractorRegistrationManager, com.atlassian.event.api.EventListenerRegistrar eventListenerRegistrar, com.atlassian.cache.CacheManager cacheManager)
  • Method Details

    • start

      public void start() throws Exception
      Description copied from interface: Startable
      This method will be called after the plugin system is fully initialised and all components added to the dependency injection framework.
      Specified by:
      start in interface Startable
      Throws:
      Exception - Allows implementations to throw an Exception.
    • registerIndexAccessor

      public void registerIndexAccessor(@Nonnull IndexAccessor indexAccessor) throws IndexOperationException
      Description copied from interface: IndexSchemaManager
      Registers an IndexAccessor to receive schema updates. The registered IndexAccessor will have its schema updated immediately upon registration, and will continue to receive schema updates for any future schema changes.
      Specified by:
      registerIndexAccessor in interface IndexSchemaManager
      Parameters:
      indexAccessor - The IndexAccessor to register
      Throws:
      IndexOperationException - if the schema update fails during registration
    • deregisterIndexAccessor

      public void deregisterIndexAccessor(@Nonnull IndexAccessor indexAccessor)
      Description copied from interface: IndexSchemaManager
      Deregisters an IndexAccessor from receiving schema updates. Once deregistered, the IndexAccessor will no longer receive schema updates.
      Specified by:
      deregisterIndexAccessor in interface IndexSchemaManager
      Parameters:
      indexAccessor - The IndexAccessor to deregister
    • onCustomFieldCreatedEvent

      @EventListener public void onCustomFieldCreatedEvent(CustomFieldCreatedEvent event)
      Event listener for custom field creation. This event is received only on the node where the custom field was created. It will reset the fields cache, which will replicate the cache invalidation across all nodes
      Parameters:
      event - the custom field creation event
    • onCustomFieldUpdatedEvent

      @EventListener public void onCustomFieldUpdatedEvent(CustomFieldUpdatedEvent event)
      Event listener for custom field update. This event is received only on the node where the custom field was updated. It will reset the fields cache, which will replicate the cache invalidation across all nodes
      Parameters:
      event - the custom field updated event
    • onCustomFieldDeletedEvent

      @EventListener public void onCustomFieldDeletedEvent(CustomFieldDeletedEvent event)
      Event listener for custom field delete. This event is received only on the node where the custom field was deleted. It will reset the fields cache, which will replicate the cache invalidation across all nodes
      Parameters:
      event - the custom field deleted event
    • onPluginEnabledEvent

      @EventListener public void onPluginEnabledEvent(com.atlassian.plugin.event.events.PluginEnabledEvent event)
      This method is called when a plugin is enabled. This is needed because the new plugin may change the fields indexed by an existing custom field.
      Parameters:
      event - the plugin event
    • onClearCacheEvent

      @EventListener public void onClearCacheEvent(ClearCacheEvent ignored)
      Event listener for the clear cache event. This event is fired when Jira should clear and reinit all of its caches, for example, after quick dataset restore. It will reset the fields cache, which will replicate the cache invalidation across all nodes
      Parameters:
      ignored - the clear cache event
    • onDataImportFinishedEvent

      @EventListener public void onDataImportFinishedEvent(DataImportFinishedEvent ignored)