Class ContentPackBaseArchiveWriter

Direct Known Subclasses:
ApacheAtlasPackArchiveWriter, ApacheKafkaPackArchiveWriter, APIPackArchiveWriter, CorePackArchiveWriter, NannyPackArchiveWriter, PostgresPackArchiveWriter, UnityCatalogPackArchiveWriter

public abstract class ContentPackBaseArchiveWriter extends EgeriaBaseArchiveWriter
CorePackArchiveWriter creates an open metadata archive that includes the connector type information for all open connectors supplied by the egeria project.
  • Field Details

    • deployedImplementationTypeQNAMEs

      protected final Map<String,String> deployedImplementationTypeQNAMEs
  • Constructor Details

    • ContentPackBaseArchiveWriter

      public ContentPackBaseArchiveWriter(String archiveGUID, String archiveName, String archiveDescription, String archiveFileName, OpenMetadataArchive[] additionalDependencies)
      Constructor for an archive.
      Parameters:
      archiveGUID - unique identifier of the archive
      archiveName - name of the archive
      archiveDescription - description of archive
      archiveFileName - name of file to write archive to
      additionalDependencies - archive that this archive is dependent on
  • Method Details

    • createDataFileCatalogTemplate

      protected void createDataFileCatalogTemplate(DeployedImplementationType deployedImplementationType, String connectorTypeGUID, Map<String,Object> configurationProperties)
      Create a template for a data file and link it to the associated open metadata type. The template consists of a DataFile asset plus an optional connection, linked to the supplied connector type and an endpoint,
      Parameters:
      connectorTypeGUID - connector type to link to the connection
      deployedImplementationType - deployed implementation type to link the template to
      configurationProperties - configuration properties
    • createFolderCatalogTemplate

      protected void createFolderCatalogTemplate(DeployedImplementationType deployedImplementationType, String connectorTypeGUID)
      Create a template for a file directory and link it to the associated open metadata type. The template consists of a DataFile asset plus an optional connection, linked to the supplied connector type and an endpoint,
      Parameters:
      deployedImplementationType - info for the template
      connectorTypeGUID - connector type to link to the connection
    • createDataSetCatalogTemplate

      protected void createDataSetCatalogTemplate(DeployedImplementationType deployedImplementationType, String qualifiedName, String connectorTypeGUID)
      Create a template for a dataset and link it to the associated open metadata type. The template consists of a DataFile asset plus an optional connection, linked to the supplied connector type and an endpoint,
      Parameters:
      deployedImplementationType - values for the template
      connectorTypeGUID - connector type to link to the connection
    • createSoftwareFileCatalogTemplate

      protected void createSoftwareFileCatalogTemplate(DeployedImplementationType deployedImplementationType, String connectorTypeGUID)
      Create a template for a software file and link it to the associated open metadata type. The template consists of a DataFile asset plus an optional connection, linked to the supplied connector type and an endpoint,
      Parameters:
      deployedImplementationType - description for the template
      connectorTypeGUID - connector type to link to the connection
    • addSoftwareServerCatalogTemplates

      protected void addSoftwareServerCatalogTemplates(ContentPackDefinition contentPackDefinition)
      Loop through the server template definitions creating the specified templates.
      Parameters:
      contentPackDefinition - which content pack are these templates for?
    • addDataAssetCatalogTemplates

      protected void addDataAssetCatalogTemplates(ContentPackDefinition contentPackDefinition)
      Loop through the server template definitions creating the specified templates.
      Parameters:
      contentPackDefinition - which content pack are these templates for?
    • createSoftwareServerCatalogTemplate

      protected void createSoftwareServerCatalogTemplate(String guid, String qualifiedName, String templateName, String templateDescription, String templateVersion, DeployedImplementationTypeDefinition deployedImplementationType, DeployedImplementationTypeDefinition softwareCapabilityType, String softwareCapabilityName, String serverName, String description, String userId, String connectorTypeGUID, String networkAddress, Map<String,Object> configurationProperties, String secretsStorePurpose, String secretsStoreConnectorTypeGUID, String secretsStoreFileName, List<ReplacementAttributeType> replacementAttributeTypes, List<PlaceholderPropertyType> placeholderPropertyTypes)
      Create a template for a software server and link it to the associated deployed implementation type. The template consists of a SoftwareServer asset linked to a software capability, plus a connection, linked to the supplied connector type and an endpoint,
      Parameters:
      guid - fixed unique identifier
      qualifiedName - unique name for the template
      templateName - name of template in Template classification
      templateDescription - description of the template in the Template classification
      templateVersion - version of the template in the Template classification
      deployedImplementationType - deployed implementation type for the technology
      softwareCapabilityType - type of the associated capability
      softwareCapabilityName - name for the associated capability
      serverName - name for the server
      description - description for the server
      userId - userId for the connection
      connectorTypeGUID - connector type to link to the connection
      networkAddress - network address for the endpoint
      configurationProperties - additional properties for the connection
      secretsStorePurpose - purpose for the secrets store
      secretsStoreConnectorTypeGUID - optional name for the secrets store connector provider to include in the template
      secretsStoreFileName - location of the secrets store
      replacementAttributeTypes - attributes that should have a replacement value to successfully use the template
      placeholderPropertyTypes - placeholder variables used in the supplied parameters
    • createEndpointCatalogTemplate

      protected void createEndpointCatalogTemplate(String guid, String templateName, String templateDescription, String templateVersion, DeployedImplementationTypeDefinition deployedImplementationType, String serverName, String description, String networkAddress, String protocol, List<PlaceholderPropertyType> placeholderPropertyTypes)
      Create a template for a software server and link it to the associated deployed implementation type. The template consists of a SoftwareServer asset linked to a software capability, plus a connection, linked to the supplied connector type and an endpoint,
      Parameters:
      guid - fixed unique identifier
      templateName - name of template in Template classification
      templateDescription - description of the template in the Template classification
      templateVersion - version of the template in the Template classification
      serverName - name for the server
      description - description for the server
      networkAddress - network address for the endpoint
      protocol - communication protocol for the endpoint
      placeholderPropertyTypes - placeholder variables used in the supplied parameters
    • createHostCatalogTemplate

      protected void createHostCatalogTemplate(String guid, DeployedImplementationType deployedImplementationType, DeployedImplementationType softwareCapabilityType, String softwareCapabilityName, Classification softwareCapabilityClassification)
      Create a template for a host and link it to the associated deployed implementation type. The template consists of a SoftwareServer asset linked to a software capability, plus a connection, linked to the supplied connector type and an endpoint,
      Parameters:
      guid - fixed unique identifier
      deployedImplementationType - deployed implementation type for the technology
      softwareCapabilityType - type of the associated capability
      softwareCapabilityName - name for the associated capability
      softwareCapabilityClassification - classification for the software capability (or null)
    • createSoftwareCapabilityCatalogTemplate

      protected void createSoftwareCapabilityCatalogTemplate(String guid, DeployedImplementationType deployedImplementationType, String serverQualifiedName, String softwareCapabilityName, String softwareCapabilityDescription, Classification softwareCapabilityClassification, List<ReplacementAttributeType> replacementAttributeTypes, List<PlaceholderPropertyType> placeholderPropertyTypes)
      Create a template for a software server and link it to the associated deployed implementation type. The template consists of a SoftwareServer asset linked to a software capability, plus a connection, linked to the supplied connector type and an endpoint,
      Parameters:
      guid - fixed guid for this template
      deployedImplementationType - deployed implementation type for the technology
      serverQualifiedName - qualified name of the owning server
      softwareCapabilityName - name for the associated capability
      softwareCapabilityDescription - description for the software capability
      softwareCapabilityClassification - optional classification for the associated capability
      replacementAttributeTypes - attributes that should have a replacement value to successfully use the template
      placeholderPropertyTypes - placeholder variables used in the supplied parameters
    • createDataAssetCatalogTemplate

      protected void createDataAssetCatalogTemplate(String guid, DeployedImplementationTypeDefinition deployedImplementationType, String assetName, String assetDescription, String serverName, String userId, String password, String connectorTypeGUID, String networkAddress, Map<String,Object> configurationProperties, String secretsStorePurpose, String secretsStoreConnectorTypeGUID, String secretsStoreFileName, List<ReplacementAttributeType> replacementAttributeTypes, List<PlaceholderPropertyType> placeholderPropertyTypes)
      Create a template for a type of asset and link it to the associated deployed implementation type. The template consists of an asset linked to a connection, that is in turn linked to the supplied connector type and an endpoint, along with a nested secrets store
      Parameters:
      guid - fixed unique identifier
      deployedImplementationType - deployed implementation type for the technology
      assetName - name for the asset
      assetDescription - description
      serverName - optional server name
      userId - userId for the connection
      password - password for the connection
      connectorTypeGUID - connector type to link to the connection
      networkAddress - network address for the endpoint
      configurationProperties - additional properties for the connection
      secretsStorePurpose - purpose for the secrets store
      secretsStoreConnectorTypeGUID - optional name for the secrets store connector provider to include in the template
      secretsStoreFileName - location of the secrets store
      replacementAttributeTypes - attributes that should have a replacement value to successfully use the template
      placeholderPropertyTypes - placeholder variables used in the supplied parameters
    • createDataAssetCatalogTemplate

      protected void createDataAssetCatalogTemplate(String guid, DeployedImplementationTypeDefinition deployedImplementationType, String assetName, String assetDescription, String serverName, String userId, String password, String connectorTypeGUID, String networkAddress, Map<String,Object> configurationProperties, List<ReplacementAttributeType> replacementAttributeTypes, List<PlaceholderPropertyType> placeholderPropertyTypes)
      Create a template for a type of asset and link it to the associated deployed implementation type. The template consists of an asset linked to a connection, that is in turn linked to the supplied connector type and an endpoint,
      Parameters:
      guid - fixed unique identifier
      deployedImplementationType - deployed implementation type for the technology
      assetName - name for the asset
      assetDescription - description
      serverName - optional server name
      userId - userId for the connection
      password - password for the connection
      connectorTypeGUID - connector type to link to the connection
      networkAddress - network address for the endpoint
      configurationProperties - additional properties for the connection
      replacementAttributeTypes - attributes that should have a replacement value to successfully use the template
      placeholderPropertyTypes - placeholder variables used in the supplied parameters
    • addDeployedImplementationType

      protected String addDeployedImplementationType(String deployedImplementationType, String associatedTypeName, String qualifiedName, String category, String description, String wikiLink, DeployedImplementationTypeDefinition isATypeOf)
      Add a new valid values record for a deployed implementation type.
      Parameters:
      deployedImplementationType - preferred value
      associatedTypeName - specific type name to tie it to (maybe null)
      qualifiedName - qualifiedName for this value
      category - category for this value
      description - description of this value
      wikiLink - optional URL link to more information
      isATypeOf - superType
      Returns:
      unique identifier of the deployedImplementationType
    • getParentSet

      protected String getParentSet(String requestedGUID, String typeName, String propertyName, String mapName)
      Find or create the parent set for a valid value.
      Parameters:
      requestedGUID - optional guid for the valid value
      typeName - name of the type (can be null)
      propertyName - name of the property (can be null)
      mapName - name of the mapName (can be null)
      Returns:
      unique identifier (guid) of the parent set
    • addIntegrationGroups

      protected void addIntegrationGroups(ContentPackDefinition contentPackDefinition)
      Loop through the integration group definitions creating the specified definitions for the names content pack.
      Parameters:
      contentPackDefinition - which content pack are these templates for?
    • addIntegrationConnectors

      protected void addIntegrationConnectors(ContentPackDefinition contentPackDefinition, IntegrationGroupDefinition integrationGroupDefinition)
      Add the integration connectors for the content pack.
      Parameters:
      contentPackDefinition - content pack being processed
      integrationGroupDefinition - integration group
    • createGovernanceEngines

      protected void createGovernanceEngines(ContentPackDefinition contentPackDefinition)
      Create the default governance engines
      Parameters:
      contentPackDefinition - content pack being processed
    • createGovernanceServices

      protected void createGovernanceServices(ContentPackDefinition contentPackDefinition)
      Register the governance services that are going to be in the default governance engines.
      Parameters:
      contentPackDefinition - content pack being processed
    • createRequestTypes

      protected void createRequestTypes(ContentPackDefinition contentPackDefinition)
      Add the request types.
      Parameters:
      contentPackDefinition - content pack to fill
    • addRequestType

      protected void addRequestType(String governanceEngineGUID, String governanceEngineName, String governanceEngineTypeName, String governanceRequestType, String serviceRequestType, Map<String,String> requestParameters, List<NewActionTarget> actionTargets, GovernanceActionDescription governanceActionDescription, String governanceActionTypeGUID, String supportedElementQualifiedName)
      Add details of a request type to the engine.
      Parameters:
      governanceEngineGUID - unique identifier of the engine
      governanceEngineName - name of the governance engine
      governanceEngineTypeName - type of engine
      governanceRequestType - name of request type
      serviceRequestType - internal name of the request type
      requestParameters - any request parameters
      actionTargets - action targets
      governanceActionDescription - description of the governance action if and
      governanceActionTypeGUID - unique identifier of the associated governance action type
      supportedElementQualifiedName - element to link the governance action type to
    • addGovernanceActionType

      protected void addGovernanceActionType(String governanceEngineGUID, String governanceEngineName, String governanceEngineTypeName, String governanceRequestType, Map<String,String> requestParameters, List<NewActionTarget> actionTargets, GovernanceActionDescription governanceActionDescription, String governanceActionTypeGUID, String supportedElementQualifiedName)
      Add details of a request type to the engine.
      Parameters:
      governanceEngineGUID - unique identifier of the engine
      governanceEngineName - name of the governance engine
      governanceEngineTypeName - type of engine
      governanceRequestType - name of request type
      requestParameters - any request parameters
      actionTargets - action targets
      governanceActionDescription - description of the governance action if any
      governanceActionTypeGUID - unique identifier of the associated governance action type
      supportedElementQualifiedName - element to link the governance action type to
    • createAndSurveyServerGovernanceActionProcess

      protected void createAndSurveyServerGovernanceActionProcess(String assetType, String technologyType, RequestTypeDefinition createRequestType, GovernanceEngineDefinition createEngineDefinition, RequestTypeDefinition surveyRequestType, GovernanceEngineDefinition surveyEngineDefinition, String supportedElementQualifiedName)
      Create a three-step governance action process that creates a metadata element for a particular type of asset and then runs a survey against the asset's resource and creates a report.
      Parameters:
      assetType - name for the asset type (no spaces)
      technologyType - value for deployed implementation type
      createRequestType - request type used to create the server's metadata element
      createEngineDefinition - engine to call for the create operation
      surveyRequestType - request type to run the survey
      surveyEngineDefinition - survey engine
      supportedElementQualifiedName - qualified name of the element that this should be listed as a resource
    • createAndCatalogServerGovernanceActionProcess

      protected void createAndCatalogServerGovernanceActionProcess(String serverType, String technologyType, RequestTypeDefinition createRequestType, GovernanceEngineDefinition createEngineDefinition, RequestTypeDefinition catalogRequestType, GovernanceEngineDefinition catalogEngineDefinition, String supportedElementQualifiedName)
      Create a two-step governance action process that creates a metadata element for a particular type of server and then adds it as a catalog target for an appropriate integration connector.
      Parameters:
      serverType - name for the server type (no spaces)
      technologyType - value for deployed implementation type
      createRequestType - request type used to create the server's metadata element
      createEngineDefinition - governance action engine
      catalogRequestType - request type to run the survey
      catalogEngineDefinition - governance action engine
      supportedElementQualifiedName - qualified name of the element that this should be listed as a resource
    • createAndCatalogAssetGovernanceActionProcess

      protected void createAndCatalogAssetGovernanceActionProcess(String assetType, String openMetadataType, String technologyType, RequestTypeDefinition createRequestType, GovernanceEngineDefinition createEngineDefinition, RequestTypeDefinition catalogRequestType, GovernanceEngineDefinition catalogEngineDefinition, String supportedElementQualifiedName)
      Create a two-step governance action process that creates a metadata element for a particular type of asset and then adds it as a catalog target for an appropriate integration connector.
      Parameters:
      assetType - name for the asset type (no spaces)
      openMetadataType - open metadata type name for the created asset
      technologyType - value for deployed implementation type
      createRequestType - request type used to create the server's metadata element
      createEngineDefinition - governance action engine
      catalogRequestType - request type to run the survey
      catalogEngineDefinition - governance action engine
      supportedElementQualifiedName - qualified name of the element that this should be listed as a resource
    • createAndHarvestToAssetGovernanceActionProcess

      protected void createAndHarvestToAssetGovernanceActionProcess(String assetType, String openMetadataType, String technologyType, RequestTypeDefinition createRequestType, GovernanceEngineDefinition createEngineDefinition, RequestTypeDefinition catalogRequestType, GovernanceEngineDefinition catalogEngineDefinition, String supportedElementQualifiedName)
      Create a two-step governance action process that creates a metadata element for a particular type of asset and then adds it as a catalog target for an appropriate integration connector.
      Parameters:
      assetType - name for the asset type (no spaces)
      openMetadataType - open metadata type name for the created asset
      technologyType - value for deployed implementation type
      createRequestType - request type used to create the server's metadata element
      createEngineDefinition - governance action engine
      catalogRequestType - request type to run the survey
      catalogEngineDefinition - governance action engine
      supportedElementQualifiedName - qualified name of the element that this should be listed as a resource
    • createAsCatalogTargetGovernanceActionProcess

      protected void createAsCatalogTargetGovernanceActionProcess(String assetType, String openMetadataType, String technologyType, String actionName, RequestTypeDefinition createRequestType, GovernanceEngineDefinition createEngineDefinition, RequestTypeDefinition catalogRequestType, GovernanceEngineDefinition catalogEngineDefinition, String supportedElementQualifiedName)
      Create a two-step governance action process that creates a metadata element for a particular type of asset and then adds it as a catalog target for an appropriate integration connector.
      Parameters:
      assetType - name for the server type (no spaces)
      technologyType - value for deployed implementation type
      createRequestType - request type used to create the server's metadata element
      createEngineDefinition - governance action engine
      catalogRequestType - request type to run the survey
      catalogEngineDefinition - governance action engine
      supportedElementQualifiedName - qualified name of the element that this should be listed as a resource
    • deleteAsCatalogTargetGovernanceActionProcess

      protected void deleteAsCatalogTargetGovernanceActionProcess(String assetType, String openMetadataType, String technologyType, RequestTypeDefinition deleteRequestType, GovernanceEngineDefinition deleteEngineDefinition, String supportedElementQualifiedName)
      Create a one-step governance action process that deletes a metadata element for a particular type of asset which then removes it, any anchored content and relationships - like the catalog target for an appropriate integration connector.
      Parameters:
      assetType - name for the server type (no spaces)
      technologyType - value for deployed implementation type
      deleteRequestType - request type used to delete the server's metadata element
      deleteEngineDefinition - governance action engine
      supportedElementQualifiedName - qualified name of the element that this should be listed as a resource
    • addStepExecutor

      protected void addStepExecutor(String stepGUID, RequestTypeDefinition requestTypeDefinition, GovernanceEngineDefinition governanceEngineDefinition)
      Create the executor relationships and attach the action targets to the step.
      Parameters:
      stepGUID - unique identifier of the governance action process step
      requestTypeDefinition - the request type being configured
      governanceEngineDefinition - the engine to connect it to
    • writeOpenMetadataArchive

      public void writeOpenMetadataArchive()
      Generates and writes out an open metadata archive containing all the connector types describing the Egeria project open connectors.
      Overrides:
      writeOpenMetadataArchive in class EgeriaBaseArchiveWriter