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,
                                     Map<String,​Object> accessServiceOptions)
                              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