Class SchemaExchangeService

    • Method Detail

      • createSchemaType

        public String createSchemaType​(boolean assetManagerIsHome,
                                       String schemaTypeExternalIdentifier,
                                       String schemaTypeExternalIdentifierName,
                                       String schemaTypeExternalIdentifierUsage,
                                       KeyPattern schemaTypeExternalIdentifierKeyPattern,
                                       Map<String,​String> mappingProperties,
                                       SchemaTypeProperties schemaTypeProperties)
                                throws InvalidParameterException,
                                       UserNotAuthorizedException,
                                       PropertyServerException
        Create a new metadata element to represent a schema type.
        Parameters:
        assetManagerIsHome - ensure that only the asset manager can update this schema element
        schemaTypeExternalIdentifier - unique identifier of the schema type in the external asset manager
        schemaTypeExternalIdentifierName - name of property for the external identifier in the external asset manager
        schemaTypeExternalIdentifierUsage - optional usage description for the external identifier when calling the external asset manager
        schemaTypeExternalIdentifierKeyPattern - pattern for the external identifier within the external asset manager (default is LOCAL_KEY)
        mappingProperties - additional properties to help with the mapping of the elements in the external asset manager and open metadata
        schemaTypeProperties - properties about the schema type to store
        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​(boolean assetManagerIsHome,
                                                   String templateGUID,
                                                   String schemaTypeExternalIdentifier,
                                                   String schemaTypeExternalIdentifierName,
                                                   String schemaTypeExternalIdentifierUsage,
                                                   KeyPattern schemaTypeExternalIdentifierKeyPattern,
                                                   Map<String,​String> mappingProperties,
                                                   TemplateProperties templateProperties)
                                            throws InvalidParameterException,
                                                   UserNotAuthorizedException,
                                                   PropertyServerException
        Create a new metadata element to represent a schema type using an existing metadata element as a template.
        Parameters:
        assetManagerIsHome - ensure that only the asset manager can update this schema element
        templateGUID - unique identifier of the metadata element to copy
        schemaTypeExternalIdentifier - unique identifier of the schema type in the external asset manager
        schemaTypeExternalIdentifierName - name of property for the external identifier in the external asset manager
        schemaTypeExternalIdentifierUsage - optional usage description for the external identifier when calling the external asset manager
        schemaTypeExternalIdentifierKeyPattern - pattern for the external identifier within the external asset manager (default is LOCAL_KEY)
        mappingProperties - additional properties to help with the mapping of the elements in the external asset manager and open metadata
        templateProperties - properties that override the template
        Returns:
        unique identifier of the new schema type
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • updateSchemaType

        public void updateSchemaType​(String schemaTypeGUID,
                                     String schemaTypeExternalIdentifier,
                                     boolean isMergeUpdate,
                                     SchemaTypeProperties schemaTypeProperties)
                              throws InvalidParameterException,
                                     UserNotAuthorizedException,
                                     PropertyServerException
        Update the metadata element representing a schema type.
        Parameters:
        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)?
        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​(boolean assetManagerIsHome,
                                          String schemaTypeGUID,
                                          String parentElementGUID,
                                          String parentElementTypeName)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Connect a schema type to a data asset, process or port.
        Parameters:
        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
        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 schemaTypeGUID,
                                          String parentElementGUID,
                                          String parentElementTypeName)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Remove the relationship between a schema type and its parent data asset, process or port.
        Parameters:
        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
        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 parentElementGUID,
                                                         String parentElementTypeName)
                                                  throws InvalidParameterException,
                                                         UserNotAuthorizedException,
                                                         PropertyServerException
        Return the schema type associated with a specific open metadata element (data asset, process or port).
        Parameters:
        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
        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)
      • createSchemaAttribute

        public String createSchemaAttribute​(boolean assetManagerIsHome,
                                            String schemaElementGUID,
                                            String schemaAttributeExternalIdentifier,
                                            String schemaAttributeExternalIdentifierName,
                                            String schemaAttributeExternalIdentifierUsage,
                                            KeyPattern schemaAttributeExternalIdentifierKeyPattern,
                                            Map<String,​String> mappingProperties,
                                            SchemaAttributeProperties schemaAttributeProperties)
                                     throws InvalidParameterException,
                                            UserNotAuthorizedException,
                                            PropertyServerException
        Create a new metadata element to represent a schema attribute.
        Parameters:
        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
        schemaAttributeExternalIdentifier - unique identifier of the schema attribute in the external asset manager
        schemaAttributeExternalIdentifierName - name of property for the external identifier in the external asset manager
        schemaAttributeExternalIdentifierUsage - optional usage description for the external identifier when calling the external asset manager
        schemaAttributeExternalIdentifierKeyPattern - pattern for the external identifier within the external asset manager (default is LOCAL_KEY)
        mappingProperties - additional properties to help with the mapping of the elements in the external asset manager and open metadata
        schemaAttributeProperties - properties for the schema attribute
        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​(boolean assetManagerIsHome,
                                                        String schemaElementGUID,
                                                        String templateGUID,
                                                        String schemaAttributeExternalIdentifier,
                                                        String schemaAttributeExternalIdentifierName,
                                                        String schemaAttributeExternalIdentifierUsage,
                                                        KeyPattern schemaAttributeExternalIdentifierKeyPattern,
                                                        Map<String,​String> mappingProperties,
                                                        TemplateProperties templateProperties)
                                                 throws InvalidParameterException,
                                                        UserNotAuthorizedException,
                                                        PropertyServerException
        Create a new metadata element to represent a schema attribute using an existing metadata element as a template.
        Parameters:
        assetManagerIsHome - ensure that only the asset manager can update this schema element
        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
        schemaAttributeExternalIdentifier - unique identifier of the schema attribute in the external asset manager
        schemaAttributeExternalIdentifierName - name of property for the external identifier in the external asset manager
        schemaAttributeExternalIdentifierUsage - optional usage description for the external identifier when calling the external asset manager
        schemaAttributeExternalIdentifierKeyPattern - pattern for the external identifier within the external asset manager (default is LOCAL_KEY)
        mappingProperties - additional properties to help with the mapping of the elements in the external asset manager and open metadata
        templateProperties - properties that override the template
        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 schemaAttributeGUID,
                                          String schemaAttributeExternalIdentifier,
                                          boolean isMergeUpdate,
                                          SchemaAttributeProperties schemaAttributeProperties)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Update the properties of the metadata element representing a schema attribute.
        Parameters:
        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
        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​(boolean assetManagerIsHome,
                                                      String schemaElementGUID,
                                                      String schemaElementExternalIdentifier,
                                                      String formula)
                                               throws InvalidParameterException,
                                                      UserNotAuthorizedException,
                                                      PropertyServerException
        Classify the schema type (or attribute if type is embedded) to indicate that it is a calculated value.
        Parameters:
        assetManagerIsHome - ensure that only the asset manager can update this schema attribute
        schemaElementGUID - unique identifier of the metadata element to update
        schemaElementExternalIdentifier - unique identifier of the schema element in the external asset manager
        formula - description of how the value is calculated
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • setupColumnAsPrimaryKey

        public void setupColumnAsPrimaryKey​(String userId,
                                            String assetManagerGUID,
                                            String assetManagerName,
                                            boolean assetManagerIsHome,
                                            String schemaAttributeGUID,
                                            String schemaAttributeExternalIdentifier,
                                            String primaryKeyName,
                                            KeyPattern primaryKeyPattern)
                                     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
        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
        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)
                                          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
        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)