All Implemented Interfaces:
SchemaExchangeInterface, ExternalIdentifierManagerInterface
Direct Known Subclasses:
DataAssetExchangeClient, LineageExchangeClient

public class SchemaExchangeClientBase extends ExchangeClientBase implements SchemaExchangeInterface
ExchangeClientBase provides the base class for the clients that implement SchemaExchangeInterface
  • Constructor Details

    • SchemaExchangeClientBase

      public SchemaExchangeClientBase(String serverName, String serverPlatformURLRoot, AuditLog auditLog, int maxPageSize) throws InvalidParameterException
      Create a new client with no authentication embedded in the HTTP request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      auditLog - logging destination
      maxPageSize - maximum value allowed for page size
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • SchemaExchangeClientBase

      public SchemaExchangeClientBase(String serverName, String serverPlatformURLRoot, int maxPageSize) throws InvalidParameterException
      Create a new client with no authentication embedded in the HTTP request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      maxPageSize - maximum value allowed for page size
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • SchemaExchangeClientBase

      public SchemaExchangeClientBase(String serverName, String serverPlatformURLRoot, String userId, String password, AuditLog auditLog, int maxPageSize) throws InvalidParameterException
      Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - 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
      auditLog - logging destination
      maxPageSize - maximum value allowed for page size
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • SchemaExchangeClientBase

      public SchemaExchangeClientBase(String serverName, String serverPlatformURLRoot, AssetManagerRESTClient restClient, int maxPageSize, AuditLog auditLog) throws InvalidParameterException
      Create a new client that is going to be used in an OMAG Server.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      restClient - client that issues the REST API calls
      maxPageSize - maximum number of results supported by this server
      auditLog - logging destination
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • SchemaExchangeClientBase

      public SchemaExchangeClientBase(String serverName, String serverPlatformURLRoot, String userId, String password, int maxPageSize) throws InvalidParameterException
      Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - 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
      maxPageSize - maximum value allowed for page size
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
  • Method Details

    • createSchemaType

      public String createSchemaType(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, ExternalIdentifierProperties externalIdentifierProperties, boolean forLineage, boolean forDuplicateProcessing, SchemaTypeProperties schemaTypeProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a schema type.
      Specified by:
      createSchemaType in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the asset manager can update this schema element
      externalIdentifierProperties - optional properties used to define an external identifier
      schemaTypeProperties - properties about the schema type to store
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier of the new schema type
      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)
    • createAnchoredSchemaType

      public String createAnchoredSchemaType(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String anchorGUID, ExternalIdentifierProperties externalIdentifierProperties, boolean forLineage, boolean forDuplicateProcessing, SchemaTypeProperties schemaTypeProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a schema type.
      Specified by:
      createAnchoredSchemaType in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the asset manager can update this schema element
      anchorGUID - unique identifier of the intended anchor of the schema type
      externalIdentifierProperties - optional properties used to define an external identifier
      schemaTypeProperties - properties about the schema type to store
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier of the new schema type
      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)
    • createSchemaTypeFromTemplate

      public String createSchemaTypeFromTemplate(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String templateGUID, ExternalIdentifierProperties externalIdentifierProperties, TemplateProperties templateProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a schema type using an existing metadata element as a template.
      Specified by:
      createSchemaTypeFromTemplate in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the asset manager can update this schema element
      templateGUID - unique identifier of the metadata element to copy
      externalIdentifierProperties - optional properties used to define an external identifier
      templateProperties - properties that override the template
      Returns:
      unique identifier of the new schema type
      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)
    • updateSchemaType

      public void updateSchemaType(String userId, String assetManagerGUID, String assetManagerName, String schemaTypeGUID, String schemaTypeExternalIdentifier, boolean isMergeUpdate, SchemaTypeProperties schemaTypeProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the metadata element representing a schema type.
      Specified by:
      updateSchemaType in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      schemaTypeGUID - unique identifier of the metadata element to update
      schemaTypeExternalIdentifier - unique identifier of the schema type in the external asset manager
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      schemaTypeProperties - new properties for the 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)
    • setupSchemaTypeParent

      public void setupSchemaTypeParent(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String schemaTypeGUID, String parentElementGUID, String parentElementTypeName, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing, RelationshipProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Connect a schema type to a data asset, process or port.
      Specified by:
      setupSchemaTypeParent in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the asset manager can update this relationship
      schemaTypeGUID - unique identifier of the schema type to connect
      parentElementGUID - unique identifier of the open metadata element that this schema type is to be connected to
      parentElementTypeName - unique type name of the open metadata element that this schema type is to be connected to
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      properties - properties for the relationship
      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)
    • clearSchemaTypeParent

      public void clearSchemaTypeParent(String userId, String assetManagerGUID, String assetManagerName, String schemaTypeGUID, String parentElementGUID, String parentElementTypeName, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the relationship between a schema type and its parent data asset, process or port.
      Specified by:
      clearSchemaTypeParent in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      schemaTypeGUID - unique identifier of the schema type to connect
      parentElementGUID - unique identifier of the open metadata element that this schema type is to be connected to
      parentElementTypeName - unique type name of the open metadata element that this schema type is to be connected to
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • setupSchemaElementRelationship

      public void setupSchemaElementRelationship(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String endOneGUID, String endTwoGUID, String relationshipTypeName, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing, RelationshipProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a relationship between two schema elements. The name of the desired relationship, and any properties (including effectivity dates) are passed on the API.
      Specified by:
      setupSchemaElementRelationship in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      assetManagerIsHome - ensure that only the asset manager can update this relationship
      endOneGUID - unique identifier of the schema element at end one of the relationship
      endTwoGUID - unique identifier of the schema element at end two of the relationship
      relationshipTypeName - type of the relationship to create
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      properties - relationship properties
      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)
    • clearSchemaElementRelationship

      public void clearSchemaElementRelationship(String userId, String assetManagerGUID, String assetManagerName, String endOneGUID, String endTwoGUID, String relationshipTypeName, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove a relationship between two schema elements. The name of the desired relationship is passed on the API.
      Specified by:
      clearSchemaElementRelationship in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      endOneGUID - unique identifier of the schema element at end one of the relationship
      endTwoGUID - unique identifier of the schema element at end two of the relationship
      relationshipTypeName - type of the relationship to delete
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • removeSchemaType

      public void removeSchemaType(String userId, String assetManagerGUID, String assetManagerName, String schemaTypeGUID, String schemaTypeExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the metadata element representing a schema type.
      Specified by:
      removeSchemaType in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      schemaTypeGUID - unique identifier of the metadata element to remove
      schemaTypeExternalIdentifier - unique identifier of the schema type in the external asset manager
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • findSchemaType

      public List<SchemaTypeElement> findSchemaType(String userId, String assetManagerGUID, String assetManagerName, String searchString, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of schema type metadata elements that contain the search string. The search string is treated as a regular expression.
      Specified by:
      findSchemaType in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      searchString - string to find in the properties
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getSchemaTypeForElement

      public SchemaTypeElement getSchemaTypeForElement(String userId, String assetManagerGUID, String assetManagerName, String parentElementGUID, String parentElementTypeName, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return the schema type associated with a specific open metadata element (data asset, process or port).
      Specified by:
      getSchemaTypeForElement in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      parentElementGUID - unique identifier of the open metadata element that this schema type is to be connected to
      parentElementTypeName - unique type name of the open metadata element that this schema type is to be connected to
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      metadata element describing the schema type associated with the requested parent 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)
    • getSchemaTypeByName

      public List<SchemaTypeElement> getSchemaTypeByName(String userId, String assetManagerGUID, String assetManagerName, String name, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of schema type metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
      Specified by:
      getSchemaTypeByName in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      name - name to search for
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getSchemaTypeByGUID

      public SchemaTypeElement getSchemaTypeByGUID(String userId, String assetManagerGUID, String assetManagerName, String schemaTypeGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the schema type metadata element with the supplied unique identifier.
      Specified by:
      getSchemaTypeByGUID in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      schemaTypeGUID - unique identifier of the requested metadata element
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      requested 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)
    • getSchemaTypeParent

      public ElementHeader getSchemaTypeParent(String userId, String assetManagerGUID, String assetManagerName, String schemaTypeGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the header of the metadata element connected to a schema type.
      Specified by:
      getSchemaTypeParent in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      schemaTypeGUID - unique identifier of the requested metadata element
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      header for parent element (data asset, process, port)
      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)
    • createSchemaAttribute

      public String createSchemaAttribute(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String schemaElementGUID, ExternalIdentifierProperties externalIdentifierProperties, SchemaAttributeProperties schemaAttributeProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a schema attribute.
      Specified by:
      createSchemaAttribute in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the asset manager can update this schema attribute
      schemaElementGUID - unique identifier of the schemaType or Schema Attribute where the schema attribute is connected to
      externalIdentifierProperties - optional properties used to define an external identifier
      schemaAttributeProperties - properties for the schema attribute
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier of the new metadata element for the schema attribute
      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)
    • createSchemaAttributeFromTemplate

      public String createSchemaAttributeFromTemplate(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String schemaElementGUID, String templateGUID, ExternalIdentifierProperties externalIdentifierProperties, TemplateProperties templateProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a schema attribute using an existing metadata element as a template.
      Specified by:
      createSchemaAttributeFromTemplate in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the asset manager can update this schema attribute
      schemaElementGUID - unique identifier of the schemaType or Schema Attribute where the schema attribute is connected to
      templateGUID - unique identifier of the metadata element to copy
      externalIdentifierProperties - optional properties used to define an external identifier
      templateProperties - properties that override the template
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      unique identifier of the new metadata element for the schema attribute
      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)
    • updateSchemaAttribute

      public void updateSchemaAttribute(String userId, String assetManagerGUID, String assetManagerName, String schemaAttributeGUID, String schemaAttributeExternalIdentifier, boolean isMergeUpdate, SchemaAttributeProperties schemaAttributeProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the properties of the metadata element representing a schema attribute.
      Specified by:
      updateSchemaAttribute in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      schemaAttributeGUID - unique identifier of the schema attribute to update
      schemaAttributeExternalIdentifier - unique identifier of the schema attribute in the external asset manager
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      schemaAttributeProperties - new properties for the schema attribute
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • setSchemaElementAsCalculatedValue

      public void setSchemaElementAsCalculatedValue(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String schemaElementGUID, String schemaElementExternalIdentifier, String formula, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify the schema type (or attribute if type is embedded) to indicate that it is a calculated value.
      Specified by:
      setSchemaElementAsCalculatedValue in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the asset manager can update this classification
      schemaElementGUID - unique identifier of the metadata element to update
      schemaElementExternalIdentifier - unique identifier of the schema element in the external asset manager
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      formula - description of the logic that maps data values to
      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)
    • clearSchemaElementAsCalculatedValue

      public void clearSchemaElementAsCalculatedValue(String userId, String assetManagerGUID, String assetManagerName, String schemaElementGUID, String schemaElementExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the calculated value designation from the schema element.
      Specified by:
      clearSchemaElementAsCalculatedValue in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      schemaElementGUID - unique identifier of the metadata element to update
      schemaElementExternalIdentifier - unique identifier of the schema element in the external asset manager
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • setupColumnAsPrimaryKey

      public void setupColumnAsPrimaryKey(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String schemaAttributeGUID, String schemaAttributeExternalIdentifier, String primaryKeyName, KeyPattern primaryKeyPattern, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Classify the column schema attribute to indicate that it describes a primary key.
      Specified by:
      setupColumnAsPrimaryKey in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the asset manager can update this classification
      schemaAttributeGUID - unique identifier of the metadata element to update
      schemaAttributeExternalIdentifier - unique identifier of the schema attribute in the external asset manager
      primaryKeyName - name of the primary key (if different from the column name)
      primaryKeyPattern - key pattern used to maintain the primary key
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • clearColumnAsPrimaryKey

      public void clearColumnAsPrimaryKey(String userId, String assetManagerGUID, String assetManagerName, String schemaAttributeGUID, String schemaAttributeExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the primary key designation from the schema attribute.
      Specified by:
      clearColumnAsPrimaryKey in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      schemaAttributeGUID - unique identifier of the metadata element to update
      schemaAttributeExternalIdentifier - unique identifier of the schema attribute in the external asset manager
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • setupForeignKeyRelationship

      public void setupForeignKeyRelationship(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String primaryKeyGUID, String foreignKeyGUID, ForeignKeyProperties foreignKeyProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link two schema attributes together to show a foreign key relationship.
      Specified by:
      setupForeignKeyRelationship in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      assetManagerIsHome - ensure that only the asset manager can update this relationship
      primaryKeyGUID - unique identifier of the derived schema element
      foreignKeyGUID - unique identifier of the query target schema element
      foreignKeyProperties - properties for the foreign key relationship
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • updateForeignKeyRelationship

      public void updateForeignKeyRelationship(String userId, String assetManagerGUID, String assetManagerName, String primaryKeyGUID, String foreignKeyGUID, ForeignKeyProperties foreignKeyProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the relationship properties for the query target.
      Specified by:
      updateForeignKeyRelationship in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      primaryKeyGUID - unique identifier of the derived schema element
      foreignKeyGUID - unique identifier of the query target schema element
      foreignKeyProperties - properties for the foreign key relationship
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • clearForeignKeyRelationship

      public void clearForeignKeyRelationship(String userId, String assetManagerGUID, String assetManagerName, String primaryKeyGUID, String foreignKeyGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the foreign key relationship between two schema elements.
      Specified by:
      clearForeignKeyRelationship in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      primaryKeyGUID - unique identifier of the derived schema element
      foreignKeyGUID - unique identifier of the query target schema element
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • removeSchemaAttribute

      public void removeSchemaAttribute(String userId, String assetManagerGUID, String assetManagerName, String schemaAttributeGUID, String schemaAttributeExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the metadata element representing a schema attribute.
      Specified by:
      removeSchemaAttribute in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      schemaAttributeGUID - unique identifier of the metadata element to remove
      schemaAttributeExternalIdentifier - unique identifier of the schema attribute in the external asset manager
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • findSchemaAttributes

      public List<SchemaAttributeElement> findSchemaAttributes(String userId, String assetManagerGUID, String assetManagerName, String searchString, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of schema attribute metadata elements that contain the search string. The search string is treated as a regular expression.
      Specified by:
      findSchemaAttributes in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      searchString - string to find in the properties
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getNestedSchemaAttributes

      public List<SchemaAttributeElement> getNestedSchemaAttributes(String userId, String assetManagerGUID, String assetManagerName, String parentSchemaElementGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of schema attributes associated with a schema element.
      Specified by:
      getNestedSchemaAttributes in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      parentSchemaElementGUID - unique identifier of the schema element of interest
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Returns:
      list of associated 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)
    • getSchemaAttributesByName

      public List<SchemaAttributeElement> getSchemaAttributesByName(String userId, String assetManagerGUID, String assetManagerName, String name, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of schema attribute metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
      Specified by:
      getSchemaAttributesByName in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      name - name to search for
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)
    • getSchemaAttributeByGUID

      public SchemaAttributeElement getSchemaAttributeByGUID(String userId, String assetManagerGUID, String assetManagerName, String schemaAttributeGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the schema attribute metadata element with the supplied unique identifier.
      Specified by:
      getSchemaAttributeByGUID in interface SchemaExchangeInterface
      Parameters:
      userId - calling user
      assetManagerGUID - unique identifier of software server capability representing the caller
      assetManagerName - unique name of software server capability representing the caller
      schemaAttributeGUID - unique identifier of the requested metadata element
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      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)