Class ValidValuesExchangeClient

  • All Implemented Interfaces:
    ValidValuesExchangeInterface

    public class ValidValuesExchangeClient
    extends ExchangeClientBase
    implements ValidValuesExchangeInterface
    ValidValuesExchangeClient provides the API operations to create and maintain lists of valid value definitions grouped into a valid value set. Both valid value definitions and valid value sets have the same attributes and so inherit from ValidValue where all the attributes are defined. A set is just grouping of valid values. Valid value definitions and set can be nested many times in other valid value sets.
    • Constructor Summary

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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void attachValidValueToSet​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String setGUID, java.lang.String validValueGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Create a link between a valid value set or definition and a set.
      java.lang.String createValidValueDefinition​(java.lang.String userId, java.lang.String setGUID, java.lang.String assetManagerGUID, java.lang.String assetManagerName, ExternalIdentifierProperties externalIdentifierProperties, ValidValueProperties validValueProperties)
      Create a new valid value definition.
      java.lang.String createValidValueSet​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, ExternalIdentifierProperties externalIdentifierProperties, ValidValueProperties validValueProperties)
      Create a new valid value set.
      void detachValidValueFromSet​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String setGUID, java.lang.String validValueGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the link between a valid value and a set it is a member of.
      java.util.List<ValidValueElement> findValidValues​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String searchString, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Locate valid values that match the search string.
      java.util.List<ValidValueElement> getSetsForValidValue​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String validValueGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Page through the list of valid value sets that a valid value definition/set belongs to.
      ValidValueElement getValidValueByGUID​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String validValueGUID, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve a specific valid value from the repository.
      java.util.List<ValidValueElement> getValidValueByName​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String validValueName, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Retrieve a specific valid value from the repository.
      java.util.List<ValidValueElement> getValidValueSetMembers​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String validValueSetGUID, int startFrom, int pageSize, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Page through the members of a valid value set.
      void removeValidValue​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String validValueGUID, java.lang.String validValueExternalIdentifier, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Remove the valid value form the repository.
      void updateValidValue​(java.lang.String userId, java.lang.String assetManagerGUID, java.lang.String assetManagerName, java.lang.String validValueGUID, java.lang.String validValueExternalIdentifier, boolean isMergeUpdate, ValidValueProperties validValueProperties, java.util.Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing)
      Update the properties of the valid value.
      • Methods inherited from class java.lang.Object

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

      • ValidValuesExchangeClient

        public ValidValuesExchangeClient​(java.lang.String serverName,
                                         java.lang.String serverPlatformURLRoot,
                                         AuditLog auditLog)
                                  throws InvalidParameterException
        Create a new client with no authentication embedded in the HTTP request.
        Parameters:
        serverName - name of the server to connect to
        serverPlatformURLRoot - the network address of the server running the OMAS REST servers
        auditLog - logging destination
        Throws:
        InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
      • ValidValuesExchangeClient

        public ValidValuesExchangeClient​(java.lang.String serverName,
                                         java.lang.String serverPlatformURLRoot)
                                  throws InvalidParameterException
        Create a new client with no authentication embedded in the HTTP request.
        Parameters:
        serverName - name of the server to connect to
        serverPlatformURLRoot - the network address of the server running the OMAS REST servers
        Throws:
        InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
      • ValidValuesExchangeClient

        public ValidValuesExchangeClient​(java.lang.String serverName,
                                         java.lang.String serverPlatformURLRoot,
                                         java.lang.String userId,
                                         java.lang.String password,
                                         AuditLog auditLog)
                                  throws InvalidParameterException
        Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request.
        Parameters:
        serverName - name of the server to connect to
        serverPlatformURLRoot - the network address of the server running the OMAS REST servers
        userId - caller's userId embedded in all HTTP requests
        password - caller's userId embedded in all HTTP requests
        auditLog - logging destination
        Throws:
        InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
      • ValidValuesExchangeClient

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

        public ValidValuesExchangeClient​(java.lang.String serverName,
                                         java.lang.String serverPlatformURLRoot,
                                         java.lang.String userId,
                                         java.lang.String password)
                                  throws InvalidParameterException
        Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request.
        Parameters:
        serverName - name of the server to connect to
        serverPlatformURLRoot - the network address of the server running the OMAS REST servers
        userId - caller's userId embedded in all HTTP requests
        password - caller's userId embedded in all HTTP requests
        Throws:
        InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
    • Method Detail

      • createValidValueSet

        public java.lang.String createValidValueSet​(java.lang.String userId,
                                                    java.lang.String assetManagerGUID,
                                                    java.lang.String assetManagerName,
                                                    ExternalIdentifierProperties externalIdentifierProperties,
                                                    ValidValueProperties validValueProperties)
                                             throws InvalidParameterException,
                                                    UserNotAuthorizedException,
                                                    PropertyServerException
        Create a new valid value set. This just creates the Set itself. Members are added either as they are created, or they can be attached to a set after they are created.
        Specified by:
        createValidValueSet in interface ValidValuesExchangeInterface
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        externalIdentifierProperties - optional properties used to define an external identifier
        validValueProperties - properties to store
        Returns:
        unique identifier for the new set
        Throws:
        InvalidParameterException - one of the parameters is invalid.
        UserNotAuthorizedException - the user is not authorized to make this request.
        PropertyServerException - the repository is not available or not working properly.
      • updateValidValue

        public void updateValidValue​(java.lang.String userId,
                                     java.lang.String assetManagerGUID,
                                     java.lang.String assetManagerName,
                                     java.lang.String validValueGUID,
                                     java.lang.String validValueExternalIdentifier,
                                     boolean isMergeUpdate,
                                     ValidValueProperties validValueProperties,
                                     java.util.Date effectiveTime,
                                     boolean forLineage,
                                     boolean forDuplicateProcessing)
                              throws InvalidParameterException,
                                     UserNotAuthorizedException,
                                     PropertyServerException
        Update the properties of the valid value. All properties are updated. If only changing some if the properties, retrieve the current values from the repository and pass existing values back on this call if they are not to change.
        Specified by:
        updateValidValue in interface ValidValuesExchangeInterface
        Parameters:
        userId - calling user.
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        validValueGUID - unique identifier of the valid value.
        validValueExternalIdentifier - unique identifier of the valid value in the external asset manager
        isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
        validValueProperties - properties to store
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Throws:
        InvalidParameterException - one of the parameters is invalid.
        UserNotAuthorizedException - the user is not authorized to make this request.
        PropertyServerException - the repository is not available or not working properly.
      • removeValidValue

        public void removeValidValue​(java.lang.String userId,
                                     java.lang.String assetManagerGUID,
                                     java.lang.String assetManagerName,
                                     java.lang.String validValueGUID,
                                     java.lang.String validValueExternalIdentifier,
                                     java.util.Date effectiveTime,
                                     boolean forLineage,
                                     boolean forDuplicateProcessing)
                              throws InvalidParameterException,
                                     UserNotAuthorizedException,
                                     PropertyServerException
        Remove the valid value form the repository. All links to it are deleted too.
        Specified by:
        removeValidValue in interface ValidValuesExchangeInterface
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        validValueGUID - unique identifier of the valid value.
        validValueExternalIdentifier - unique identifier of the valid value in the external asset manager
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Throws:
        InvalidParameterException - one of the parameters is invalid.
        UserNotAuthorizedException - the user is not authorized to make this request.
        PropertyServerException - the repository is not available or not working properly.
      • attachValidValueToSet

        public void attachValidValueToSet​(java.lang.String userId,
                                          java.lang.String assetManagerGUID,
                                          java.lang.String assetManagerName,
                                          java.lang.String setGUID,
                                          java.lang.String validValueGUID,
                                          java.util.Date effectiveTime,
                                          boolean forLineage,
                                          boolean forDuplicateProcessing)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Create a link between a valid value set or definition and a set. This means the valid value is a member of the set.
        Specified by:
        attachValidValueToSet in interface ValidValuesExchangeInterface
        Parameters:
        userId - calling user.
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        setGUID - unique identifier of the set.
        validValueGUID - unique identifier of the valid value to add to the set.
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Throws:
        InvalidParameterException - one of the parameters is invalid.
        UserNotAuthorizedException - the user is not authorized to make this request.
        PropertyServerException - the repository is not available or not working properly.
      • detachValidValueFromSet

        public void detachValidValueFromSet​(java.lang.String userId,
                                            java.lang.String assetManagerGUID,
                                            java.lang.String assetManagerName,
                                            java.lang.String setGUID,
                                            java.lang.String validValueGUID,
                                            java.util.Date effectiveTime,
                                            boolean forLineage,
                                            boolean forDuplicateProcessing)
                                     throws InvalidParameterException,
                                            UserNotAuthorizedException,
                                            PropertyServerException
        Remove the link between a valid value and a set it is a member of.
        Specified by:
        detachValidValueFromSet in interface ValidValuesExchangeInterface
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        setGUID - owning set
        validValueGUID - unique identifier of the member to be removed.
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Throws:
        InvalidParameterException - one of the parameters is invalid.
        UserNotAuthorizedException - the user is not authorized to make this request.
        PropertyServerException - the repository is not available or not working properly.
      • getValidValueByGUID

        public ValidValueElement getValidValueByGUID​(java.lang.String userId,
                                                     java.lang.String assetManagerGUID,
                                                     java.lang.String assetManagerName,
                                                     java.lang.String validValueGUID,
                                                     java.util.Date effectiveTime,
                                                     boolean forLineage,
                                                     boolean forDuplicateProcessing)
                                              throws InvalidParameterException,
                                                     UserNotAuthorizedException,
                                                     PropertyServerException
        Retrieve a specific valid value from the repository.
        Specified by:
        getValidValueByGUID in interface ValidValuesExchangeInterface
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        validValueGUID - unique identifier of the valid value.
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Returns:
        Valid value bean
        Throws:
        InvalidParameterException - one of the parameters is invalid.
        UserNotAuthorizedException - the user is not authorized to make this request.
        PropertyServerException - the repository is not available or not working properly.
      • getValidValueByName

        public java.util.List<ValidValueElement> getValidValueByName​(java.lang.String userId,
                                                                     java.lang.String assetManagerGUID,
                                                                     java.lang.String assetManagerName,
                                                                     java.lang.String validValueName,
                                                                     int startFrom,
                                                                     int pageSize,
                                                                     java.util.Date effectiveTime,
                                                                     boolean forLineage,
                                                                     boolean forDuplicateProcessing)
                                                              throws InvalidParameterException,
                                                                     UserNotAuthorizedException,
                                                                     PropertyServerException
        Retrieve a specific valid value from the repository. Duplicates may be returned if multiple valid values have been assigned the same qualified name.
        Specified by:
        getValidValueByName in interface ValidValuesExchangeInterface
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        validValueName - qualified name of the valid value.
        startFrom - starting element (used in paging through large result sets)
        pageSize - maximum number of results to return
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Returns:
        Valid value beans
        Throws:
        InvalidParameterException - one of the parameters is invalid.
        UserNotAuthorizedException - the user is not authorized to make this request.
        PropertyServerException - the repository is not available or not working properly.
      • findValidValues

        public java.util.List<ValidValueElement> findValidValues​(java.lang.String userId,
                                                                 java.lang.String assetManagerGUID,
                                                                 java.lang.String assetManagerName,
                                                                 java.lang.String searchString,
                                                                 int startFrom,
                                                                 int pageSize,
                                                                 java.util.Date effectiveTime,
                                                                 boolean forLineage,
                                                                 boolean forDuplicateProcessing)
                                                          throws InvalidParameterException,
                                                                 UserNotAuthorizedException,
                                                                 PropertyServerException
        Locate valid values that match the search string. It considers the names, description, scope, usage and preferred value.
        Specified by:
        findValidValues in interface ValidValuesExchangeInterface
        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 value to look for - may contain RegEx characters.
        startFrom - paging starting point
        pageSize - maximum number of return values.
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Returns:
        list of valid value beans
        Throws:
        InvalidParameterException - one of the parameters is invalid.
        UserNotAuthorizedException - the user is not authorized to make this request.
        PropertyServerException - the repository is not available or not working properly.
      • getValidValueSetMembers

        public java.util.List<ValidValueElement> getValidValueSetMembers​(java.lang.String userId,
                                                                         java.lang.String assetManagerGUID,
                                                                         java.lang.String assetManagerName,
                                                                         java.lang.String validValueSetGUID,
                                                                         int startFrom,
                                                                         int pageSize,
                                                                         java.util.Date effectiveTime,
                                                                         boolean forLineage,
                                                                         boolean forDuplicateProcessing)
                                                                  throws InvalidParameterException,
                                                                         UserNotAuthorizedException,
                                                                         PropertyServerException
        Page through the members of a valid value set.
        Specified by:
        getValidValueSetMembers in interface ValidValuesExchangeInterface
        Parameters:
        userId - calling user.
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        validValueSetGUID - unique identifier of the valid value set.
        startFrom - paging starting point
        pageSize - maximum number of return values.
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Returns:
        list of valid value beans
        Throws:
        InvalidParameterException - one of the parameters is invalid.
        UserNotAuthorizedException - the user is not authorized to make this request.
        PropertyServerException - the repository is not available or not working properly.
      • getSetsForValidValue

        public java.util.List<ValidValueElement> getSetsForValidValue​(java.lang.String userId,
                                                                      java.lang.String assetManagerGUID,
                                                                      java.lang.String assetManagerName,
                                                                      java.lang.String validValueGUID,
                                                                      int startFrom,
                                                                      int pageSize,
                                                                      java.util.Date effectiveTime,
                                                                      boolean forLineage,
                                                                      boolean forDuplicateProcessing)
                                                               throws InvalidParameterException,
                                                                      UserNotAuthorizedException,
                                                                      PropertyServerException
        Page through the list of valid value sets that a valid value definition/set belongs to.
        Specified by:
        getSetsForValidValue in interface ValidValuesExchangeInterface
        Parameters:
        userId - calling user.
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        validValueGUID - unique identifier of valid value to query
        startFrom - paging starting point
        pageSize - maximum number of return values.
        effectiveTime - optional date for effective time of the query. Null means any effective time
        forLineage - return elements marked with the Memento classification?
        forDuplicateProcessing - do not merge elements marked as duplicates?
        Returns:
        list of valid value beans
        Throws:
        InvalidParameterException - one of the parameters is invalid.
        UserNotAuthorizedException - the user is not authorized to make this request.
        PropertyServerException - the repository is not available or not working properly.