Class LineageIntegratorContextManager

java.lang.Object
org.odpi.openmetadata.frameworks.integration.contextmanager.IntegrationContextManager
org.odpi.openmetadata.integrationservices.lineage.contextmanager.LineageIntegratorContextManager
All Implemented Interfaces:
OpenLineageListenerManager

public class LineageIntegratorContextManager extends IntegrationContextManager implements OpenLineageListenerManager
LineageIntegratorContextManager provides the bridge between the integration daemon services and the specific implementation of an integration service.
  • Constructor Details

    • LineageIntegratorContextManager

      public LineageIntegratorContextManager()
      Default constructor
  • Method Details

    • initializeContextManager

      public void initializeContextManager(String partnerOMASServerName, String partnerOMASPlatformRootURL, String userId, String password, Map<String,Object> serviceOptions, int maxPageSize, AuditLog auditLog)
      Initialize server properties for the context manager.
      Overrides:
      initializeContextManager in class IntegrationContextManager
      Parameters:
      partnerOMASServerName - name of the server to connect to
      partnerOMASPlatformRootURL - the network address of the server running the OMAS REST services
      userId - caller's userId embedded in all HTTP requests
      password - caller's userId embedded in all HTTP requests
      serviceOptions - options from the integration service's configuration
      maxPageSize - maximum number of results that can be returned on a single REST call
      auditLog - logging destination
    • createClients

      public void createClients(int maxPageSize) throws InvalidParameterException
      Suggestion for subclass to create client(s) to partner OMAS.
      Overrides:
      createClients in class IntegrationContextManager
      Parameters:
      maxPageSize - maximum value allowed for page size
      Throws:
      InvalidParameterException - the subclass is not able to create one of its clients
    • setContext

      public IntegrationContext setContext(String connectorId, String connectorName, String connectorUserId, IntegrationConnector integrationConnector, String integrationConnectorGUID, PermittedSynchronization permittedSynchronization, boolean generateIntegrationReport, String metadataSourceQualifiedName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Set up the context in the supplied connector. This is called between initialize() and start() on the connector.
      Overrides:
      setContext in class IntegrationContextManager
      Parameters:
      connectorId - unique identifier of the connector (used to configure the event listener)
      connectorName - name of connector from config
      connectorUserId - userId for the connector
      integrationConnector - connector created from connection integration service configuration
      integrationConnectorGUID - unique identifier of the integration connector entity (only set if working with integration groups)
      permittedSynchronization - controls the direction(s) that metadata is allowed to flow
      generateIntegrationReport - 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 type
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • registerListener

      public void registerListener(OpenLineageEventListener listener)
      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 Lineage Integrator OMIS.
      Specified by:
      registerListener in interface OpenLineageListenerManager
      Parameters:
      listener - listener to call
    • publishOpenLineageRunEvent

      public void publishOpenLineageRunEvent(String rawEvent)
      Pass the incoming openLineage event to all connectors that are listening.
      Specified by:
      publishOpenLineageRunEvent in interface OpenLineageListenerManager
      Parameters:
      rawEvent - JSON payload containing the open lineage event
    • publishOpenLineageRunEvent

      public void publishOpenLineageRunEvent(OpenLineageRunEvent event)
      Pass the incoming openLineage event to all connectors that are listening.
      Specified by:
      publishOpenLineageRunEvent in interface OpenLineageListenerManager
      Parameters:
      event - JSON payload containing the open lineage event