Class IntegrationConnectorBase
java.lang.Object
org.odpi.openmetadata.frameworks.connectors.Connector
org.odpi.openmetadata.frameworks.connectors.ConnectorBase
org.odpi.openmetadata.frameworks.integration.connectors.IntegrationConnectorBase
- All Implemented Interfaces:
AuditLoggingComponent
,SecureConnectorExtension
,VirtualConnectorExtension
,IntegrationConnector
- Direct Known Subclasses:
AnalyticsIntegratorConnector
,APIIntegratorConnector
,CatalogIntegratorConnector
,DatabaseIntegratorConnector
,DisplayIntegratorConnector
,FilesIntegratorConnector
,InfrastructureIntegratorConnector
,IntegrationConnectorBase
,LineageIntegratorConnector
,OrganizationIntegratorConnector
,SecurityIntegratorConnector
,TopicIntegratorConnector
public abstract class IntegrationConnectorBase
extends ConnectorBase
implements IntegrationConnector, AuditLoggingComponent, VirtualConnectorExtension
IntegrationConnectorBase is the base class for an integration connector. It manages the storing of the audit log for the connector
and provides a default implementation for the abstract engage() method. This method only needs to be overridden by connectors
that need to make blocking calls to wait for new metadata.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
ConnectorBase.ProtectedConnection
-
Field Summary
Modifier and TypeFieldDescriptionprotected AuditLog
protected RequestedCatalogTargetsManager
protected String
protected IntegrationContext
protected final PropertyHelper
Fields inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
connectedAssetProperties, connectionBean, connectionProperties, connectorInstanceId, embeddedConnectors, messageFormatter, secretsStoreConnectorMap
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Free up any resources held since the connector is no longer needed.void
engage()
This method is for blocking calls to wait for new metadata.Return the component description that is used by this connector in the audit log.protected String
getNetworkAddress
(Connector assetConnector) Retrieve the endpoint from the asset connection.protected void
refreshCatalogTargets
(CatalogTargetIntegrator catalogTargetIntegrator) Return a list of requested catalog targets for the connector.protected void
Add a new listener for changes to this connector's catalog targets.void
setAuditLog
(AuditLog auditLog) Receive an audit log object that can be used to record audit log messages.void
setConnectorName
(String connectorName) Set up the connector name for logging.void
setContext
(IntegrationContext integrationContext) Set up the standard integration context for the connector.void
start()
Indicates that the connector is completely configured and can begin processing.Methods inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
combineConfigurationProperties, disconnectConnectors, equals, getArrayConfigurationProperty, getAssetTypeName, getBooleanConfigurationProperty, getConnectedAssetProperties, getConnection, getConnectorInstanceId, getDateConfigurationProperty, getIntConfigurationProperty, getLongConfigurationProperty, getNetworkAddresses, getStringConfigurationProperty, getSuppliedPlaceholderProperties, hashCode, initialize, initializeConnectedAssetProperties, initializeEmbeddedConnectors, initializeSecretsStoreConnector, isActive, logExceptionRecord, logRecord, logRecord, throwMissingConfigurationProperty, throwMissingResource, throwNoAsset, throwWrongTypeOfAsset, throwWrongTypeOfResource, throwWrongTypeOfRootSchema, toString
Methods inherited from class org.odpi.openmetadata.frameworks.connectors.Connector
clearStatisticProperty, clearStatisticTimestamp, getConnectorStatistics, getStatisticCounter, getStatisticProperty, getStatisticTimestamp, incrementStatisticCounter, initializeStatisticCounter, setStatisticProperty, setStatisticTimestamp
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.odpi.openmetadata.frameworks.integration.connectors.IntegrationConnector
refresh
Methods inherited from interface org.odpi.openmetadata.frameworks.connectors.VirtualConnectorExtension
initializeEmbeddedConnectors
-
Field Details
-
auditLog
-
connectorName
-
integrationContext
-
propertyHelper
-
catalogTargetsManager
-
-
Constructor Details
-
IntegrationConnectorBase
public IntegrationConnectorBase()
-
-
Method Details
-
setAuditLog
Receive an audit log object that can be used to record audit log messages. The caller has initialized it with the correct component description and log destinations.- Specified by:
setAuditLog
in interfaceAuditLoggingComponent
- Parameters:
auditLog
- audit log object
-
getConnectorComponentDescription
Return the component description that is used by this connector in the audit log.- Specified by:
getConnectorComponentDescription
in interfaceAuditLoggingComponent
- Returns:
- id, name, description, wiki page URL.
-
setConnectorName
Set up the connector name for logging.- Specified by:
setConnectorName
in interfaceIntegrationConnector
- Parameters:
connectorName
- connector name from the configuration
-
setContext
Set up the standard integration context for the connector.- Specified by:
setContext
in interfaceIntegrationConnector
- Parameters:
integrationContext
- integration context.
-
start
Indicates that the connector is completely configured and can begin processing. This call can be used to register with non-blocking services.- Specified by:
start
in interfaceIntegrationConnector
- Overrides:
start
in classConnectorBase
- Throws:
ConnectorCheckedException
- there is a problem within the connector.
-
getNetworkAddress
Retrieve the endpoint from the asset connection.- Parameters:
assetConnector
- asset connector- Returns:
- endpoint or null
-
registerCatalogTargetChangeListener
Add a new listener for changes to this connector's catalog targets.- Parameters:
listener
- listener to register
-
refreshCatalogTargets
protected void refreshCatalogTargets(CatalogTargetIntegrator catalogTargetIntegrator) throws ConnectorCheckedException Return a list of requested catalog targets for the connector. These are extracted from the metadata store.- Parameters:
catalogTargetIntegrator
- the integration component that will process each catalog target- Throws:
ConnectorCheckedException
- there is a problem with the connector. It is not able to refresh the metadata.
-
engage
This method is for blocking calls to wait for new metadata. It is called from its own thread iff the connector is configured to have its own thread. It is recommended that the implementation returns when each blocking call completes. The integration daemon will pause a second and then call engage() again. This pattern enables the calling thread to detect the shutdown of the integration daemon. This method should be overridden if the connector needs to issue calls that wait for new metadata. If this specific implementation is called a message is logged in the audit log because there is probably a mismatch between the configuration and the connector implementation.- Specified by:
engage
in interfaceIntegrationConnector
- Throws:
ConnectorCheckedException
- there is a problem within the connector.
-
disconnect
Free up any resources held since the connector is no longer needed.- Specified by:
disconnect
in interfaceIntegrationConnector
- Overrides:
disconnect
in classConnectorBase
- Throws:
ConnectorCheckedException
- there is a problem within the connector.
-