Class FileBasedBitolStoreConnector

All Implemented Interfaces:
AuditLoggingComponent, SecureConnectorExtension, VirtualConnectorExtension, BitolDocumentListener, IntegrationConnector

public class FileBasedBitolStoreConnector extends IntegrationConnectorBase implements BitolDocumentListener
FileBasedBitolStoreConnector stores the Bitol documents (Open Data Contract Standard data contracts and Open Data Product Standard data products) published in the integration daemon to the file system. Each document is written to {directory}/{kind}/{id}/{version}.yaml (or .json if the document arrived as JSON) so the store can be committed to a git repository as-is. The directories to write to come from the connection's endpoint and from catalog targets that are Endpoints, Connections or FileFolder assets.
  • Constructor Details

    • FileBasedBitolStoreConnector

      public FileBasedBitolStoreConnector()
      Default constructor
  • Method Details

    • start

      Indicates that the connector is completely configured and can begin processing. This picks up the optional directory named in the connection's endpoint and registers the listener.
      Specified by:
      start in interface IntegrationConnector
      Overrides:
      start in class IntegrationConnectorBase
      Throws:
      ConnectorCheckedException - there is a problem within the connector.
      UserNotAuthorizedException - the connector was disconnected before/during start
    • refresh

      public void refresh() throws ConnectorCheckedException
      Requests that the connector does a comparison of the metadata in the third party technology and open metadata repositories. This connector uses the refresh to pick up any new destination directories from its catalog targets.
      Specified by:
      refresh in interface IntegrationConnector
      Throws:
      ConnectorCheckedException - there is a problem with the connector. It is not able to refresh the metadata.
    • processDataContract

      public void processDataContract(DataContract dataContract, String rawDocument)
      Store a data contract in each destination directory.
      Specified by:
      processDataContract in interface BitolDocumentListener
      Parameters:
      dataContract - parsed document (null if the raw document could not be parsed into the bean)
      rawDocument - the document as received (YAML or JSON)
    • processDataProduct

      public void processDataProduct(DataProduct dataProduct, String rawDocument)
      Store a data product in each destination directory.
      Specified by:
      processDataProduct in interface BitolDocumentListener
      Parameters:
      dataProduct - parsed document (null if the raw document could not be parsed into the bean)
      rawDocument - the document as received (YAML or JSON)