Class OMRSRepositoryEventManager

All Implemented Interfaces:
OMRSInstanceEventProcessorClassificationExtension, OMRSInstanceEventProcessorInterface, OMRSTypeDefEventProcessorInterface

public class OMRSRepositoryEventManager extends OMRSRepositoryEventBuilder
OMRSRepositoryEventManager is responsible for managing the distribution of TypeDef and instance events. There is one OMRSRepositoryEventManager for each cohort that the local server is registered with and one for the local repository.

Since OMRSRepositoryEventManager sits at the crossroads of the flow of events between the cohorts, the local repository and the enterprise access components, it performs detailed error checking of the event contents to help assure the integrity of the open metadata ecosystem.

  • Constructor Details

    • OMRSRepositoryEventManager

      public OMRSRepositoryEventManager(String eventManagerName, OMRSRepositoryEventExchangeRule exchangeRule, OMRSRepositoryContentValidator repositoryValidator, AuditLog auditLog)
      Constructor to initialize a repository event manager
      Parameters:
      eventManagerName - this is the name of the event manager to use for logging.
      exchangeRule - this is the rule that determines which events are processed.
      repositoryValidator - validator class for checking open metadata repository objects and parameters.
      auditLog - audit log for this component.
  • Method Details

    • registerTypeDefProcessor

      public void registerTypeDefProcessor(OMRSTypeDefEventProcessor typeDefEventConsumer)
      Adds a new consumer to the list of consumers that the OMRSRepositoryEventManager will notify of any TypeDef events it receives.
      Parameters:
      typeDefEventConsumer - the new consumer of TypeDef events from other members of the cohort
    • registerInstanceProcessor

      public void registerInstanceProcessor(OMRSInstanceEventProcessor instanceEventConsumer)
      Adds a new consumer to the list of consumers that the OMRSRepositoryEventManager will notify of any instance events it receives.
      Parameters:
      instanceEventConsumer - the new consumer of instance events from other members of the cohort
    • registerRepositoryEventProcessor

      public void registerRepositoryEventProcessor(OMRSRepositoryEventProcessor repositoryEventProcessor)
      Adds a new consumer to the list of consumers that the OMRSRepositoryEventManager will notify of any instance events it receives.
      Parameters:
      repositoryEventProcessor - the new consumer of instance events from other members of the cohort
    • start

      public void start()
      Indicate that all the event processors are registered, and they are ready to process events.
    • sendTypeDefEvent

      public void sendTypeDefEvent(String sourceName, OMRSTypeDefEvent typeDefEvent)
      Send the TypeDef event to the OMRS Topic connector (providing TypeDef Events are enabled).
      Parameters:
      sourceName - name of the caller
      typeDefEvent - properties of the event to send
    • sendInstanceEvent

      public void sendInstanceEvent(String sourceName, OMRSInstanceEvent instanceEvent)
      Process the instance event directly.
      Parameters:
      sourceName - name of the caller
      instanceEvent - properties of the event to send
    • processNewEntityEvent

      public void processNewEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity)
      A new entity has been created.
      Specified by:
      processNewEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processNewEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      entity - details of the new entity
    • processUpdatedEntityEvent

      public void processUpdatedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail oldEntity, EntityDetail newEntity)
      An existing entity has been updated.
      Specified by:
      processUpdatedEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processUpdatedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      oldEntity - original values for the entity.
      newEntity - details of the new version of the entity.
    • processUndoneEntityEvent

      public void processUndoneEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity)
      An update to an entity has been undone.
      Specified by:
      processUndoneEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processUndoneEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      entity - details of the version of the entity that has been restored.
    • processClassifiedEntityEvent

      public void processClassifiedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity, Classification classification)
      A new classification has been added to an entity.
      Specified by:
      processClassifiedEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processClassifiedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      entity - details of the entity with the new classification added.
      classification - new classification
    • processClassifiedEntityEvent

      public void processClassifiedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityProxy entity, Classification classification)
      A new classification has been added to an entity.
      Specified by:
      processClassifiedEntityEvent in interface OMRSInstanceEventProcessorClassificationExtension
      Overrides:
      processClassifiedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      entity - details of the entity with the new classification added.
      classification - new classification
    • processDeclassifiedEntityEvent

      public void processDeclassifiedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity, Classification originalClassification)
      A classification has been removed from an entity.
      Specified by:
      processDeclassifiedEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processDeclassifiedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      entity - details of the entity after the classification has been removed.
      originalClassification - classification that was removed
    • processDeclassifiedEntityEvent

      public void processDeclassifiedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityProxy entity, Classification originalClassification)
      A classification has been removed from an entity.
      Specified by:
      processDeclassifiedEntityEvent in interface OMRSInstanceEventProcessorClassificationExtension
      Overrides:
      processDeclassifiedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      entity - details of the entity after the classification has been removed.
      originalClassification - classification that was removed
    • processReclassifiedEntityEvent

      public void processReclassifiedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity, Classification originalClassification, Classification classification)
      An existing classification has been changed on an entity.
      Specified by:
      processReclassifiedEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processReclassifiedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      entity - details of the entity after the classification has been changed.
      originalClassification - classification that was changed
      classification - new classification
    • processReclassifiedEntityEvent

      public void processReclassifiedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityProxy entity, Classification originalClassification, Classification classification)
      An existing classification has been changed on an entity.
      Specified by:
      processReclassifiedEntityEvent in interface OMRSInstanceEventProcessorClassificationExtension
      Overrides:
      processReclassifiedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      entity - details of the entity after the classification has been changed.
      originalClassification - classification that was changed
      classification - new classification
    • processDeletedEntityEvent

      public void processDeletedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity)
      An existing entity has been deleted. This is a soft delete. This means it is still in the repository, but it is no longer returned on queries. All relationships to the entity are also soft-deleted and will no longer be usable. These deleted relationships will be notified through separate events.
      Specified by:
      processDeletedEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processDeletedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      entity - deleted entity
    • processRestoredEntityEvent

      public void processRestoredEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity)
      A deleted entity has been restored to the state it was before it was deleted.
      Specified by:
      processRestoredEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processRestoredEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      entity - details of the version of the entity that has been restored.
    • processPurgedEntityEvent

      public void processPurgedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity)
      An entity has been permanently removed from the repository. This request can not be undone.
      Specified by:
      processPurgedEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processPurgedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      entity - details of the version of the entity that has been purged.
    • processPurgedEntityEvent

      public void processPurgedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, String typeDefGUID, String typeDefName, String instanceGUID)
      A deleted entity has been permanently removed from the repository. This request can not be undone.

      Details of the TypeDef are included with the entity's unique id (guid) to ensure the right entity is purged in the remote repositories.

      Specified by:
      processPurgedEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processPurgedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      typeDefGUID - unique identifier for this entity's TypeDef
      typeDefName - name of this entity's TypeDef
      instanceGUID - unique identifier for the entity
    • processDeletePurgedEntityEvent

      public void processDeletePurgedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity)
      An existing entity has been deleted. This is a soft delete. This means it is still in the repository, but it is no longer returned on queries. All relationships to the entity are also deleted and purged and will no longer be usable. These deleted relationships will be notified through separate events.
      Specified by:
      processDeletePurgedEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processDeletePurgedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      entity - deleted entity
    • processReIdentifiedEntityEvent

      public void processReIdentifiedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, String originalEntityGUID, EntityDetail entity)
      The guid of an existing entity has been changed to a new value. This is used if two different entities are discovered to have the same guid. This is extremely unlikely but not impossible so the open metadata protocol has provision for this.
      Specified by:
      processReIdentifiedEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processReIdentifiedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      originalEntityGUID - the existing identifier for the entity.
      entity - new values for this entity, including the new guid.
    • processReTypedEntityEvent

      public void processReTypedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, TypeDefSummary originalTypeDefSummary, EntityDetail entity)
      An existing entity has had its type changed. Typically, this action is taken to move an entity's type to either a super type (so the subtype can be deleted) or a new subtype (so additional properties can be added.) However, the type can be changed to any compatible type.
      Specified by:
      processReTypedEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processReTypedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      originalTypeDefSummary - details of this entity's original TypeDef.
      entity - new values for this entity, including the new type information.
    • processReHomedEntityEvent

      public void processReHomedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, String originalHomeMetadataCollectionId, EntityDetail entity)
      An existing entity has changed home repository. This action is taken for example, if a repository becomes permanently unavailable, or if the user community updating this entity move to working from a different repository in the open metadata repository cohort.
      Specified by:
      processReHomedEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processReHomedEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      originalHomeMetadataCollectionId - unique identifier for the original home metadata collection/repository.
      entity - new values for this entity, including the new home information.
    • processRefreshEntityRequested

      public void processRefreshEntityRequested(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, String typeDefGUID, String typeDefName, String instanceGUID, String homeMetadataCollectionId)
      The local repository is requesting that an entity from another repository's metadata collection is refreshed so the local repository can create a reference copy.
      Specified by:
      processRefreshEntityRequested in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processRefreshEntityRequested in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      typeDefGUID - unique identifier for this entity's TypeDef
      typeDefName - name of this entity's TypeDef
      instanceGUID - unique identifier for the entity
      homeMetadataCollectionId - metadata collection id for the home of this instance.
    • processRefreshEntityEvent

      public void processRefreshEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity)
      A remote repository in the cohort has sent entity details in response to a refresh request.
      Specified by:
      processRefreshEntityEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processRefreshEntityEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      entity - details of the requested entity
    • processNewRelationshipEvent

      public void processNewRelationshipEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, Relationship relationship)
      A new relationship has been created.
      Specified by:
      processNewRelationshipEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processNewRelationshipEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      relationship - details of the new relationship.
    • processUpdatedRelationshipEvent

      public void processUpdatedRelationshipEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, Relationship oldRelationship, Relationship newRelationship)
      An existing relationship has been updated.
      Specified by:
      processUpdatedRelationshipEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processUpdatedRelationshipEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      oldRelationship - original details of the relationship.
      newRelationship - details of the new version of the relationship.
    • processUndoneRelationshipEvent

      public void processUndoneRelationshipEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, Relationship relationship)
      An update to a relationship has been undone.
      Specified by:
      processUndoneRelationshipEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processUndoneRelationshipEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      relationship - details of the version of the relationship that has been restored.
    • processDeletedRelationshipEvent

      public void processDeletedRelationshipEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, Relationship relationship)
      An existing relationship has been deleted. This is a soft delete. This means it is still in the repository, but it is no longer returned on queries.
      Specified by:
      processDeletedRelationshipEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processDeletedRelationshipEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      relationship - deleted relationship
    • processRestoredRelationshipEvent

      public void processRestoredRelationshipEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, Relationship relationship)
      A deleted relationship has been restored to the state it was before it was deleted.
      Specified by:
      processRestoredRelationshipEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processRestoredRelationshipEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      relationship - details of the version of the relationship that has been restored.
    • processPurgedRelationshipEvent

      public void processPurgedRelationshipEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, Relationship relationship)
      A relationship has been permanently removed from the repository. This request can not be undone.
      Specified by:
      processPurgedRelationshipEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processPurgedRelationshipEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      relationship - details of the relationship that has been purged.
    • processPurgedRelationshipEvent

      public void processPurgedRelationshipEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, String typeDefGUID, String typeDefName, String instanceGUID)
      A deleted relationship has been permanently removed from the repository. This request can not be undone. Details of the TypeDef are included with the relationship's unique id (guid) to ensure the right relationship is purged in the remote repositories.
      Specified by:
      processPurgedRelationshipEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processPurgedRelationshipEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      typeDefGUID - unique identifier for this relationship's TypeDef.
      typeDefName - name of this relationship's TypeDef.
      instanceGUID - unique identifier for the relationship.
    • processDeletePurgedRelationshipEvent

      public void processDeletePurgedRelationshipEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, Relationship relationship)
      An existing relationship has been deleted. This is a soft delete. This means it is still in the repository, but it is no longer returned on queries.
      Specified by:
      processDeletePurgedRelationshipEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processDeletePurgedRelationshipEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      relationship - deleted relationship
    • processReIdentifiedRelationshipEvent

      public void processReIdentifiedRelationshipEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, String originalRelationshipGUID, Relationship relationship)
      The guid of an existing relationship has changed. This is used if two different relationships are discovered to have the same guid. This is extremely unlikely but not impossible so the open metadata protocol has provision for this.
      Specified by:
      processReIdentifiedRelationshipEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processReIdentifiedRelationshipEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      originalRelationshipGUID - the existing identifier for the relationship.
      relationship - new values for this relationship, including the new guid.
    • processReTypedRelationshipEvent

      public void processReTypedRelationshipEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, TypeDefSummary originalTypeDefSummary, Relationship relationship)
      An existing relationship has had its type changed. Typically, this action is taken to move a relationship's type to either a super type (so the subtype can be deleted) or a new subtype (so additional properties can be added.) However, the type can be changed to any compatible type.
      Specified by:
      processReTypedRelationshipEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processReTypedRelationshipEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      originalTypeDefSummary - original details for this relationship's TypeDef.
      relationship - new values for this relationship, including the new type information.
    • processReHomedRelationshipEvent

      public void processReHomedRelationshipEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, String originalHomeMetadataCollection, Relationship relationship)
      An existing relationship has changed home repository. This action is taken for example, if a repository becomes permanently unavailable, or if the user community updating this relationship move to working from a different repository in the open metadata repository cohort.
      Specified by:
      processReHomedRelationshipEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processReHomedRelationshipEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      originalHomeMetadataCollection - unique identifier for the original home repository.
      relationship - new values for this relationship, including the new home information.
    • processRefreshRelationshipRequest

      public void processRefreshRelationshipRequest(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, String typeDefGUID, String typeDefName, String instanceGUID, String homeMetadataCollectionId)
      A repository has requested the home repository of a relationship send details of the relationship so its local metadata collection can create a reference copy of the instance.
      Specified by:
      processRefreshRelationshipRequest in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processRefreshRelationshipRequest in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      typeDefGUID - unique identifier for this instance's TypeDef
      typeDefName - name of this relationship's TypeDef
      instanceGUID - unique identifier for the instance
      homeMetadataCollectionId - metadata collection id for the home of this instance.
    • processRefreshRelationshipEvent

      public void processRefreshRelationshipEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, Relationship relationship)
      The local repository is refreshing the information about a relationship for the other repositories in the cohort.
      Specified by:
      processRefreshRelationshipEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processRefreshRelationshipEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      relationship - relationship details
    • processInstanceBatchEvent

      public void processInstanceBatchEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, InstanceGraph instances)
      An open metadata repository is passing information about a collection of entities and relationships with the other repositories in the cohort.
      Specified by:
      processInstanceBatchEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processInstanceBatchEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - unique identifier for the metadata collection hosted by the server that sent the event.
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      instances - multiple entities and relationships for sharing.
    • processConflictingInstancesEvent

      public void processConflictingInstancesEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, String targetMetadataCollectionId, TypeDefSummary targetTypeDefSummary, String targetInstanceGUID, String otherMetadataCollectionId, InstanceProvenanceType otherOrigin, TypeDefSummary otherTypeDefSummary, String otherInstanceGUID, String errorMessage)
      A remote repository has detected two metadata instances with the same identifier (guid). One of these instances has its home in the repository and the other one is located in a metadata collection owned by another repository in the cohort. This is a serious error because it could lead to corruption of the metadata collection. When this occurs, all repositories in the cohort delete their reference copies of the metadata instances and at least one of the instances has its GUID changed in its respective home repository. The updated instance(s) are redistributed around the cohort.
      Specified by:
      processConflictingInstancesEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processConflictingInstancesEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - metadata collection id of the repository reporting the conflicting instance
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      targetMetadataCollectionId - metadata collection id of other repository with the conflicting instance
      targetTypeDefSummary - details of the target instance's TypeDef
      targetInstanceGUID - unique identifier for the source instance
      otherOrigin - origin of the other (older) metadata instance
      otherMetadataCollectionId - metadata collection of the other (older) metadata instance
      otherTypeDefSummary - details of the other (older) instance's TypeDef
      otherInstanceGUID - unique identifier for the other (older) instance
      errorMessage - description of the error
    • processConflictingTypeEvent

      public void processConflictingTypeEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, String targetMetadataCollectionId, TypeDefSummary targetTypeDefSummary, String targetInstanceGUID, TypeDefSummary otherTypeDefSummary, String errorMessage)
      An open metadata repository has detected an inconsistency in the version of the type used in an updated metadata instance compared to its stored version.
      Specified by:
      processConflictingTypeEvent in interface OMRSInstanceEventProcessorInterface
      Overrides:
      processConflictingTypeEvent in class OMRSRepositoryEventBuilder
      Parameters:
      sourceName - name of the source of the event. It may be the cohort name for incoming events or the local repository, or event mapper name.
      originatorMetadataCollectionId - metadata collection id of the repository reporting the conflicting instance
      originatorServerName - name of the server that the event came from.
      originatorServerType - type of server that the event came from.
      originatorOrganizationName - name of the organization that owns the server that sent the event.
      targetMetadataCollectionId - metadata collection id of other repository with the conflicting instance
      targetTypeDefSummary - details of the target instance's TypeDef
      targetInstanceGUID - unique identifier for the source instance
      otherTypeDefSummary - details of the other's TypeDef
      errorMessage - description of the error.