Class SchemaExchangeHandler


  • public class SchemaExchangeHandler
    extends Object
    SchemaExchangeHandler is the server side handler for managing schema types and attributes.
    • Constructor Detail

      • SchemaExchangeHandler

        public SchemaExchangeHandler​(String serviceName,
                                     String serverName,
                                     InvalidParameterHandler invalidParameterHandler,
                                     RepositoryHandler repositoryHandler,
                                     OMRSRepositoryHelper repositoryHelper,
                                     String localServerUserId,
                                     OpenMetadataServerSecurityVerifier securityVerifier,
                                     List<String> supportedZones,
                                     List<String> defaultZones,
                                     List<String> publishZones,
                                     AuditLog auditLog)
        Construct the schema exchange handler with information needed to work with schema related objects for Asset Manager OMAS.
        Parameters:
        serviceName - name of this service
        serverName - name of the local server
        invalidParameterHandler - handler for managing parameter errors
        repositoryHandler - manages calls to the repository services
        repositoryHelper - provides utilities for manipulating the repository services objects
        localServerUserId - userId for this server
        securityVerifier - open metadata security services verifier
        supportedZones - list of zones that the access service is allowed to serve instances from.
        defaultZones - list of zones that the access service should set in all new instances.
        publishZones - list of zones that the access service sets up in published instances.
        auditLog - destination for audit log events.
    • Method Detail

      • createSchemaType

        public String createSchemaType​(String userId,
                                       MetadataCorrelationProperties correlationProperties,
                                       boolean assetManagerIsHome,
                                       SchemaTypeProperties schemaTypeProperties,
                                       boolean forLineage,
                                       boolean forDuplicateProcessing,
                                       Date effectiveTime,
                                       String methodName)
                                throws InvalidParameterException,
                                       UserNotAuthorizedException,
                                       PropertyServerException
        Create a new metadata element to represent a schema type.
        Parameters:
        userId - calling user
        correlationProperties - properties to help with the mapping of the elements in the external asset manager and open metadata
        assetManagerIsHome - ensure that only the asset manager can update this schema element
        schemaTypeProperties - properties about the schema type to store
        forLineage - the request is to support lineage retrieval this means entities with the Memento classification can be returned
        forDuplicateProcessing - the request is for duplicate processing and so must not deduplicate
        effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
        methodName - calling method
        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,
                                                   MetadataCorrelationProperties correlationProperties,
                                                   boolean assetManagerIsHome,
                                                   String templateGUID,
                                                   TemplateProperties templateProperties,
                                                   String methodName)
                                            throws InvalidParameterException,
                                                   UserNotAuthorizedException,
                                                   PropertyServerException
        Create a new metadata element to represent a schema type using an existing metadata element as a template.
        Parameters:
        userId - calling user
        correlationProperties - properties to help with the mapping of the elements in the external asset manager and open metadata
        assetManagerIsHome - ensure that only the asset manager can update this schema element
        templateGUID - unique identifier of the metadata element to copy
        templateProperties - properties that override the template
        methodName - calling method
        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,
                                     MetadataCorrelationProperties correlationProperties,
                                     String schemaTypeGUID,
                                     boolean isMergeUpdate,
                                     boolean forLineage,
                                     boolean forDuplicateProcessing,
                                     SchemaTypeProperties schemaTypeProperties,
                                     Date effectiveTime,
                                     String methodName)
                              throws InvalidParameterException,
                                     UserNotAuthorizedException,
                                     PropertyServerException
        Update the metadata element representing a schema type.
        Parameters:
        userId - calling user
        correlationProperties - properties to help with the mapping of the elements in the external asset manager and open metadata
        schemaTypeGUID - unique identifier of the metadata element to update
        isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        schemaTypeProperties - new properties for the metadata element
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • setupSchemaTypeParent

        public void setupSchemaTypeParent​(String userId,
                                          String assetManagerGUID,
                                          String assetManagerName,
                                          boolean assetManagerIsHome,
                                          String schemaTypeGUID,
                                          String parentElementGUID,
                                          String parentElementTypeName,
                                          Date effectiveFrom,
                                          Date effectiveTo,
                                          boolean forLineage,
                                          boolean forDuplicateProcessing,
                                          Date effectiveTime,
                                          String methodName)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Connect a schema type to a data asset, process or port.
        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
        effectiveFrom - the date when this element is active - null for active now
        effectiveTo - the date when this element becomes inactive - null for active until deleted
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • clearSchemaTypeParent

        public void clearSchemaTypeParent​(String userId,
                                          String assetManagerGUID,
                                          String assetManagerName,
                                          String schemaTypeGUID,
                                          String parentElementGUID,
                                          String parentElementTypeName,
                                          boolean forLineage,
                                          boolean forDuplicateProcessing,
                                          Date effectiveTime,
                                          String methodName)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Remove the relationship between a schema type and its parent data asset, process or port.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • removeSchemaType

        public void removeSchemaType​(String userId,
                                     MetadataCorrelationProperties correlationProperties,
                                     String schemaTypeGUID,
                                     boolean forLineage,
                                     boolean forDuplicateProcessing,
                                     Date effectiveTime,
                                     String methodName)
                              throws InvalidParameterException,
                                     UserNotAuthorizedException,
                                     PropertyServerException
        Remove the metadata element representing a schema type.
        Parameters:
        userId - calling user
        correlationProperties - properties to help with the mapping of the elements in the external asset manager and open metadata
        schemaTypeGUID - unique identifier of the metadata element to remove
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • findSchemaType

        public List<SchemaTypeElement> findSchemaType​(String userId,
                                                      String assetManagerGUID,
                                                      String assetManagerName,
                                                      String searchString,
                                                      int startFrom,
                                                      int pageSize,
                                                      boolean forLineage,
                                                      boolean forDuplicateProcessing,
                                                      Date effectiveTime,
                                                      String methodName)
                                               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.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Returns:
        list of matching metadata elements
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • getSchemaTypeForElement

        public SchemaTypeElement getSchemaTypeForElement​(String userId,
                                                         String assetManagerGUID,
                                                         String assetManagerName,
                                                         String parentElementGUID,
                                                         String parentElementTypeName,
                                                         boolean forLineage,
                                                         boolean forDuplicateProcessing,
                                                         Date effectiveTime,
                                                         String methodName)
                                                  throws InvalidParameterException,
                                                         UserNotAuthorizedException,
                                                         PropertyServerException
        Return the schema type associated with a specific open metadata element (data asset, process or port).
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        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,
                                                           boolean forLineage,
                                                           boolean forDuplicateProcessing,
                                                           Date effectiveTime,
                                                           String methodName)
                                                    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.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Returns:
        list of matching metadata elements
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • getSchemaTypeByGUID

        public SchemaTypeElement getSchemaTypeByGUID​(String userId,
                                                     String assetManagerGUID,
                                                     String assetManagerName,
                                                     String schemaTypeGUID,
                                                     boolean forLineage,
                                                     boolean forDuplicateProcessing,
                                                     Date effectiveTime,
                                                     String methodName)
                                              throws InvalidParameterException,
                                                     UserNotAuthorizedException,
                                                     PropertyServerException
        Retrieve the schema type metadata element with the supplied unique identifier.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        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,
                                                 boolean forLineage,
                                                 boolean forDuplicateProcessing,
                                                 Date effectiveTime,
                                                 String methodName)
                                          throws InvalidParameterException,
                                                 UserNotAuthorizedException,
                                                 PropertyServerException
        Retrieve the header of the metadata element connected to a schema type.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        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,
                                            MetadataCorrelationProperties correlationProperties,
                                            boolean assetManagerIsHome,
                                            String schemaElementGUID,
                                            SchemaAttributeProperties schemaAttributeProperties,
                                            boolean forLineage,
                                            boolean forDuplicateProcessing,
                                            Date effectiveTime,
                                            String methodName)
                                     throws InvalidParameterException,
                                            UserNotAuthorizedException,
                                            PropertyServerException
        Create a new metadata element to represent a schema attribute.
        Parameters:
        userId - calling user
        correlationProperties - properties to help with the mapping of the elements in the external asset manager and open metadata
        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
        schemaAttributeProperties - properties for the schema attribute
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        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,
                                                        MetadataCorrelationProperties correlationProperties,
                                                        boolean assetManagerIsHome,
                                                        String schemaElementGUID,
                                                        String templateGUID,
                                                        TemplateProperties templateProperties,
                                                        boolean forLineage,
                                                        boolean forDuplicateProcessing,
                                                        Date effectiveTime,
                                                        String methodName)
                                                 throws InvalidParameterException,
                                                        UserNotAuthorizedException,
                                                        PropertyServerException
        Create a new metadata element to represent a schema attribute using an existing metadata element as a template.
        Parameters:
        userId - calling user
        correlationProperties - properties to help with the mapping of the elements in the external asset manager and open metadata
        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
        templateProperties - properties that override the template
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        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,
                                          MetadataCorrelationProperties correlationProperties,
                                          String schemaAttributeGUID,
                                          boolean isMergeUpdate,
                                          SchemaAttributeProperties schemaAttributeProperties,
                                          boolean forLineage,
                                          boolean forDuplicateProcessing,
                                          Date effectiveTime,
                                          String methodName)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Update the properties of the metadata element representing a schema attribute.
        Parameters:
        userId - calling user
        correlationProperties - properties to help with the mapping of the elements in the external asset manager and open metadata
        schemaAttributeGUID - unique identifier of the schema attribute to update
        isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
        schemaAttributeProperties - new properties for the schema attribute
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • setSchemaElementAsCalculatedValue

        public void setSchemaElementAsCalculatedValue​(String userId,
                                                      String assetManagerGUID,
                                                      String assetManagerName,
                                                      boolean assetManagerIsHome,
                                                      String schemaElementGUID,
                                                      String formula,
                                                      boolean forLineage,
                                                      boolean forDuplicateProcessing,
                                                      Date effectiveTime,
                                                      String methodName)
                                               throws InvalidParameterException,
                                                      UserNotAuthorizedException,
                                                      PropertyServerException
        Classify the schema type (or attribute if type is embedded) to indicate that it is a calculated value.
        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
        schemaElementGUID - unique identifier of the metadata element to update
        formula - formula used to calculate the value
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • clearSchemaElementAsCalculatedValue

        public void clearSchemaElementAsCalculatedValue​(String userId,
                                                        String assetManagerGUID,
                                                        String assetManagerName,
                                                        String schemaElementGUID,
                                                        boolean forLineage,
                                                        boolean forDuplicateProcessing,
                                                        Date effectiveTime,
                                                        String methodName)
                                                 throws InvalidParameterException,
                                                        UserNotAuthorizedException,
                                                        PropertyServerException
        Remove the calculated value designation from the schema element.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • setupColumnAsPrimaryKey

        public void setupColumnAsPrimaryKey​(String userId,
                                            String assetManagerGUID,
                                            String assetManagerName,
                                            boolean assetManagerIsHome,
                                            String schemaAttributeGUID,
                                            String primaryKeyName,
                                            KeyPattern primaryKeyPattern,
                                            boolean forLineage,
                                            boolean forDuplicateProcessing,
                                            Date effectiveTime,
                                            String methodName)
                                     throws InvalidParameterException,
                                            UserNotAuthorizedException,
                                            PropertyServerException
        Classify the column schema attribute to indicate that it describes a primary key.
        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
        primaryKeyName - name of the primary key (if different from the column name)
        primaryKeyPattern - key pattern used to maintain the primary key
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • clearColumnAsPrimaryKey

        public void clearColumnAsPrimaryKey​(String userId,
                                            String assetManagerGUID,
                                            String assetManagerName,
                                            String schemaAttributeGUID,
                                            boolean forLineage,
                                            boolean forDuplicateProcessing,
                                            Date effectiveTime,
                                            String methodName)
                                     throws InvalidParameterException,
                                            UserNotAuthorizedException,
                                            PropertyServerException
        Remove the primary key designation from the schema attribute.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • setupForeignKeyRelationship

        public void setupForeignKeyRelationship​(String userId,
                                                String assetManagerGUID,
                                                String assetManagerName,
                                                boolean assetManagerIsHome,
                                                String primaryKeyGUID,
                                                String foreignKeyGUID,
                                                ForeignKeyProperties foreignKeyProperties,
                                                boolean forLineage,
                                                boolean forDuplicateProcessing,
                                                Date effectiveTime,
                                                String methodName)
                                         throws InvalidParameterException,
                                                UserNotAuthorizedException,
                                                PropertyServerException
        Link two schema attributes together to show a foreign key relationship.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • updateForeignKeyRelationship

        public void updateForeignKeyRelationship​(String userId,
                                                 String assetManagerGUID,
                                                 String assetManagerName,
                                                 String primaryKeyGUID,
                                                 String foreignKeyGUID,
                                                 ForeignKeyProperties foreignKeyProperties,
                                                 boolean forLineage,
                                                 boolean forDuplicateProcessing,
                                                 Date effectiveTime,
                                                 String methodName)
                                          throws InvalidParameterException,
                                                 UserNotAuthorizedException,
                                                 PropertyServerException
        Update the relationship properties for the query target.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • clearForeignKeyRelationship

        public void clearForeignKeyRelationship​(String userId,
                                                String assetManagerGUID,
                                                String assetManagerName,
                                                String primaryKeyGUID,
                                                String foreignKeyGUID,
                                                boolean forLineage,
                                                boolean forDuplicateProcessing,
                                                Date effectiveTime,
                                                String methodName)
                                         throws InvalidParameterException,
                                                UserNotAuthorizedException,
                                                PropertyServerException
        Remove the foreign key relationship between two schema elements.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • removeSchemaAttribute

        public void removeSchemaAttribute​(String userId,
                                          MetadataCorrelationProperties correlationProperties,
                                          String schemaAttributeGUID,
                                          boolean forLineage,
                                          boolean forDuplicateProcessing,
                                          Date effectiveTime,
                                          String methodName)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Remove the metadata element representing a schema attribute.
        Parameters:
        userId - calling user
        correlationProperties - properties to help with the mapping of the elements in the external asset manager and open metadata
        schemaAttributeGUID - unique identifier of the metadata element to remove
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • findSchemaAttributes

        public List<SchemaAttributeElement> findSchemaAttributes​(String userId,
                                                                 String assetManagerGUID,
                                                                 String assetManagerName,
                                                                 String searchString,
                                                                 int startFrom,
                                                                 int pageSize,
                                                                 boolean forLineage,
                                                                 boolean forDuplicateProcessing,
                                                                 Date effectiveTime,
                                                                 String methodName)
                                                          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.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Returns:
        list of matching metadata elements
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • getNestedAttributes

        public List<SchemaAttributeElement> getNestedAttributes​(String userId,
                                                                String assetManagerGUID,
                                                                String assetManagerName,
                                                                String parentSchemaElementGUID,
                                                                int startFrom,
                                                                int pageSize,
                                                                boolean forLineage,
                                                                boolean forDuplicateProcessing,
                                                                Date effectiveTime,
                                                                String methodName)
                                                         throws InvalidParameterException,
                                                                UserNotAuthorizedException,
                                                                PropertyServerException
        Retrieve the list of schema attributes associated with a StructSchemaType or nested underneath a schema attribute.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        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,
                                                                      boolean forLineage,
                                                                      boolean forDuplicateProcessing,
                                                                      Date effectiveTime,
                                                                      String methodName)
                                                               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.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Returns:
        list of matching metadata elements
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • getSchemaAttributeByGUID

        public SchemaAttributeElement getSchemaAttributeByGUID​(String userId,
                                                               String assetManagerGUID,
                                                               String assetManagerName,
                                                               String schemaAttributeGUID,
                                                               boolean forLineage,
                                                               boolean forDuplicateProcessing,
                                                               Date effectiveTime,
                                                               String methodName)
                                                        throws InvalidParameterException,
                                                               UserNotAuthorizedException,
                                                               PropertyServerException
        Retrieve the schema attribute metadata element with the supplied unique identifier.
        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
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        effectiveTime - when should the elements be effected for - null is anytime; new Date() is now
        methodName - calling method
        Returns:
        matching metadata element
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)