Class ValidValuesExchangeService
java.lang.Object
org.odpi.openmetadata.integrationservices.catalog.connector.ValidValuesExchangeService
ValidValuesExchangeService is the context for managing valid values and reference data.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
assignReferenceValueToItem
(String userId, String assetManagerGUID, String assetManagerName, String validValueGUID, String referenceableGUID, ReferenceValueAssignmentProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) 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.void
attachValidValueToSet
(String setGUID, String validValueGUID, Date effectiveTime) Create a link between a valid value set or definition and a set.void
attachValidValueToSet
(String setGUID, String validValueGUID, ValidValueMembershipProperties properties, Date effectiveTime) Create a link between a valid value set or definition and a set.createValidValueDefinition
(String setGUID, ExternalIdentifierProperties externalIdentifierProperties, ValidValueProperties validValueProperties, Date effectiveTime) Create a new valid value definition.createValidValueSet
(ExternalIdentifierProperties externalIdentifierProperties, ValidValueProperties validValueProperties, Date effectiveTime) Create a new valid value set.void
detachValidValueFromSet
(String setGUID, String validValueGUID, Date effectiveTime) Remove the link between a valid value and a set it is a member of.findValidValues
(String searchString, int startFrom, int pageSize, Date effectiveTime) Locate valid values that match the search string.getReferenceValueAssignedItems
(String validValueGUID, int startFrom, int pageSize, Date effectiveTime) Page through the list of referenceables that have this valid value as a reference value.getReferenceValueAssignments
(String referenceableGUID, int startFrom, int pageSize, Date effectiveTime) Page through the list of assigned reference values for a referenceable.getSetsForValidValue
(String validValueGUID, int startFrom, int pageSize, Date effectiveTime) Page through the list of valid value sets that a valid value definition/set belongs to.getValidValueByGUID
(String validValueGUID, Date effectiveTime) Retrieve a specific valid value from the repository.getValidValueByName
(String validValueName, int startFrom, int pageSize, Date effectiveTime) Retrieve a specific valid value from the repository.getValidValueSetMembers
(String validValueSetGUID, int startFrom, int pageSize, Date effectiveTime) Page through the members of a valid value set.boolean
Return whether retrieval requests from this service are to avoid merging duplicates or not.boolean
Return whether retrieval requests from this service are to include elements with the Memento classification attached or not.void
removeValidValue
(String validValueGUID, String validValueExternalIdentifier, Date effectiveTime) Remove the valid value form the repository.void
setForDuplicateProcessing
(boolean forDuplicateProcessing) Set up whether retrieval requests from this service are to avoid merging duplicates or not.void
setForLineage
(boolean forLineage) Set up whether retrieval requests from this service are to include elements with the Memento classification attached or not.void
unassignReferenceValueFromItem
(String userId, String assetManagerGUID, String assetManagerName, String validValueGUID, String referenceableGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Remove the reference value link between a valid value and a referenceable (item).void
updateValidValue
(String validValueGUID, String validValueExternalIdentifier, boolean isMergeUpdate, ValidValueProperties validValueProperties, Date effectiveTime) Update the properties of the valid value.
-
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 identifiervalidValueProperties
- properties to storeeffectiveTime
- 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 identifiervalidValueProperties
- properties to storeeffectiveTime
- 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 managerisMergeUpdate
- should the new properties be merged with existing properties (true) or completely replace them (false)?validValueProperties
- properties to storeeffectiveTime
- 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 managereffectiveTime
- 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 valueseffectiveTime
- 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 setvalidValueGUID
- 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 callerassetManagerName
- unique name of software capability representing the callervalidValueGUID
- unique identifier of the valid value.referenceableGUID
- unique identifier of the element to link to.properties
- details of the relationshipeffectiveTime
- optional date for effective time of the query. Null means any effective timeforLineage
- 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 callerassetManagerName
- unique name of software capability representing the callervalidValueGUID
- 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 timeforLineage
- 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 returneffectiveTime
- 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 pointpageSize
- 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 pointpageSize
- 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 querystartFrom
- paging starting pointpageSize
- 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 querystartFrom
- paging starting pointpageSize
- 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 itemstartFrom
- paging starting pointpageSize
- 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.
-