Class DarwinProductDependencyManagerConnector
- All Implemented Interfaces:
AuditLoggingComponent,SecureConnectorExtension,VirtualConnectorExtension,IntegrationConnector
- Schema elements to data assets. A DataMapping relationship between two schema elements shows data being copied from one to the other. Where the two schema elements belong to different data assets, data flows from the first asset to the second, so a DataFlow relationship is maintained between the assets.
- Data assets to software servers. A software server hosts software capabilities (through the SupportedSoftwareCapability relationship), and a capability owns data assets (through the CapabilityAssetUse relationship with a useType of OWNS). Where the data lineage leads - directly or through intermediate elements - from an asset owned by one server's capability to an asset owned by another's, data flows from the first server to the second, so a DataFlow relationship is maintained between the servers.
- Data assets to digital products. The assets that are members of a digital product (through the CollectionMembership relationship) are the start of paths followed downstream through the data lineage. A path may pass through any number of intermediate elements - processes, assets that belong to no product - but every relationship on it must belong to the same information supply chain (the iscQualifiedName of the lineage relationship). When the path reaches an asset that is a member of another product, that product depends on the product the path started from, through that information supply chain, so a DigitalProductDependency relationship is maintained between the products. The path stops there: the dependency on anything further downstream belongs to the product just reached.
A DigitalProductDependency asserted by an external user that no lineage path proves is recorded as an exception. The connector has its own ExceptionType, created on first use, and links it to each dependent digital product that has unproven dependencies with an Exception relationship whose affectedRelationships property lists the unproven DigitalProductDependency relationships. The exception is updated as the list changes and removed once nothing on it is left.
This connector works across the whole open metadata ecosystem rather than through catalog targets, which is why it extends IntegrationConnectorBase rather than DynamicIntegrationConnectorBase. Each refresh reconciles from a fresh snapshot, so nothing is carried between refreshes but the identity of the exception type.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
ConnectorBase.ProtectedConnection -
Field Summary
Fields inherited from class org.odpi.openmetadata.frameworks.integration.connectors.IntegrationConnectorBase
catalogTargetsManager, connectorName, integrationContext, propertyHelperFields inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
auditLog, connectionBean, connectorInstanceId, embeddedConnectors, messageFormatter, secretsStoreConnectorMap -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidFree up any resources held since the connector is no longer needed.voidrefresh()Bring the coarse-grained lineage into line with the finer-grained lineage beneath it, working upwards: data mappings between schema elements to data flows between assets, lineage between assets to data flows between servers, and lineage between assets to dependencies between digital products.voidstart()Indicates that the connector is completely configured and can begin processing.Methods inherited from class org.odpi.openmetadata.frameworks.integration.connectors.IntegrationConnectorBase
engage, getConnectorComponentDescription, getNetworkAddress, passEventToCatalogTargets, refreshCatalogTargets, setAuditLog, setConnectorName, setContextMethods inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
combineConfigurationProperties, disconnectConnectors, equals, fromCamelToCanonicalCase, fromCanonicalToCamelCase, fromCanonicalToKebabCase, fromCanonicalToSnakeCase, fromKebabToCanonicalCase, fromSnakeToCanonicalCase, getArrayConfigurationProperty, getArrayConfigurationProperty, getArrayConfigurationProperty, getBooleanConfigurationProperty, getConnection, getConnectorInstanceId, getDateConfigurationProperty, getIntConfigurationProperty, getLongConfigurationProperty, getSecretsCollectionName, getSecretsLocation, getSecretsProvider, getStringConfigurationProperty, getStringConfigurationProperty, getSuppliedPlaceholderProperties, hashCode, initialize, initializeEmbeddedConnectors, initializeSecretsStoreConnector, isActive, logExceptionRecord, logExceptionRecord, logRecord, logRecord, throwMissingConfigurationProperty, throwMissingElement, throwMissingEndpointAddress, throwMissingResource, throwNoAsset, throwWrongTypeOfAsset, throwWrongTypeOfResource, throwWrongTypeOfRootSchema, toStringMethods inherited from class org.odpi.openmetadata.frameworks.connectors.Connector
clearStatisticProperty, clearStatisticTimestamp, getConnectorStatistics, getStatisticCounter, getStatisticProperty, getStatisticTimestamp, incrementStatisticCounter, initializeStatisticCounter, refreshStatistics, setStatisticProperty, setStatisticTimestampMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.odpi.openmetadata.frameworks.connectors.VirtualConnectorExtension
initializeEmbeddedConnectors
-
Constructor Details
-
DarwinProductDependencyManagerConnector
public DarwinProductDependencyManagerConnector()
-
-
Method Details
-
start
Indicates that the connector is completely configured and can begin processing.- Specified by:
startin interfaceIntegrationConnector- Overrides:
startin classIntegrationConnectorBase- Throws:
ConnectorCheckedException- the connector detected a problem.UserNotAuthorizedException- the connector was disconnected during start up
-
refresh
Bring the coarse-grained lineage into line with the finer-grained lineage beneath it, working upwards: data mappings between schema elements to data flows between assets, lineage between assets to data flows between servers, and lineage between assets to dependencies between digital products. The asset-level data flows are written to the repository before the product dependencies are derived, so that the products see them.- Throws:
ConnectorCheckedException- a problem with the connector. It is unable to refresh the metadata.UserNotAuthorizedException- the connector was disconnected so stop refresh processing
-
disconnect
Free up any resources held since the connector is no longer needed.- Specified by:
disconnectin interfaceIntegrationConnector- Overrides:
disconnectin classIntegrationConnectorBase- Throws:
ConnectorCheckedException- the connector detected a problem.
-