Class AtlasLineageIntegrationModule
java.lang.Object
org.odpi.openmetadata.adapters.connectors.apacheatlas.integration.modules.AtlasIntegrationModuleBase
org.odpi.openmetadata.adapters.connectors.apacheatlas.integration.modules.AtlasLineageIntegrationModule
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 Summary
Modifier and TypeFieldDescriptionprotected static final String
protected static final String
protected static final String
protected static final String
protected static final String
Fields inherited from class org.odpi.openmetadata.adapters.connectors.apacheatlas.integration.modules.AtlasIntegrationModuleBase
atlasAssetProperties, atlasClient, atlasCreateTimePropertyName, atlasDataFileProperties, atlasDescriptionPropertyName, atlasDisplayNamePropertyName, atlasModifiedTimePropertyName, atlasNamePropertyName, atlasOwnerPropertyName, atlasPathPropertyName, atlasQualifiedNamePropertyName, atlasUserDescriptionPropertyName, auditLog, collaborationExchangeService, connectionProperties, connectorName, dataAssetExchangeService, egeriaGUIDPropertyName, egeriaOwnedPropertyName, egeriaOwnerPropertyName, egeriaOwnerTypeName, egeriaQualifiedNamePropertyName, egeriaTypeNamePropertyName, embeddedConnectors, moduleName, myContext, openMetadataAccess, openMetadataAssociatedElementPropertyName, openMetadataAssociatedGlossaryPropertyName, openMetadataCorrelationLinkTypeName, openMetadataCorrelationPropertyName, openMetadataCorrelationTypeName, openMetadataGlossaryCorrelationLinkTypeName, propertyHelper, stewardshipExchangeService, targetRootURL
-
Constructor Summary
ConstructorDescriptionAtlasLineageIntegrationModule
(String connectorName, ConnectionProperties connectionProperties, AuditLog auditLog, CatalogIntegratorContext myContext, String targetRootURL, ApacheAtlasRESTConnector atlasClient, List<Connector> embeddedConnectors) Constructor for the module is supplied with the runtime context in order to operate. -
Method Summary
Modifier and TypeMethodDescriptionprotected String
createAtlasProcessInEgeria
(AtlasEntityWithExtInfo atlasProcessEntity) Create the database in the open metadata ecosystem.protected ProcessProperties
getEgeriaProcessProperties
(AtlasEntity atlasEntity) Map the properties from the entity retrieved from Apache Atlas to the Egeria properties for the open metadata entity.void
Retrieves all the processes catalogued in Apache Atlas and creates an equivalent process in the open metadata ecosystem.protected void
updateAtlasProcessInEgeria
(AtlasEntityWithExtInfo atlasProcessEntity, String egeriaProcessGUID) Update the properties of an open metadata database with the current properties from Apache Atlas.Methods inherited from class org.odpi.openmetadata.adapters.connectors.apacheatlas.integration.modules.AtlasIntegrationModuleBase
addPropertyMapToAdditionalProperties, addRemainingPropertiesToAdditionalProperties, addStringArrayToAdditionalProperties, atlasUpdateRequired, createAtlasDataSetAsDataSetInEgeria, egeriaUpdateRequired, ensureAtlasExternalIdentifier, getAtlasBooleanProperty, getAtlasGUID, getAtlasPropertyMap, getAtlasStringArray, getAtlasStringProperty, getDataAssetProperties, getEgeriaDataFileProperties, getEgeriaDataSetProperties, getEgeriaGUID, getExternalIdentifier, getExternalIdentifier, getProcessProperties, getSchemaAttributeProperties, getValidAtlasGUIDs, isAtlasOwnedElement, isEgeriaOwned, isEgeriaOwned, isEgeriaOwned, removeEgeriaGUID, saveEgeriaGUIDInAtlas, setOwner, syncAtlasDataSetAsDataSet, syncAtlasDataSetsAsDataSets, updateAtlasDataSetAsDataSetInEgeria, updateExternalIdentifierAfterAtlasUpdate
-
Field Details
-
egeriaDataSetTypeName
- See Also:
-
egeriaProcessTypeName
- See Also:
-
atlasProcessTypeName
- See Also:
-
atlasProcessInputsPropertyName
- See Also:
-
atlasProcessOutputsPropertyName
- See Also:
-
-
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 connectorauditLog
- logging destinationmyContext
- integration contexttargetRootURL
- URL to connect to Apache AtlasatlasClient
- client to connect to Apache AtlasembeddedConnectors
- list of any embedded connectors (such as secrets connector and topic connector- Throws:
UserNotAuthorizedException
- security problem
-
-
Method Details
-
synchronizeLineage
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
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 errorUserNotAuthorizedException
- security problemPropertyServerException
- 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 AtlasegeriaProcessGUID
- unique identifier of the equivalent entity in the open metadata ecosystem- Throws:
InvalidParameterException
- invalid parameter - probably a logic errorUserNotAuthorizedException
- security problemPropertyServerException
- unable to communicate with Egeria
-