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
,SearchIntegratorConnector
,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
FieldsModifier and TypeFieldDescriptionprotected AuditLog
protected String
protected IntegrationContext
Fields inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
connectedAssetProperties, connectionBean, connectionProperties, connectorInstanceId, secretsStoreConnectorMap
-
Constructor Summary
Constructors -
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.void
initializeEmbeddedConnectors
(List<Connector> embeddedConnectors) Set up the list of connectors that this virtual connector will use to support its interface.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.Methods inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
disconnectConnectors, equals, getConnectedAssetProperties, getConnection, getConnectorInstanceId, hashCode, initialize, initializeConnectedAssetProperties, initializeSecretsStoreConnector, isActive, start, 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, start
-
Field Details
-
auditLog
-
connectorName
-
integrationContext
-
embeddedConnectors
-
-
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.
-
initializeEmbeddedConnectors
Set up the list of connectors that this virtual connector will use to support its interface. The connectors are initialized waiting to start. When start() is called on the virtual connector, it needs to pass start() to each of the embedded connectors. Similarly for disconnect().- Specified by:
initializeEmbeddedConnectors
in interfaceVirtualConnectorExtension
- Parameters:
embeddedConnectors
- list of connectors
-
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.
-
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.
-