Class SchemaExchangeClientBase

    • Constructor Detail

      • SchemaExchangeClientBase

        public SchemaExchangeClientBase​(String serverName,
                                        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​(String serverName,
                                        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​(String serverName,
                                        String serverPlatformURLRoot,
                                        String userId,
                                        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​(String serverName,
                                        String serverPlatformURLRoot,
                                        AssetManagerRESTClient restClient,
                                        int maxPageSize,
                                        AuditLog auditLog)
                                 throws InvalidParameterException
        Create a new client that is going to be used in an OMAG Server.
        Parameters:
        serverName - name of the server to connect to
        serverPlatformURLRoot - the network address of the server running the OMAS REST 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​(String serverName,
                                        String serverPlatformURLRoot,
                                        String userId,
                                        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 String createSchemaType​(String userId,
                                       String assetManagerGUID,
                                       String assetManagerName,
                                       boolean assetManagerIsHome,
                                       String schemaTypeExternalIdentifier,
                                       String schemaTypeExternalIdentifierName,
                                       String schemaTypeExternalIdentifierUsage,
                                       String schemaTypeExternalIdentifierSource,
                                       KeyPattern schemaTypeExternalIdentifierKeyPattern,
                                       Map<String,​String> mappingProperties,
                                       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
        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
        schemaTypeExternalIdentifierSource - component that issuing this request.
        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​(String userId,
                                                   String assetManagerGUID,
                                                   String assetManagerName,
                                                   boolean assetManagerIsHome,
                                                   String templateGUID,
                                                   String schemaTypeExternalIdentifier,
                                                   String schemaTypeExternalIdentifierName,
                                                   String schemaTypeExternalIdentifierUsage,
                                                   String schemaTypeExternalIdentifierSource,
                                                   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.
        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
        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
        schemaTypeExternalIdentifierSource - component that issuing this request.
        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 userId,
                                     String assetManagerGUID,
                                     String assetManagerName,
                                     String schemaTypeGUID,
                                     String schemaTypeExternalIdentifier,
                                     boolean isMergeUpdate,
                                     SchemaTypeProperties schemaTypeProperties)
                              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)?
        schemaTypeProperties - new properties for the metadata element
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • setupSchemaTypeParent

        public void setupSchemaTypeParent​(String userId,
                                          String assetManagerGUID,
                                          String assetManagerName,
                                          boolean assetManagerIsHome,
                                          String schemaTypeGUID,
                                          String parentElementGUID,
                                          String parentElementTypeName)
                                   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
        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)
                                   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
        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)
                                                  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
        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​(String userId,
                                            String assetManagerGUID,
                                            String assetManagerName,
                                            boolean assetManagerIsHome,
                                            String schemaElementGUID,
                                            String schemaAttributeExternalIdentifier,
                                            String schemaAttributeExternalIdentifierName,
                                            String schemaAttributeExternalIdentifierUsage,
                                            String schemaAttributeExternalIdentifierSource,
                                            KeyPattern schemaAttributeExternalIdentifierKeyPattern,
                                            Map<String,​String> mappingProperties,
                                            SchemaAttributeProperties schemaAttributeProperties)
                                     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
        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
        schemaAttributeExternalIdentifierSource - component that issuing this request.
        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​(String userId,
                                                        String assetManagerGUID,
                                                        String assetManagerName,
                                                        boolean assetManagerIsHome,
                                                        String schemaElementGUID,
                                                        String templateGUID,
                                                        String schemaAttributeExternalIdentifier,
                                                        String schemaAttributeExternalIdentifierName,
                                                        String schemaAttributeExternalIdentifierUsage,
                                                        String schemaAttributeExternalIdentifierSource,
                                                        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.
        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
        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
        schemaAttributeExternalIdentifierSource - component that issuing this request.
        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 userId,
                                          String assetManagerGUID,
                                          String assetManagerName,
                                          String schemaAttributeGUID,
                                          String schemaAttributeExternalIdentifier,
                                          boolean isMergeUpdate,
                                          SchemaAttributeProperties schemaAttributeProperties)
                                   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
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • setSchemaElementAsCalculatedValue

        public void setSchemaElementAsCalculatedValue​(String userId,
                                                      String assetManagerGUID,
                                                      String assetManagerName,
                                                      boolean assetManagerIsHome,
                                                      String schemaElementGUID,
                                                      String schemaElementExternalIdentifier,
                                                      String formula)
                                               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
        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.
        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
        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)