java.lang.Object
org.odpi.openmetadata.adapters.connectors.apacheatlas.integration.modules.AtlasIntegrationModuleBase
org.odpi.openmetadata.adapters.connectors.apacheatlas.integration.modules.AtlasLineageIntegrationModule

public class AtlasLineageIntegrationModule extends AtlasIntegrationModuleBase
AtlasLineageIntegrationModule synchronizes lineage from Apache Atlas to the open metadata ecosystem. It is called after the registered integration modules have established the key assets into the open metadata ecosystem.
  • Field Details

  • Constructor Details

    • AtlasLineageIntegrationModule

      public AtlasLineageIntegrationModule(String connectorName, ConnectionProperties connectionProperties, AuditLog auditLog, CatalogIntegratorContext myContext, String targetRootURL, ApacheAtlasRESTConnector atlasClient, List<Connector> embeddedConnectors) throws UserNotAuthorizedException
      Constructor for the module is supplied with the runtime context in order to operate.
      Parameters:
      connectorName - name of the connector (for messages)
      connectionProperties - connection properties used to start the connector
      auditLog - logging destination
      myContext - integration context
      targetRootURL - URL to connect to Apache Atlas
      atlasClient - client to connect to Apache Atlas
      embeddedConnectors - list of any embedded connectors (such as secrets connector and topic connector
      Throws:
      UserNotAuthorizedException - security problem
  • Method Details

    • synchronizeLineage

      public void synchronizeLineage() throws ConnectorCheckedException
      Retrieves all the processes catalogued in Apache Atlas and creates an equivalent process in the open metadata ecosystem. Then establishes DataFlow relationships between the open metadata entities that match to lineage relationships in Apache Atlas. It is possible that some DataSets in the lineage flow have not been catalogued by the registered modules. A placeholder for each of these data sets is created to ensure the lineage graph is complete.
      Throws:
      ConnectorCheckedException - problem communicating with Apache Atlas or Egeria.
    • getEgeriaProcessProperties

      protected ProcessProperties getEgeriaProcessProperties(AtlasEntity atlasEntity)
      Map the properties from the entity retrieved from Apache Atlas to the Egeria properties for the open metadata entity.
      Parameters:
      atlasEntity - retrieve entity from Apache Atlas
      Returns:
      properties to pass to Egeria
    • createAtlasProcessInEgeria

      protected String createAtlasProcessInEgeria(AtlasEntityWithExtInfo atlasProcessEntity) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create the database in the open metadata ecosystem.
      Parameters:
      atlasProcessEntity - entity retrieved from Apache Atlas
      Returns:
      unique identifier of the database entity in open metadata
      Throws:
      InvalidParameterException - invalid parameter - probably a logic error
      UserNotAuthorizedException - security problem
      PropertyServerException - unable to communicate with Egeria
    • updateAtlasProcessInEgeria

      protected void updateAtlasProcessInEgeria(AtlasEntityWithExtInfo atlasProcessEntity, String egeriaProcessGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the properties of an open metadata database with the current properties from Apache Atlas.
      Parameters:
      atlasProcessEntity - entity retrieved from Apache Atlas
      egeriaProcessGUID - unique identifier of the equivalent entity in the open metadata ecosystem
      Throws:
      InvalidParameterException - invalid parameter - probably a logic error
      UserNotAuthorizedException - security problem
      PropertyServerException - unable to communicate with Egeria