Class AssetLineagePublisher

java.lang.Object
org.odpi.openmetadata.accessservices.assetlineage.outtopic.AssetLineagePublisher

public class AssetLineagePublisher extends Object
AssetLineagePublisher is the connector responsible for publishing lineage context information about new and changed assets.
  • Constructor Details

    • AssetLineagePublisher

      public AssetLineagePublisher(OpenMetadataTopicConnector outTopicConnector, String serverName, String serverUserName, int batchSize) throws OCFCheckedExceptionBase
      The constructor is given the connection to the out topic for Asset Lineage OMAS along with classes for testing and manipulating instances.
      Parameters:
      outTopicConnector - connection to the out topic
      serverName - name of the user of the server instance
      serverUserName - name of this server instance
      Throws:
      OCFCheckedExceptionBase
  • Method Details

    • publishProcessContext

      public com.google.common.collect.Multimap<String,RelationshipsContext> publishProcessContext(EntityDetail entityDetail) throws OCFCheckedExceptionBase, com.fasterxml.jackson.core.JsonProcessingException
      Takes the context for a Process and publishes the event to the output topic
      Parameters:
      entityDetail - entity to get context
      Returns:
      the Process context
      Throws:
      OCFCheckedExceptionBase - checked exception for reporting errors found when using OCF connectors
      com.fasterxml.jackson.core.JsonProcessingException - exception parsing the event json
    • publishGlossaryContext

      public void publishGlossaryContext(String glossaryTermGUID) throws OCFCheckedExceptionBase, com.fasterxml.jackson.core.JsonProcessingException
      Build the context for a Glossary Term based on the glossary term GUID and publishes the event to the out topic
      Parameters:
      glossaryTermGUID - glossary term GUID to get context
      Throws:
      OCFCheckedExceptionBase - checked exception for reporting errors found when using OCF connectors
      com.fasterxml.jackson.core.JsonProcessingException - exception parsing the event json
    • publishGlossaryContext

      public com.google.common.collect.Multimap<String,RelationshipsContext> publishGlossaryContext(EntityDetail entityDetail) throws OCFCheckedExceptionBase, com.fasterxml.jackson.core.JsonProcessingException
      Build the context for a Glossary Term and publishes the event to the out topic
      Parameters:
      entityDetail - glossary term to get context
      Returns:
      the Glossary Term context
      Throws:
      OCFCheckedExceptionBase - checked exception for reporting errors found when using OCF connectors
      com.fasterxml.jackson.core.JsonProcessingException - exception parsing the event json
    • publishClassificationContext

      public void publishClassificationContext(EntityDetail entityDetail, AssetLineageEventType assetLineageEventType) throws OCFCheckedExceptionBase, com.fasterxml.jackson.core.JsonProcessingException
      Parameters:
      entityDetail - entity to get context
      assetLineageEventType - event type to get published
      Throws:
      OCFCheckedExceptionBase - checked exception for reporting errors found when using OCF connectors
      com.fasterxml.jackson.core.JsonProcessingException - exception parsing the event json
    • publishLineageRelationshipEvent

      public void publishLineageRelationshipEvent(LineageRelationship lineageRelationship, AssetLineageEventType eventType) throws ConnectorCheckedException, com.fasterxml.jackson.core.JsonProcessingException
      Parameters:
      lineageRelationship - the LineageRelationship to be published
      eventType - the type on the event
      Throws:
      ConnectorCheckedException - unable to send the event due to connectivity issue
      com.fasterxml.jackson.core.JsonProcessingException - exception parsing the event json
    • publishAssetContextEvent

      public void publishAssetContextEvent(RelationshipsContext assetContext) throws ConnectorCheckedException, com.fasterxml.jackson.core.JsonProcessingException
      Parameters:
      assetContext - the LineageRelationship to be published
      Throws:
      ConnectorCheckedException - unable to send the event due to connectivity issue
      com.fasterxml.jackson.core.JsonProcessingException - exception parsing the event json
    • publishEvent

      public void publishEvent(AssetLineageEventHeader event) throws com.fasterxml.jackson.core.JsonProcessingException, ConnectorCheckedException
      Output a new asset event.
      Parameters:
      event - event to send
      Throws:
      ConnectorCheckedException - unable to send the event due to connectivity issue
      com.fasterxml.jackson.core.JsonProcessingException - exception parsing the event json
    • publishLineageSummaryEvent

      public void publishLineageSummaryEvent(LineagePublishSummary summary) throws com.fasterxml.jackson.core.JsonProcessingException, ConnectorCheckedException
      Publish LineageSyncEvent that contains LineagePublishSummary details.
      Parameters:
      summary - details about lineage processing and publish activity completed by Asset Lineage OMAS.
      Throws:
      ConnectorCheckedException - unable to send the event due to connectivity issue
      com.fasterxml.jackson.core.JsonProcessingException - exception parsing the event json
    • publishLineageEntityEvent

      public void publishLineageEntityEvent(LineageEntity lineageEntity, AssetLineageEventType lineageEventType) throws ConnectorCheckedException, com.fasterxml.jackson.core.JsonProcessingException
      Publish lineage entity event
      Parameters:
      lineageEntity - - lineage entity
      lineageEventType - - lineage event type
      Throws:
      ConnectorCheckedException - unable to send the event due to connectivity issue
      com.fasterxml.jackson.core.JsonProcessingException - exception parsing the event json
    • publishDataFlowOrLineageMappingRelationshipEvent

      public void publishDataFlowOrLineageMappingRelationshipEvent(LineageRelationship lineageRelationship, AssetLineageEventType eventType) throws OCFCheckedExceptionBase, com.fasterxml.jackson.core.JsonProcessingException
      Publishes a LineageRelationshipEvent containing a LineageRelationship. For each end of the relationship it publishes a LineageRelationshipsEvent containing the column context if available
      Parameters:
      lineageRelationship - the LineageRelationship to be published
      eventType - the type on the event
      Throws:
      ConnectorCheckedException - unable to send the event due to connectivity issue
      com.fasterxml.jackson.core.JsonProcessingException - exception parsing the event json
      OCFCheckedExceptionBase
    • isEntityEligibleForPublishing

      public boolean isEntityEligibleForPublishing(EntityDetail entityDetail) throws OCFCheckedExceptionBase
      Checks if the entity is eligible to be send in a lineage event. The GlossaryTerm and GlossaryCategory entities are send out if has SemanticAssignment and/or TermCategorization relationships
      Parameters:
      entityDetail - entity to be checked
      Returns:
      true if the entity has the lineage relationships created
      Throws:
      UserNotAuthorizedException - security access problem
      PropertyServerException - problem accessing property server
      OCFCheckedExceptionBase