- All Implemented Interfaces:
- Direct Known Subclasses:
public abstract class DiscoveryService extends ConnectorBase implements OpenDiscoveryService, AuditLoggingComponent, VirtualConnectorExtension
DiscoveryService describes a specific type of connector that is responsible for analyzing the content of a specific asset. Information about the asset to analyze is passed in the discovery context. The returned discovery context also contains the results. Some discovery services manage the invocation of other discovery services. These discovery services are called discovery pipelines.
Nested Class Summary
Field SummaryModifier and TypeFieldDescription
Method SummaryModifier and TypeMethodDescription
voidFree up any resources held since the connector is no longer needed.Return the component description that is used by this connector in the audit log.Return the discovery context for this discovery service.Retrieve and validate the list of embedded connectors and cast them to discovery service connector.
protected voidProvide a common exception for unexpected errors.
voidSet up the list of discovery services connectors that will be invoked as part of this discovery pipeline.
voidReceive an audit log object that can be used to record audit log messages.
voidSet up details of the asset to analyze and the results of any previous analysis.
voidSet up the discovery service name.
start()Indicates that the discovery service is completely configured and can begin processing.
Methods inherited from class org.odpi.openmetadata.frameworks.connectors.ConnectorBase
disconnectConnectors, equals, getConnectedAssetProperties, getConnection, getConnectorInstanceId, hashCode, initialize, initializeConnectedAssetProperties, initializeSecretsStoreConnector, isActive, toString
Methods inherited from class org.odpi.openmetadata.frameworks.connectors.Connector
clearStatisticProperty, clearStatisticTimestamp, getConnectorStatistics, getStatisticCounter, getStatisticProperty, getStatisticTimestamp, incrementStatisticCounter, initializeStatisticCounter, setStatisticProperty, setStatisticTimestamp
setAuditLogpublic void setAuditLog
(AuditLog auditLog)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.
getConnectorComponentDescriptionpublic ComponentDescription getConnectorComponentDescription()Return the component description that is used by this connector in the audit log.
initializeEmbeddedConnectorsSet up the list of discovery services connectors that will be invoked as part of this discovery pipeline. The connectors are initialized waiting to start. After start() is called on the discovery pipeline, it will choreograph the invocation of its embedded discovery services by calling start() to each of them when they are to run. Similar processing is needed for the disconnect() method.
setDiscoveryContextpublic void setDiscoveryContext
(DiscoveryContext discoveryContext)Set up details of the asset to analyze and the results of any previous analysis.
discoveryContext- information about the asset to analyze and the results of analysis of other discovery service request. Partial results from other discovery services run as part of the same discovery service request may also be stored in the newAnnotations list.
setDiscoveryServiceNamepublic void setDiscoveryServiceName
(String discoveryServiceName)Set up the discovery service name. This is used in error messages.
discoveryServiceName- name of the discovery service
getDiscoveryContextpublic DiscoveryContext getDiscoveryContext()Return the discovery context for this discovery service. This is typically called after the disconnect() method is called. If called before disconnect(), it may only contain partial results.
- discovery context containing the results discovered (so far) by the discovery service.
getEmbeddedDiscoveryServicesRetrieve and validate the list of embedded connectors and cast them to discovery service connector. This is used by DiscoveryPipelines and DiscoveryScanningServices.
- list of discovery service connectors
DiscoveryServiceException- one of the embedded connectors is not a discovery service
startpublic void start() throws ConnectorCheckedExceptionIndicates that the discovery service is completely configured and can begin processing. This is where the function of the discovery service is implemented. This is a standard method from the Open Connector Framework (OCF) so be sure to call super.start() in your version.
handleUnexpectedExceptionprotected void handleUnexpectedException
(String methodName, Throwable error) throws ConnectorCheckedExceptionProvide a common exception for unexpected errors.
methodName- calling method
error- caught exception
ConnectorCheckedException- wrapped exception
disconnectpublic void disconnect() throws ConnectorCheckedExceptionFree up any resources held since the connector is no longer needed.