Class AssetManagerOMRSTopicListener

java.lang.Object
org.odpi.openmetadata.repositoryservices.connectors.omrstopic.OMRSTopicListenerBase
org.odpi.openmetadata.accessservices.assetmanager.listener.AssetManagerOMRSTopicListener
All Implemented Interfaces:
OMRSTopicListener, OMRSTopicRepositoryEventListener

public class AssetManagerOMRSTopicListener extends OMRSTopicListenerBase
AssetManagerOMRSTopicListener received details of each OMRS event from the cohorts that the local server is connected to. It passes NEW_ENTITY_EVENTs to the publisher.
  • Constructor Details

    • AssetManagerOMRSTopicListener

      public AssetManagerOMRSTopicListener(String serviceName, String localServerUserId, AssetManagerOutTopicPublisher eventPublisher, AssetHandler<AssetElement> assetHandler, List<String> supportedZones, AuditLog auditLog)
      Initialize the topic listener.
      Parameters:
      serviceName - this is the full name of the service - used for error logging in base class
      localServerUserId - userId used by this server for metadata governance
      eventPublisher - this is the out topic publisher
      assetHandler - handler for retrieving asset information
      supportedZones - list of zones that the access service is allowed to serve instances from.
      auditLog - logging destination
  • Method Details

    • processNewEntityEvent

      public void processNewEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity)
      A new entity has been created.
      Overrides:
      processNewEntityEvent in class OMRSTopicListenerBase
      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.
      Overrides:
      processUpdatedEntityEvent in class OMRSTopicListenerBase
      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.
    • processClassifiedEntityEvent

      public void processClassifiedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityProxy entityProxy, Classification classification)
      A new classification has been added to an entityProxy.
      Overrides:
      processClassifiedEntityEvent in class OMRSTopicListenerBase
      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.
      entityProxy - details of the entityProxy with the new classification added. No guarantee this is all the classifications.
      classification - new classification
    • 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.
      Overrides:
      processClassifiedEntityEvent in class OMRSTopicListenerBase
      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. No guarantee this is all the classifications.
      classification - new classification
    • processClassifiedEntityEvent

      public void processClassifiedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity)
      A new classification has been added to an entity.
      Overrides:
      processClassifiedEntityEvent in class OMRSTopicListenerBase
      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.
    • processDeclassifiedEntityEvent

      public void processDeclassifiedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityProxy entityProxy, Classification originalClassification)
      A classification has been removed from an entityProxy.
      Overrides:
      processDeclassifiedEntityEvent in class OMRSTopicListenerBase
      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.
      entityProxy - details of the entityProxy after the classification has been removed. No guarantee this is all the classifications.
      originalClassification - classification that was removed
    • 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.
      Overrides:
      processDeclassifiedEntityEvent in class OMRSTopicListenerBase
      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. No guarantee this is all the classifications.
      originalClassification - classification that was removed
    • processDeclassifiedEntityEvent

      public void processDeclassifiedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity)
      A classification has been removed from an entity.
      Overrides:
      processDeclassifiedEntityEvent in class OMRSTopicListenerBase
      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.
    • processReclassifiedEntityEvent

      public void processReclassifiedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityProxy entityProxy, Classification originalClassification, Classification classification)
      An existing classification has been changed on an entityProxy.
      Overrides:
      processReclassifiedEntityEvent in class OMRSTopicListenerBase
      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.
      entityProxy - details of the entityProxy after the classification has been changed. No guarantee this is all the classifications.
      originalClassification - classification that was removed
      classification - new classification
    • 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.
      Overrides:
      processReclassifiedEntityEvent in class OMRSTopicListenerBase
      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. No guarantee this is all the classifications.
      originalClassification - classification that was removed
      classification - new classification
    • processReclassifiedEntityEvent

      public void processReclassifiedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity)
      An existing classification has been changed on an entity. Only implement one of the processReclassifiedEntityEvent methods
      Overrides:
      processReclassifiedEntityEvent in class OMRSTopicListenerBase
      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.
    • 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.

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

      Overrides:
      processDeletedEntityEvent in class OMRSTopicListenerBase
      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
    • processDeletePurgedEntityEvent

      public void processDeletePurgedEntityEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, EntityDetail entity)
      An existing entity has been deleted and purged in a single action. 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.
      Overrides:
      processDeletePurgedEntityEvent in class OMRSTopicListenerBase
      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.
      Overrides:
      processRestoredEntityEvent in class OMRSTopicListenerBase
      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.
    • 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.
      Overrides:
      processReIdentifiedEntityEvent in class OMRSTopicListenerBase
      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.
      Overrides:
      processReTypedEntityEvent in class OMRSTopicListenerBase
      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 of this entity's 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.
      Overrides:
      processReHomedEntityEvent in class OMRSTopicListenerBase
      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 repository.
      entity - new values for this entity, including the new home information.
    • 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.
      Overrides:
      processRefreshEntityEvent in class OMRSTopicListenerBase
      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.
      Overrides:
      processNewRelationshipEvent in class OMRSTopicListenerBase
      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.
      Overrides:
      processUpdatedRelationshipEvent in class OMRSTopicListenerBase
      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.
    • 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.

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

      Overrides:
      processDeletedRelationshipEvent in class OMRSTopicListenerBase
      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
    • processDeletePurgedRelationshipEvent

      public void processDeletePurgedRelationshipEvent(String sourceName, String originatorMetadataCollectionId, String originatorServerName, String originatorServerType, String originatorOrganizationName, Relationship relationship)
      An active relationship has been deleted and purged from the repository. This request can not be undone.
      Overrides:
      processDeletePurgedRelationshipEvent in class OMRSTopicListenerBase
      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.
      Overrides:
      processReIdentifiedRelationshipEvent in class OMRSTopicListenerBase
      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.
      Overrides:
      processReTypedRelationshipEvent in class OMRSTopicListenerBase
      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 of 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.
      Overrides:
      processReHomedRelationshipEvent in class OMRSTopicListenerBase
      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.
    • 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.
      Overrides:
      processRefreshRelationshipEvent in class OMRSTopicListenerBase
      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