Class SchemaExchangeClientBase

    • Constructor Summary

      Constructors 
      Constructor Description
      SchemaExchangeClientBase​(java.lang.String serverName, java.lang.String serverPlatformURLRoot)
      Create a new client with no authentication embedded in the HTTP request.
      SchemaExchangeClientBase​(java.lang.String serverName, java.lang.String serverPlatformURLRoot, java.lang.String userId, java.lang.String password)
      Create a new client that passes userId and password in each HTTP request.
      SchemaExchangeClientBase​(java.lang.String serverName, java.lang.String serverPlatformURLRoot, java.lang.String userId, java.lang.String password, AuditLog auditLog)
      Create a new client that passes userId and password in each HTTP request.
      SchemaExchangeClientBase​(java.lang.String serverName, java.lang.String serverPlatformURLRoot, AssetManagerRESTClient restClient, int maxPageSize, AuditLog auditLog)
      Create a new client that is going to be used in an OMAG Server.
      SchemaExchangeClientBase​(java.lang.String serverName, java.lang.String serverPlatformURLRoot, AuditLog auditLog)
      Create a new client with no authentication embedded in the HTTP request.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clearColumnAsPrimaryKey​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaAttributeGUID, java.lang.String schemaAttributeExternalIdentifier, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the primary key designation from the schema attribute.
      void clearForeignKeyRelationship​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String primaryKeyGUID, java.lang.String foreignKeyGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the foreign key relationship between two schema elements.
      void clearSchemaElementAsCalculatedValue​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaElementGUID, java.lang.String schemaElementExternalIdentifier, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the calculated value designation from the schema element.
      void clearSchemaTypeParent​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaTypeGUID, java.lang.String parentElementGUID, java.lang.String parentElementTypeName, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the relationship between a schema type and its parent data asset, process or port.
      java.lang.String createSchemaAttribute​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String schemaElementGUID, ExternalIdentifierProperties externalIdentifierProperties, SchemaAttributeProperties schemaAttributeProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Create a new metadata element to represent a schema attribute.
      java.lang.String createSchemaAttributeFromTemplate​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String schemaElementGUID, java.lang.String templateGUID, ExternalIdentifierProperties externalIdentifierProperties, TemplateProperties templateProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Create a new metadata element to represent a schema attribute using an existing metadata element as a template.
      java.lang.String createSchemaType​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, ExternalIdentifierProperties externalIdentifierProperties, boolean forLineage, boolean forDuplicateProcessing, SchemaTypeProperties schemaTypeProperties)
      Create a new metadata element to represent a schema type.
      java.lang.String createSchemaTypeFromTemplate​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String templateGUID, ExternalIdentifierProperties externalIdentifierProperties, TemplateProperties templateProperties)
      Create a new metadata element to represent a schema type using an existing metadata element as a template.
      java.util.List<SchemaAttributeElement> findSchemaAttributes​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String searchString, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of schema attribute metadata elements that contain the search string.
      java.util.List<SchemaTypeElement> findSchemaType​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String searchString, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of schema type metadata elements that contain the search string.
      java.util.List<SchemaAttributeElement> getNestedSchemaAttributes​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String parentSchemaElementGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of schema attributes associated with a schema element.
      SchemaAttributeElement getSchemaAttributeByGUID​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaAttributeGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the schema attribute metadata element with the supplied unique identifier.
      java.util.List<SchemaAttributeElement> getSchemaAttributesByName​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String name, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of schema attribute metadata elements with a matching qualified or display name.
      SchemaTypeElement getSchemaTypeByGUID​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaTypeGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the schema type metadata element with the supplied unique identifier.
      java.util.List<SchemaTypeElement> getSchemaTypeByName​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String name, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the list of schema type metadata elements with a matching qualified or display name.
      SchemaTypeElement getSchemaTypeForElement​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String parentElementGUID, java.lang.String parentElementTypeName, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Return the schema type associated with a specific open metadata element (data asset, process or port).
      ElementHeader getSchemaTypeParent​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaTypeGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve the header of the metadata element connected to a schema type.
      void removeSchemaAttribute​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaAttributeGUID, java.lang.String schemaAttributeExternalIdentifier, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the metadata element representing a schema attribute.
      void removeSchemaType​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaTypeGUID, java.lang.String schemaTypeExternalIdentifier, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the metadata element representing a schema type.
      void setSchemaElementAsCalculatedValue​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String schemaElementGUID, java.lang.String schemaElementExternalIdentifier, java.lang.String formula, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Classify the schema type (or attribute if type is embedded) to indicate that it is a calculated value.
      void setupColumnAsPrimaryKey​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String schemaAttributeGUID, java.lang.String schemaAttributeExternalIdentifier, java.lang.String primaryKeyName, KeyPattern primaryKeyPattern, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Classify the column schema attribute to indicate that it describes a primary key.
      void setupForeignKeyRelationship​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String primaryKeyGUID, java.lang.String foreignKeyGUID, ForeignKeyProperties foreignKeyProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Link two schema attributes together to show a foreign key relationship.
      void setupSchemaTypeParent​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, boolean assetManagerIsHome, java.lang.String schemaTypeGUID, java.lang.String parentElementGUID, java.lang.String parentElementTypeName, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing, RelationshipProperties properties)
      Connect a schema type to a data asset, process or port.
      void updateForeignKeyRelationship​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String primaryKeyGUID, java.lang.String foreignKeyGUID, ForeignKeyProperties foreignKeyProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the relationship properties for the query target.
      void updateSchemaAttribute​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaAttributeGUID, java.lang.String schemaAttributeExternalIdentifier, boolean isMergeUpdate, SchemaAttributeProperties schemaAttributeProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the properties of the metadata element representing a schema attribute.
      void updateSchemaType​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String schemaTypeGUID, java.lang.String schemaTypeExternalIdentifier, boolean isMergeUpdate, SchemaTypeProperties schemaTypeProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the metadata element representing a schema type.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SchemaExchangeClientBase

        public SchemaExchangeClientBase​(java.lang.String serverName,
                                        java.lang.String serverPlatformURLRoot,
                                        AuditLog auditLog)
                                 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 servers
        auditLog - logging destination
        Throws:
        InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
      • SchemaExchangeClientBase

        public SchemaExchangeClientBase​(java.lang.String serverName,
                                        java.lang.String serverPlatformURLRoot)
                                 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 servers
        Throws:
        InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
      • SchemaExchangeClientBase

        public SchemaExchangeClientBase​(java.lang.String serverName,
                                        java.lang.String serverPlatformURLRoot,
                                        java.lang.String userId,
                                        java.lang.String password,
                                        AuditLog auditLog)
                                 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 servers
        userId - caller's userId embedded in all HTTP requests
        password - caller's userId embedded in all HTTP requests
        auditLog - logging destination
        Throws:
        InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
      • SchemaExchangeClientBase

        public SchemaExchangeClientBase​(java.lang.String serverName,
                                        java.lang.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 servers
        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​(java.lang.String serverName,
                                        java.lang.String serverPlatformURLRoot,
                                        java.lang.String userId,
                                        java.lang.String password)
                                 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 servers
        userId - caller's userId embedded in all HTTP requests
        password - caller's userId embedded in all HTTP requests
        Throws:
        InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • Method Detail

      • createSchemaType

        public java.lang.String createSchemaType​(java.lang.String userId,
                                                 java.lang.String assetManagerGUID,
                                                 java.lang.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)
      • createSchemaTypeFromTemplate

        public java.lang.String createSchemaTypeFromTemplate​(java.lang.String userId,
                                                             java.lang.String assetManagerGUID,
                                                             java.lang.String assetManagerName,
                                                             boolean assetManagerIsHome,
                                                             java.lang.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​(java.lang.String userId,
                                     java.lang.String assetManagerGUID,
                                     java.lang.String assetManagerName,
                                     java.lang.String schemaTypeGUID,
                                     java.lang.String schemaTypeExternalIdentifier,
                                     boolean isMergeUpdate,
                                     SchemaTypeProperties schemaTypeProperties,
                                     java.util.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​(java.lang.String userId,
                                          java.lang.String assetManagerGUID,
                                          java.lang.String assetManagerName,
                                          boolean assetManagerIsHome,
                                          java.lang.String schemaTypeGUID,
                                          java.lang.String parentElementGUID,
                                          java.lang.String parentElementTypeName,
                                          java.util.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​(java.lang.String userId,
                                          java.lang.String assetManagerGUID,
                                          java.lang.String assetManagerName,
                                          java.lang.String schemaTypeGUID,
                                          java.lang.String parentElementGUID,
                                          java.lang.String parentElementTypeName,
                                          java.util.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)
      • removeSchemaType

        public void removeSchemaType​(java.lang.String userId,
                                     java.lang.String assetManagerGUID,
                                     java.lang.String assetManagerName,
                                     java.lang.String schemaTypeGUID,
                                     java.lang.String schemaTypeExternalIdentifier,
                                     java.util.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 java.util.List<SchemaTypeElement> findSchemaType​(java.lang.String userId,
                                                                java.lang.String assetManagerGUID,
                                                                java.lang.String assetManagerName,
                                                                java.lang.String searchString,
                                                                int startFrom,
                                                                int pageSize,
                                                                java.util.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​(java.lang.String userId,
                                                         java.lang.String assetManagerGUID,
                                                         java.lang.String assetManagerName,
                                                         java.lang.String parentElementGUID,
                                                         java.lang.String parentElementTypeName,
                                                         java.util.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 java.util.List<SchemaTypeElement> getSchemaTypeByName​(java.lang.String userId,
                                                                     java.lang.String assetManagerGUID,
                                                                     java.lang.String assetManagerName,
                                                                     java.lang.String name,
                                                                     int startFrom,
                                                                     int pageSize,
                                                                     java.util.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​(java.lang.String userId,
                                                     java.lang.String assetManagerGUID,
                                                     java.lang.String assetManagerName,
                                                     java.lang.String schemaTypeGUID,
                                                     java.util.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​(java.lang.String userId,
                                                 java.lang.String assetManagerGUID,
                                                 java.lang.String assetManagerName,
                                                 java.lang.String schemaTypeGUID,
                                                 java.util.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 java.lang.String createSchemaAttribute​(java.lang.String userId,
                                                      java.lang.String assetManagerGUID,
                                                      java.lang.String assetManagerName,
                                                      boolean assetManagerIsHome,
                                                      java.lang.String schemaElementGUID,
                                                      ExternalIdentifierProperties externalIdentifierProperties,
                                                      SchemaAttributeProperties schemaAttributeProperties,
                                                      java.util.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 java.lang.String createSchemaAttributeFromTemplate​(java.lang.String userId,
                                                                  java.lang.String assetManagerGUID,
                                                                  java.lang.String assetManagerName,
                                                                  boolean assetManagerIsHome,
                                                                  java.lang.String schemaElementGUID,
                                                                  java.lang.String templateGUID,
                                                                  ExternalIdentifierProperties externalIdentifierProperties,
                                                                  TemplateProperties templateProperties,
                                                                  java.util.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​(java.lang.String userId,
                                          java.lang.String assetManagerGUID,
                                          java.lang.String assetManagerName,
                                          java.lang.String schemaAttributeGUID,
                                          java.lang.String schemaAttributeExternalIdentifier,
                                          boolean isMergeUpdate,
                                          SchemaAttributeProperties schemaAttributeProperties,
                                          java.util.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​(java.lang.String userId,
                                                      java.lang.String assetManagerGUID,
                                                      java.lang.String assetManagerName,
                                                      boolean assetManagerIsHome,
                                                      java.lang.String schemaElementGUID,
                                                      java.lang.String schemaElementExternalIdentifier,
                                                      java.lang.String formula,
                                                      java.util.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​(java.lang.String userId,
                                                        java.lang.String assetManagerGUID,
                                                        java.lang.String assetManagerName,
                                                        java.lang.String schemaElementGUID,
                                                        java.lang.String schemaElementExternalIdentifier,
                                                        java.util.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​(java.lang.String userId,
                                            java.lang.String assetManagerGUID,
                                            java.lang.String assetManagerName,
                                            boolean assetManagerIsHome,
                                            java.lang.String schemaAttributeGUID,
                                            java.lang.String schemaAttributeExternalIdentifier,
                                            java.lang.String primaryKeyName,
                                            KeyPattern primaryKeyPattern,
                                            java.util.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​(java.lang.String userId,
                                            java.lang.String assetManagerGUID,
                                            java.lang.String assetManagerName,
                                            java.lang.String schemaAttributeGUID,
                                            java.lang.String schemaAttributeExternalIdentifier,
                                            java.util.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​(java.lang.String userId,
                                                java.lang.String assetManagerGUID,
                                                java.lang.String assetManagerName,
                                                boolean assetManagerIsHome,
                                                java.lang.String primaryKeyGUID,
                                                java.lang.String foreignKeyGUID,
                                                ForeignKeyProperties foreignKeyProperties,
                                                java.util.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​(java.lang.String userId,
                                                 java.lang.String assetManagerGUID,
                                                 java.lang.String assetManagerName,
                                                 java.lang.String primaryKeyGUID,
                                                 java.lang.String foreignKeyGUID,
                                                 ForeignKeyProperties foreignKeyProperties,
                                                 java.util.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​(java.lang.String userId,
                                                java.lang.String assetManagerGUID,
                                                java.lang.String assetManagerName,
                                                java.lang.String primaryKeyGUID,
                                                java.lang.String foreignKeyGUID,
                                                java.util.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​(java.lang.String userId,
                                          java.lang.String assetManagerGUID,
                                          java.lang.String assetManagerName,
                                          java.lang.String schemaAttributeGUID,
                                          java.lang.String schemaAttributeExternalIdentifier,
                                          java.util.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 java.util.List<SchemaAttributeElement> findSchemaAttributes​(java.lang.String userId,
                                                                           java.lang.String assetManagerGUID,
                                                                           java.lang.String assetManagerName,
                                                                           java.lang.String searchString,
                                                                           int startFrom,
                                                                           int pageSize,
                                                                           java.util.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 java.util.List<SchemaAttributeElement> getNestedSchemaAttributes​(java.lang.String userId,
                                                                                java.lang.String assetManagerGUID,
                                                                                java.lang.String assetManagerName,
                                                                                java.lang.String parentSchemaElementGUID,
                                                                                int startFrom,
                                                                                int pageSize,
                                                                                java.util.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 java.util.List<SchemaAttributeElement> getSchemaAttributesByName​(java.lang.String userId,
                                                                                java.lang.String assetManagerGUID,
                                                                                java.lang.String assetManagerName,
                                                                                java.lang.String name,
                                                                                int startFrom,
                                                                                int pageSize,
                                                                                java.util.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​(java.lang.String userId,
                                                               java.lang.String assetManagerGUID,
                                                               java.lang.String assetManagerName,
                                                               java.lang.String schemaAttributeGUID,
                                                               java.util.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)