Class IntegrationContextManager
java.lang.Object
org.odpi.openmetadata.frameworks.integration.contextmanager.IntegrationContextManager
- All Implemented Interfaces:
OpenLineageListenerManager
- Direct Known Subclasses:
OIFContextManager
public abstract class IntegrationContextManager
extends Object
implements OpenLineageListenerManager
IntegrationContextManager is the base class for the context manager that is implemented by each integration service.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AuditLog
protected ConnectedAssetClient
protected GovernanceConfiguration
protected String
protected String
protected String
protected String
protected int
protected OpenGovernanceClient
protected OpenIntegrationClient
protected OpenMetadataClient
protected OpenMetadataEventClient
protected String
protected String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract void
Suggestion for subclass to create client(s) to partner OMAS.abstract OpenMetadataEventClient
createEventClient
(String connectorId) Suggestion for subclass to create client(s) to partner OMAS.void
initializeContextManager
(String localServerName, String localServiceName, String partnerOMASServerName, String partnerOMASPlatformRootURL, String userId, String password, int maxPageSize, AuditLog auditLog) Initialize server properties for the context manager.void
publishOpenLineageRunEvent
(String rawEvent) Called each time an open lineage run event is published to the integration daemon.void
Called each time an open lineage run event is published to the integration demon.void
registerListener
(OpenLineageEventListener listener) The listener is implemented by the integration connector.setContext
(String connectorId, String connectorName, String connectorUserId, IntegrationConnector integrationConnector, String integrationConnectorGUID, PermittedSynchronization permittedSynchronization, boolean generateIntegrationReport, String metadataSourceQualifiedName, DeleteMethod deleteMethod) Set up the context in the supplied connector.protected String
setUpMetadataSource
(String metadataSourceQualifiedName, String typeName, String classificationName, String deployedImplementationType) Retrieve the metadata source's unique identifier (GUID) or if it is not defined, create the software server capability for this service.
-
Field Details
-
partnerOMASPlatformRootURL
-
partnerOMASServerName
-
openIntegrationClient
-
governanceConfiguration
-
connectedAssetClient
-
openMetadataClient
-
openMetadataEventClient
-
openGovernanceClient
-
localServerName
-
localServiceName
-
localServerUserId
-
localServerPassword
-
maxPageSize
protected int maxPageSize -
auditLog
-
-
Constructor Details
-
IntegrationContextManager
protected IntegrationContextManager()Default constructor
-
-
Method Details
-
initializeContextManager
public void initializeContextManager(String localServerName, String localServiceName, String partnerOMASServerName, String partnerOMASPlatformRootURL, String userId, String password, int maxPageSize, AuditLog auditLog) Initialize server properties for the context manager.- Parameters:
localServerName
- name of this integration daemonlocalServiceName
- name of calling servicepartnerOMASServerName
- name of the server to connect topartnerOMASPlatformRootURL
- the network address of the server running the OMAS REST servicesuserId
- caller's userId embedded in all HTTP requestspassword
- caller's userId embedded in all HTTP requestsmaxPageSize
- maximum number of results that can be returned on a single REST callauditLog
- logging destination
-
createClients
Suggestion for subclass to create client(s) to partner OMAS.- Throws:
InvalidParameterException
- the subclass is not able to create one of its clients
-
createEventClient
public abstract OpenMetadataEventClient createEventClient(String connectorId) throws InvalidParameterException Suggestion for subclass to create client(s) to partner OMAS.- Parameters:
connectorId
- used as the caller Id- Throws:
InvalidParameterException
- the subclass is not able to create one of its clients
-
setUpMetadataSource
protected String setUpMetadataSource(String metadataSourceQualifiedName, String typeName, String classificationName, String deployedImplementationType) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata source's unique identifier (GUID) or if it is not defined, create the software server capability for this service.- Parameters:
metadataSourceQualifiedName
- unique name of the software capability that represents this integration servicetypeName
- subtype name of the software capabilityclassificationName
- optional classification for the software capability- Returns:
- unique identifier of the metadata source
- Throws:
InvalidParameterException
- one of the parameters passed (probably on initialize) is invalidUserNotAuthorizedException
- the integration daemon's userId does not have access to the partner OMASPropertyServerException
- there is a problem in the remote server running the partner OMAS
-
setContext
public IntegrationContext setContext(String connectorId, String connectorName, String connectorUserId, IntegrationConnector integrationConnector, String integrationConnectorGUID, PermittedSynchronization permittedSynchronization, boolean generateIntegrationReport, String metadataSourceQualifiedName, DeleteMethod deleteMethod) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Set up the context in the supplied connector. This is called between initialize() and start() on the connector.- Parameters:
connectorId
- unique identifier of the connector (used to configure the event listener)connectorName
- name of connector from configconnectorUserId
- userId for the connectorintegrationConnector
- connector created from connection integration service configurationintegrationConnectorGUID
- unique identifier of the integration connector entity (only set if working with integration groups)permittedSynchronization
- controls the direction(s) that metadata is allowed to flowgenerateIntegrationReport
- should the connector generate an integration reports?metadataSourceQualifiedName
- unique name of the software server capability that represents the metadata source.- Returns:
- the new integration context
- Throws:
InvalidParameterException
- the connector is not of the correct typeUserNotAuthorizedException
- user not authorized to issue this requestPropertyServerException
- problem accessing the property server
-
registerListener
The listener is implemented by the integration connector. Once it is registered with the context, its processOpenLineageRunEvent() method is called each time an open lineage event is published to the integration daemon.- Specified by:
registerListener
in interfaceOpenLineageListenerManager
- Parameters:
listener
- listener to call
-
publishOpenLineageRunEvent
Called each time an open lineage run event is published to the integration daemon. The integration connector is able to work with the formatted event using the Egeria beans or reformat the open lineage run event using the supplied open lineage backend beans or another set of beans.- Specified by:
publishOpenLineageRunEvent
in interfaceOpenLineageListenerManager
- Parameters:
rawEvent
- json payload received for the event
-
publishOpenLineageRunEvent
Called each time an open lineage run event is published to the integration demon. The integration connector is able to work with the formatted event using the Egeria beans or reformat the open lineage run event using the supplied open lineage backend beans or another set of beans.- Specified by:
publishOpenLineageRunEvent
in interfaceOpenLineageListenerManager
- Parameters:
event
- bean for the event
-