Class AssetLineagePublisher


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

      • 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 Detail

      • 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
      • 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
      • 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