Class ConnectorTypeHandler<B>


public class ConnectorTypeHandler<B> extends ReferenceableHandler<B>
ConnectorTypeHandler manages ConnectorType objects. These describe the information necessary to construct a connector. They are used by connection objects to describe the connector provider for the connector. ConnectorTypeHandler runs server-side in the OMAG Server Platform and retrieves ConnectorType entities through the OMRSRepositoryConnector via the generic handler and repository handler.
  • Constructor Details

    • ConnectorTypeHandler

      public ConnectorTypeHandler(OpenMetadataAPIGenericConverter<B> converter, Class<B> beanClass, String serviceName, String serverName, InvalidParameterHandler invalidParameterHandler, RepositoryHandler repositoryHandler, OMRSRepositoryHelper repositoryHelper, String localServerUserId, OpenMetadataServerSecurityVerifier securityVerifier, List<String> supportedZones, List<String> defaultZones, List<String> publishZones, AuditLog auditLog)
      Construct the handler information needed to interact with the repository services
      Parameters:
      converter - specific converter for this bean class
      beanClass - name of bean class that is represented by the generic class B
      serviceName - name of this service
      serverName - name of the local server
      invalidParameterHandler - handler for managing parameter errors
      repositoryHandler - manages calls to the repository services
      repositoryHelper - provides utilities for manipulating the repository services objects
      localServerUserId - userId for this server
      securityVerifier - open metadata security services verifier
      supportedZones - list of zones that the access service is allowed to serve Asset instances from.
      defaultZones - list of zones that the access service should set in all new Asset instances.
      publishZones - list of zones that the access service sets up in published Asset instances.
      auditLog - destination for audit log events.
  • Method Details

    • createConnectorType

      public String createConnectorType(String userId, String externalSourceGUID, String externalSourceName, String anchorGUID, String qualifiedName, String displayName, String description, String supportedAssetTypeName, String expectedDataFormat, String connectorProviderClassName, String connectorFrameworkName, String connectorInterfaceLanguage, List<String> connectorInterfaces, String targetTechnologySource, String targetTechnologyName, List<String> targetTechnologyInterfaces, List<String> targetTechnologyVersions, List<String> recognizedAdditionalProperties, List<String> recognizedSecuredProperties, List<String> recognizedConfigurationProperties, Map<String,String> additionalProperties, String suppliedTypeName, Map<String,Object> extendedProperties, Date effectiveFrom, Date effectiveTo, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Creates a new connectorType and returns the unique identifier for it.
      Parameters:
      userId - userId of user making request
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      anchorGUID - unique identifier of the anchor entity (or null if freestanding)
      qualifiedName - unique name of the connectorType
      displayName - human memorable name for the connectorType - does not need to be unique
      description - (optional) description of the connectorType. Setting a description, particularly in a public connectorType makes the connectorType more valuable to other users and can act as an embryonic glossary term
      supportedAssetTypeName - the type of asset that the connector implementation supports
      expectedDataFormat - the format of the data that the connector supports - null for "any"
      connectorProviderClassName - class name of the connector provider
      connectorFrameworkName - name of the connector framework that the connector implements - default Open Connector Framework (OCF)
      connectorInterfaceLanguage - the language that the connector is implemented in - default Java
      connectorInterfaces - list of interfaces that the connector supports
      targetTechnologySource - the organization that supplies the target technology that the connector implementation connects to
      targetTechnologyName - the name of the target technology that the connector implementation connects to
      targetTechnologyInterfaces - the names of the interfaces in the target technology that the connector calls
      targetTechnologyVersions - the versions of the target technology that the connector supports
      recognizedAdditionalProperties - property name for additionalProperties in a linked Connection object.
      recognizedSecuredProperties - property name for securedProperties in a linked Connection object.
      recognizedConfigurationProperties - property name for configurationProperties in a linked Connection object.
      additionalProperties - name value pairs for values that are not formally defined in the type system
      suppliedTypeName - name of the subtype for the endpoint or null for standard type
      extendedProperties - any properties for a subtype
      effectiveFrom - the date when this element is active - null for active now
      effectiveTo - the date when this element becomes inactive - null for active until deleted
      effectiveTime - the time that the retrieved elements must be effective for
      methodName - calling method
      Returns:
      GUID for new connectorType
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem adding the connectorType properties to the property server.
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • createConnectorTypeFromTemplate

      public String createConnectorTypeFromTemplate(String userId, String externalSourceGUID, String externalSourceName, String templateGUID, String qualifiedName, String displayName, String description, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a connection using an existing metadata element as a template. The template defines additional classifications and relationships that should be added to the new element.
      Parameters:
      userId - calling user
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      templateGUID - unique identifier of the metadata element to copy
      qualifiedName - unique name for the element - used in other configuration
      displayName - short display name for the new element
      description - description of the new element
      methodName - calling method
      Returns:
      unique identifier of the new metadata element
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • getConnectorTypeForAsset

      public String getConnectorTypeForAsset(String userId, String supportedAssetTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Retrieves the connector type for the named asset type and if found, returns its unique identifier.
      Parameters:
      userId - userId of user making request
      supportedAssetTypeName - the type of asset that the connector implementation supports
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for
      methodName - calling method
      Returns:
      GUID for new connectorType
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem adding the connectorType properties to the property server.
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getConnectorTypeForConnection

      public String getConnectorTypeForConnection(String userId, String externalSourceGUID, String externalSourceName, String anchorGUID, String qualifiedName, String displayName, String description, String supportedAssetTypeName, String expectedDataFormat, String connectorProviderClassName, String connectorFrameworkName, String connectorInterfaceLanguage, List<String> connectorInterfaces, String targetTechnologySource, String targetTechnologyName, List<String> targetTechnologyInterfaces, List<String> targetTechnologyVersions, List<String> recognizedAdditionalProperties, List<String> recognizedSecuredProperties, List<String> recognizedConfigurationProperties, Map<String,String> additionalProperties, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Retrieves the connector type for the qualified name and if found, returns its unique identifier. Otherwise, it creates a new connectorType and returns the unique identifier for it.
      Parameters:
      userId - userId of user making request
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      anchorGUID - unique identifier for the anchor of this connector type (or null if freestanding)
      qualifiedName - unique name of the connectorType
      displayName - human memorable name for the connectorType - does not need to be unique
      description - (optional) description of the connectorType. Setting a description, particularly in a public connectorType makes the connectorType more valuable to other users and can act as an embryonic glossary term
      supportedAssetTypeName - the type of asset that the connector implementation supports
      expectedDataFormat - the format of the data that the connector supports - null for "any"
      connectorProviderClassName - class name of the connector provider
      connectorFrameworkName - name of the connector framework that the connector implements - default Open Connector Framework (OCF)
      connectorInterfaceLanguage - the language that the connector is implemented in - default Java
      connectorInterfaces - list of interfaces that the connector supports
      targetTechnologySource - the organization that supplies the target technology that the connector implementation connects to
      targetTechnologyName - the name of the target technology that the connector implementation connects to
      targetTechnologyInterfaces - the names of the interfaces in the target technology that the connector calls
      targetTechnologyVersions - the versions of the target technology that the connector supports
      recognizedAdditionalProperties - property name for additionalProperties in a linked Connection object.
      recognizedSecuredProperties - property name for securedProperties in a linked Connection object.
      recognizedConfigurationProperties - property name for configurationProperties in a linked Connection object.
      additionalProperties - name value pairs for values that are not formally defined in the type system
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for
      methodName - calling method
      Returns:
      GUID for new connectorType
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem adding the connectorType properties to the property server.
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • updateConnectorType

      public void updateConnectorType(String userId, String externalSourceGUID, String externalSourceName, String connectorTypeGUID, String connectorTypeGUIDParameterName, String qualifiedName, String displayName, String description, String supportedAssetTypeName, String expectedDataFormat, String connectorProviderClassName, String connectorFrameworkName, String connectorInterfaceLanguage, List<String> connectorInterfaces, String targetTechnologySource, String targetTechnologyName, List<String> targetTechnologyInterfaces, List<String> targetTechnologyVersions, List<String> recognizedAdditionalProperties, List<String> recognizedSecuredProperties, List<String> recognizedConfigurationProperties, Map<String,String> additionalProperties, String suppliedTypeName, Map<String,Object> extendedProperties, Date effectiveFrom, Date effectiveTo, boolean isMergeUpdate, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Updates the properties of an existing connectorType.
      Parameters:
      userId - userId of user making request.
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      connectorTypeGUID - unique identifier for the connectorType
      connectorTypeGUIDParameterName - parameter providing connectorTypeGUID
      qualifiedName - unique name of the connectorType
      displayName - human memorable name for the connectorType - does not need to be unique
      description - (optional) description of the connectorType. Setting a description, particularly in a public connectorType makes the connectorType more valuable to other users and can act as an embryonic glossary term
      supportedAssetTypeName - the type of asset that the connector implementation supports
      expectedDataFormat - the format of the data that the connector supports - null for "any"
      connectorProviderClassName - class name of the connector provider
      connectorFrameworkName - name of the connector framework that the connector implements - default Open Connector Framework (OCF)
      connectorInterfaceLanguage - the language that the connector is implemented in - default Java
      connectorInterfaces - list of interfaces that the connector supports
      targetTechnologySource - the organization that supplies the target technology that the connector implementation connects to
      targetTechnologyName - the name of the target technology that the connector implementation connects to
      targetTechnologyInterfaces - the names of the interfaces in the target technology that the connector calls
      targetTechnologyVersions - the versions of the target technology that the connector supports
      recognizedAdditionalProperties - property name for additionalProperties in a linked Connection object.
      recognizedSecuredProperties - property name for securedProperties in a linked Connection object.
      recognizedConfigurationProperties - property name for configurationProperties in a linked Connection object.
      additionalProperties - name value pairs for values that are not formally defined in the type system
      suppliedTypeName - name of the subtype for the endpoint or null for standard type
      extendedProperties - any properties for a subtype
      effectiveFrom - the date when this element is active - null for active now
      effectiveTo - the date when this element becomes inactive - null for active until deleted
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is null or invalid.
      PropertyServerException - there is a problem adding the connectorType properties to the property server.
      UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • removeConnectorType

      public void removeConnectorType(String userId, String externalSourceGUID, String externalSourceName, String guid, String guidParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the metadata element. This will delete all elements anchored to it.
      Parameters:
      userId - calling user
      externalSourceGUID - guid of the software capability entity that represented the external source - null for local
      externalSourceName - name of the software capability entity that represented the external source
      guid - unique identifier of the metadata element to remove
      guidParameterName - parameter supplying the guid
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for
      methodName - calling method
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • findConnectorTypes

      public List<B> findConnectorTypes(String userId, String searchString, String searchStringParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of metadata elements that contain the search string. The search string is treated as a regular expression.
      Parameters:
      userId - calling user
      searchString - string to find in the properties
      searchStringParameterName - name of parameter supplying the search string
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for
      methodName - calling method
      Returns:
      list of matching metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • getConnectorTypesByName

      public List<B> getConnectorTypesByName(String userId, String name, String nameParameterName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of metadata elements with a matching qualified name, display name or connector provider class name. There are no wildcards supported on this request.
      Parameters:
      userId - calling user
      name - name to search for
      nameParameterName - parameter supplying name
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for
      methodName - calling method
      Returns:
      list of matching metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • getConnectorTypeByGUID

      public B getConnectorTypeByGUID(String userId, String guid, String guidParameterName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime, String methodName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the metadata element with the supplied unique identifier.
      Parameters:
      userId - calling user
      guid - unique identifier of the requested metadata element
      guidParameterName - parameter name of guid
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for
      methodName - calling method
      Returns:
      matching metadata element
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)