Class ValidValuesExchangeService

java.lang.Object
org.odpi.openmetadata.integrationservices.catalog.connector.ValidValuesExchangeService

public class ValidValuesExchangeService extends Object
ValidValuesExchangeService is the context for managing valid values and reference data.
  • Method Details

    • isForLineage

      public boolean isForLineage()
      Return whether retrieval requests from this service are to include elements with the Memento classification attached or not.
      Returns:
      boolean flag
    • setForLineage

      public void setForLineage(boolean forLineage)
      Set up whether retrieval requests from this service are to include elements with the Memento classification attached or not.
      Parameters:
      forLineage - boolean flag
    • isForDuplicateProcessing

      public boolean isForDuplicateProcessing()
      Return whether retrieval requests from this service are to avoid merging duplicates or not.
      Returns:
      boolean flag
    • setForDuplicateProcessing

      public void setForDuplicateProcessing(boolean forDuplicateProcessing)
      Set up whether retrieval requests from this service are to avoid merging duplicates or not.
      Parameters:
      forDuplicateProcessing - boolean flag
    • createValidValueSet

      public String createValidValueSet(ExternalIdentifierProperties externalIdentifierProperties, ValidValueProperties validValueProperties, Date effectiveTime) 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.
      Parameters:
      externalIdentifierProperties - optional properties used to define an external identifier
      validValueProperties - properties to store
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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.
    • createValidValueDefinition

      public String createValidValueDefinition(String setGUID, ExternalIdentifierProperties externalIdentifierProperties, ValidValueProperties validValueProperties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new valid value definition.
      Parameters:
      setGUID - unique identifier of the set to attach this to.
      externalIdentifierProperties - optional properties used to define an external identifier
      validValueProperties - properties to store
      effectiveTime - optional date for effective time of the query. Null means any effective time
      Returns:
      unique identifier for the new definition
      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(String validValueGUID, String validValueExternalIdentifier, boolean isMergeUpdate, ValidValueProperties validValueProperties, Date effectiveTime) 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.
      Parameters:
      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
      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(String validValueGUID, String validValueExternalIdentifier, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the valid value form the repository. All links to it are deleted too.
      Parameters:
      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
      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(String setGUID, String validValueGUID, Date effectiveTime) 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.
      Parameters:
      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
      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(String setGUID, String validValueGUID, ValidValueMembershipProperties properties, Date effectiveTime) 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.
      Parameters:
      setGUID - unique identifier of the set.
      validValueGUID - unique identifier of the valid value to add to the set.
      properties - is this the default value - used when creating a list of valid values
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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(String setGUID, String validValueGUID, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the link between a valid value and a set it is a member of.
      Parameters:
      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
      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.
    • assignReferenceValueToItem

      public void assignReferenceValueToItem(String userId, String assetManagerGUID, String assetManagerName, String validValueGUID, String referenceableGUID, ReferenceValueAssignmentProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link a valid value as a reference value to a referencable to act as a tag/classification to help with locating and grouping the referenceable.
      Parameters:
      userId - calling user.
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      validValueGUID - unique identifier of the valid value.
      referenceableGUID - unique identifier of the element to link to.
      properties - details of the relationship
      effectiveTime - optional date for effective time of the query. Null means any effective time
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • unassignReferenceValueFromItem

      public void unassignReferenceValueFromItem(String userId, String assetManagerGUID, String assetManagerName, String validValueGUID, String referenceableGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the reference value link between a valid value and a referenceable (item).
      Parameters:
      userId - calling user.
      assetManagerGUID - unique identifier of software capability representing the caller
      assetManagerName - unique name of software capability representing the caller
      validValueGUID - unique identifier of the valid value.
      referenceableGUID - unique identifier of the element to remove the link from.
      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(String validValueGUID, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve a specific valid value from the repository.
      Parameters:
      validValueGUID - unique identifier of the valid value.
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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 List<ValidValueElement> getValidValueByName(String validValueName, int startFrom, int pageSize, Date effectiveTime) 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.
      Parameters:
      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
      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 List<ValidValueElement> findValidValues(String searchString, int startFrom, int pageSize, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Locate valid values that match the search string. It considers the names, description, scope, usage and preferred value.
      Parameters:
      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
      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 List<ValidValueMember> getValidValueSetMembers(String validValueSetGUID, int startFrom, int pageSize, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the members of a valid value set.
      Parameters:
      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
      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 List<ValidValueElement> getSetsForValidValue(String validValueGUID, int startFrom, int pageSize, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the list of valid value sets that a valid value definition/set belongs to.
      Parameters:
      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
      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.
    • getReferenceValueAssignedItems

      public List<ReferenceValueAssignmentItemElement> getReferenceValueAssignedItems(String validValueGUID, int startFrom, int pageSize, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the list of referenceables that have this valid value as a reference value.
      Parameters:
      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
      Returns:
      list of referenceable 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.
    • getReferenceValueAssignments

      public List<ReferenceValueAssignmentDefinitionElement> getReferenceValueAssignments(String referenceableGUID, int startFrom, int pageSize, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Page through the list of assigned reference values for a referenceable.
      Parameters:
      referenceableGUID - unique identifier of assigned item
      startFrom - paging starting point
      pageSize - maximum number of return values.
      effectiveTime - optional date for effective time of the query. Null means any effective time
      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.