Class OpenMetadataClientBase
java.lang.Object
org.odpi.openmetadata.frameworks.openmetadata.client.OpenMetadataClient
org.odpi.openmetadata.frameworkservices.omf.client.OpenMetadataClientBase
- All Implemented Interfaces:
ExternalIdentifiersInterface
,MetadataElementInterface
,MultiLanguageInterface
,OpenMetadataTypesInterface
,StewardshipRequestInterface
,ValidMetadataValuesInterface
- Direct Known Subclasses:
EgeriaOpenMetadataStoreClient
,EgeriaOpenMetadataStoreHandler
OpenMetadataClientBase provides an interface to the open metadata store. This is part of the Governance Action Framework (GAF)
and provides a comprehensive interface for working with all types of metadata, subject to the user's (and this OMAS's) security permissions.
The interface supports search, maintenance of metadata elements, classifications and relationships plus the ability to raise incident reports
and todos along with the ability to work with metadata valid values and translations.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final InvalidParameterHandler
protected final OpenMetadataRelationshipBuilder
Fields inherited from class org.odpi.openmetadata.frameworks.openmetadata.client.OpenMetadataClient
serverName, serverPlatformURLRoot
-
Constructor Summary
ConstructorsConstructorDescriptionOpenMetadataClientBase
(String serverName, String serverPlatformURLRoot, int maxPageSize) Create a new client with no authentication embedded in the HTTP request.OpenMetadataClientBase
(String serverName, String serverPlatformURLRoot, String serverUserId, String serverPassword, int maxPageSize) Create a new client that passes userId and password in each HTTP request. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addExternalIdentifier
(String userId, String externalScopeGUID, String externalScopeName, String externalScopeTypeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Add a new external identifier to an existing open metadata element.void
archiveMetadataElementInStore
(String userId, String metadataElementGUID, DeleteOptions deleteOptions) Archive a specific metadata element.void
classifyMetadataElementInStore
(String userId, String metadataElementGUID, String classificationName, MetadataSourceOptions metadataSourceOptions, NewElementProperties properties) Add a new classification to the metadata element.void
clearTranslation
(String userId, String elementGUID, String language, String locale) Remove the translation for a particular language/locale for a metadata element.void
clearValidMetadataMapName
(String userId, String typeName, String propertyName, String preferredValue) Remove a valid map name value for a property.void
clearValidMetadataMapValue
(String userId, String typeName, String propertyName, String mapName, String preferredValue) Remove a valid map name value for a property.void
clearValidMetadataValue
(String userId, String typeName, String propertyName, String preferredValue) Remove a valid value for a property.void
confirmSynchronization
(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String externalIdentifier) Confirm that the values of a particular metadata element have been synchronized.createIncidentReport
(String userId, String qualifiedName, int domainIdentifier, String background, List<IncidentImpactedElement> impactedResources, List<IncidentDependency> previousIncidents, Map<String, Integer> incidentClassifiers, Map<String, String> additionalProperties, String originatorGUID) Create an incident report to capture the situation detected by the caller.createMetadataElementFromTemplate
(String userId, String metadataElementTypeName, TemplateOptions templateOptions, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, NewElementProperties parentRelationshipProperties) Create a new metadata element in the metadata store.createMetadataElementInStore
(String userId, String metadataElementTypeName, NewElementOptions newElementOptions, Map<String, NewElementProperties> initialClassifications, NewElementProperties properties, NewElementProperties parentRelationshipProperties) Create a new metadata element in the metadata store.createRelatedElementsInStore
(String userId, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, MakeAnchorOptions makeAnchorOptions, NewElementProperties properties) Create a relationship between two metadata elements.createRelatedElementsInStore
(String userId, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, MetadataSourceOptions metadataSourceOptions, NewElementProperties properties) Create a relationship between two metadata elements.void
declassifyMetadataElementInStore
(String userId, String metadataElementGUID, String classificationName, MetadataSourceOptions metadataSourceOptions) Remove the named classification from a specific metadata element.void
deleteMetadataElementInStore
(String userId, String metadataElementGUID, DeleteOptions deleteOptions) Delete a specific metadata element.void
deleteRelationshipInStore
(String userId, String relationshipGUID, DeleteOptions deleteOptions) Delete a relationship between two metadata elements.void
detachRelatedElementsInStore
(String userId, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, DeleteOptions deleteOptions) Delete all relationships of a particular type between two metadata elements.findAttributeTypeDefsByCategory
(String userId, OpenMetadataAttributeTypeDefCategory category) Returns all the AttributeTypeDefs for a specific category.findElementsForAnchor
(String userId, String searchString, String anchorGUID, QueryOptions queryOptions) Return a list of elements with the requested search string in their (display, resource)name, qualified name, title, text, summary, identifier or description.findElementsInAnchorDomain
(String userId, String searchString, String anchorDomainName, SearchOptions searchOptions) Return a list of elements with the requested search string in their (display, resource)name, qualified name, title, text, summary, identifier or description.findElementsInAnchorScope
(String userId, String searchString, String anchorScopeGUID, SearchOptions searchOptions) Return a list of elements with the requested search string in their (display, resource)name, qualified name, title, text, summary, identifier or description.findMetadataElements
(String userId, SearchProperties searchProperties, SearchClassifications matchClassifications, QueryOptions queryOptions) Return a list of metadata elements that match the supplied criteria.findMetadataElementsWithString
(String userId, String searchString, SearchOptions searchOptions) Retrieve the metadata elements of the requested type that contain the requested string.findRelationshipsBetweenMetadataElements
(String userId, String relationshipTypeName, SearchProperties searchProperties, QueryOptions queryOptions) Return a list of relationships that match the requested conditions.findTypeDefsByCategory
(String userId, OpenMetadataTypeDefCategory category) Returns all the TypeDefs for a specific category.findTypesByExternalId
(String userId, String standard, String organization, String identifier) Return the types that are linked to the elements from the specified standard.getAllTypes
(String userId) Returns the list of different types of metadata organized into two groups.getAnchoredElementsGraph
(String userId, String elementGUID, QueryOptions queryOptions) Return all the elements that are anchored to an asset plus relationships between these elements and to other elements.getAttributeTypeDefByGUID
(String userId, String guid) Return the AttributeTypeDef identified by the GUID.getAttributeTypeDefByName
(String userId, String name) Return the AttributeTypeDef identified by the unique name.getConsistentMetadataValues
(String userId, String typeName, String propertyName, String mapName, String preferredValue, int startFrom, int pageSize) Retrieve all the consistent valid values for the requested property.getElementsForExternalIdentifier
(String userId, String externalScopeGUID, String externalScopeName, String externalIdentifier, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Return the list of headers for open metadata elements that are associated with a particular external identifier.protected ExternalIdEffectiveTimeQueryRequestBody
getExternalIdEffectiveTimeQueryRequestBody
(String externalScopeGUID, String externalScopeName, Date effectiveTime) Return the asset manager identifiers packaged in an appropriate request body.getExternalIdentifiers
(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Assemble the correlation headers attached to the supplied element guid.int
Get the maximum paging size.getMetadataElementByGUID
(String userId, String elementGUID, GetOptions getOptions) Retrieve the metadata element using its unique identifier.getMetadataElementByUniqueName
(String userId, String uniqueName, String uniquePropertyName, GetOptions getOptions) Retrieve the metadata element using its unique name (typically the qualified name).getMetadataElementGUIDByUniqueName
(String userId, String uniqueName, String uniquePropertyName, GetOptions getOptions) Retrieve the unique identifier of a metadata element using its unique name (typically the qualified name).getMetadataElementHistory
(String userId, String elementGUID, HistoricalQueryOptions queryOptions) Return each of the versions of a metadata element.getMetadataElementRelationships
(String userId, String metadataElementAtEnd1GUID, String metadataElementAtEnd2GUID, String relationshipTypeName, QueryOptions queryOptions) Retrieve the relationships linking to the supplied elements.getRelatedMetadataElement
(String userId, String elementGUID, int startingAtEnd, String relationshipTypeName, GetOptions getOptions) Retrieve the metadata element connected to the supplied element for a relationship type that only allows one relationship to be attached.getRelatedMetadataElements
(String userId, String elementGUID, int startingAtEnd, String relationshipTypeName, QueryOptions queryOptions) Retrieve the metadata elements connected to the supplied element.getRelationshipByGUID
(String userId, String relationshipGUID, GetOptions getOptions) Retrieve the relationship using its unique identifier.getRelationshipHistory
(String userId, String relationshipGUID, HistoricalQueryOptions queryOptions) Return each of the versions of a relationship.getSpecification
(String userId, String elementGUID) Retrieve the reference data for this element.getSubTypes
(String userId, String typeName) Returns all the TypeDefs for a specific subtype.getTranslation
(String userId, String elementGUID, String language, String locale) Retrieve the translation for the matching language/locale.getTranslations
(String userId, String elementGUID, int startFrom, int pageSize) Retrieve all translations associated with a metadata element.getTypeDefByGUID
(String userId, String guid) Return the TypeDef identified by the GUID.getTypeDefByName
(String userId, String name) Return the TypeDef identified by the unique name.getValidMetadataMapName
(String userId, String typeName, String propertyName, String preferredValue) Retrieve details of a specific valid name for a map property.getValidMetadataMapValue
(String userId, String typeName, String propertyName, String mapName, String preferredValue) Retrieve details of a specific valid value for a map name.getValidMetadataValue
(String userId, String typeName, String propertyName, String preferredValue) Retrieve details of a specific valid value for a property.getValidMetadataValues
(String userId, String typeName, String propertyName, int startFrom, int pageSize) Retrieve all the valid values for the requested property.getVendorProperties
(String userId, String openMetadataElementGUID, String openMetadataElementTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Return the vendor properties associated with an element.openToDo
(String userId, String qualifiedName, String title, String instructions, String category, int priority, Date dueDate, Map<String, String> additionalProperties, String assignToGUID, String sponsorGUID, String originatorGUID, List<NewActionTarget> actionTargets) Create a "To Do" request for someone to work on.void
reclassifyMetadataElementInStore
(String userId, String metadataElementGUID, String classificationName, UpdateOptions updateOptions, ElementProperties properties) Update the properties of a classification that is currently attached to a specific metadata element.registerContextEvent
(String userId, String anchorGUID, Map<String, DependentContextEventProperties> parentContextEvents, Map<String, DependentContextEventProperties> childContextEvents, Map<String, RelatedContextEventProperties> relatedContextEvents, Map<String, ContextEventImpactProperties> impactedElements, Map<String, RelationshipProperties> effectedDataResourceGUIDs, Map<String, RelationshipProperties> contextEventEvidenceGUIDs, ContextEventProperties contextEventProperties) Create a new context eventvoid
removeExternalIdentifier
(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String externalIdentifier, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Remove an external identifier from an existing open metadata element.void
removeExternalScope
(String userId, String externalScopeGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Remove the scope associated with a collection of external identifiers.void
setConsistentMetadataValues
(String userId, String typeName1, String propertyName1, String mapName1, String preferredValue1, String typeName2, String propertyName2, String mapName2, String preferredValue2) Set up consistent metadata values relationship between the two property values.void
setMaxPageSize
(int maxPageSize) Set the max page size.void
setTranslation
(String userId, String elementGUID, TranslationDetail translationDetail) Create or update the translation for a particular language/locale for a metadata element.void
setUpValidMetadataMapName
(String userId, String typeName, String propertyName, ValidMetadataValue validMetadataValue) Create or update the valid value for a name that can be stored in a particular open metadata property name.void
setUpValidMetadataMapValue
(String userId, String typeName, String propertyName, String mapName, ValidMetadataValue validMetadataValue) Create or update the valid value for a name that can be stored in a particular open metadata property name.void
setUpValidMetadataValue
(String userId, String typeName, String propertyName, ValidMetadataValue validMetadataValue) Create or update the valid value for a particular open metadata property name.void
updateClassificationEffectivityInStore
(String userId, String metadataElementGUID, String classificationName, MetadataSourceOptions metadataSourceOptions, Date effectiveFrom, Date effectiveTo) Update the effectivity dates of a specific classification attached to a metadata element.void
updateExternalIdentifier
(String userId, String externalScopeGUID, String externalScopeName, String externalScopeTypeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Update the description of a specific external identifier.void
updateMetadataElementEffectivityInStore
(String userId, String metadataElementGUID, MetadataSourceOptions metadataSourceOptions, Date effectiveFrom, Date effectiveTo) Update the status of specific metadata element.void
updateMetadataElementInStore
(String userId, String metadataElementGUID, UpdateOptions updateOptions, ElementProperties properties) Update the properties of a specific metadata element.void
updateMetadataElementStatusInStore
(String userId, String metadataElementGUID, MetadataSourceOptions metadataSourceOptions, ElementStatus newElementStatus) Update the status of specific metadata element.void
updateRelatedElementsInStore
(String userId, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, UpdateOptions updateOptions, ElementProperties properties) Update all relationships of a particular type between two metadata elements.void
updateRelationshipEffectivityInStore
(String userId, String relationshipGUID, MetadataSourceOptions metadataSourceOptions, Date effectiveFrom, Date effectiveTo) Update the effectivity dates of a specific relationship between metadata elements.void
updateRelationshipInStore
(String userId, String relationshipGUID, UpdateOptions updateOptions, ElementProperties properties) Update the properties associated with a relationship.boolean
validateExternalIdentifier
(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String elementExternalIdentifier, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) Check that the supplied external identifier matches the element GUID.boolean
validateMetadataMapName
(String userId, String typeName, String propertyName, String actualValue) Validate whether the name found in an open metadata map property is valid.boolean
validateMetadataMapValue
(String userId, String typeName, String propertyName, String mapName, String actualValue) Validate whether the name found in an open metadata map property is valid.boolean
validateMetadataValue
(String userId, String typeName, String propertyName, String actualValue) Validate whether the value found in an open metadata property is valid.Methods inherited from class org.odpi.openmetadata.frameworks.openmetadata.client.OpenMetadataClient
createMetadataElementInStore, createMetadataElementInStore, findMetadataElementsByClassificationPropertyValue, findMetadataElementsByClassificationPropertyValue, findMetadataElementsByPropertyValue, findMetadataElementsByPropertyValue, getDeletedElementByUniqueName, getMetadataElementsByClassification, getMetadataElementsByClassificationPropertyValue, getMetadataElementsByClassificationPropertyValue, getMetadataElementsByClassificationPropertyValue, getMetadataElementsByPropertyValue, getMetadataElementsByPropertyValue, getServerName, toString
-
Field Details
-
invalidParameterHandler
-
relationshipBuilder
-
-
Constructor Details
-
OpenMetadataClientBase
public OpenMetadataClientBase(String serverName, String serverPlatformURLRoot, int maxPageSize) throws InvalidParameterException Create a new client with no authentication embedded in the HTTP request.- Parameters:
serverName
- name of the server to connect toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesmaxPageSize
- maximum value allowed for page size- Throws:
InvalidParameterException
- there is a problem creating the client-side components to issue any REST API calls.
-
OpenMetadataClientBase
public OpenMetadataClientBase(String serverName, String serverPlatformURLRoot, String serverUserId, String serverPassword, int maxPageSize) 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 toserverPlatformURLRoot
- the network address of the server running the OMAS REST servicesserverUserId
- caller's userId embedded in all HTTP requestsserverPassword
- caller's password embedded in all HTTP requestsmaxPageSize
- maximum value allowed for page size- Throws:
InvalidParameterException
- there is a problem creating the client-side components to issue any REST API calls.
-
-
Method Details
-
setMaxPageSize
public void setMaxPageSize(int maxPageSize) Set the max page size.- Parameters:
maxPageSize
- pre-initialized parameter limit
-
getMaxPagingSize
public int getMaxPagingSize()Get the maximum paging size.- Specified by:
getMaxPagingSize
in classOpenMetadataClient
- Returns:
- maxPagingSize new value
-
getAllTypes
public OpenMetadataTypeDefGallery getAllTypes(String userId) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Returns the list of different types of metadata organized into two groups. The first are the attribute type definitions (AttributeTypeDefs). These provide types for properties in full type definitions. Full type definitions (TypeDefs) describe types for entities, relationships and classifications.- Specified by:
getAllTypes
in interfaceOpenMetadataTypesInterface
- Specified by:
getAllTypes
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.- Returns:
- TypeDefGallery List of different categories of type definitions.
- Throws:
InvalidParameterException
- the userId is nullPropertyServerException
- there is a problem communicating with the metadata repository.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
findTypeDefsByCategory
public List<OpenMetadataTypeDef> findTypeDefsByCategory(String userId, OpenMetadataTypeDefCategory category) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Returns all the TypeDefs for a specific category.- Specified by:
findTypeDefsByCategory
in interfaceOpenMetadataTypesInterface
- Specified by:
findTypeDefsByCategory
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.category
- enum value for the category of TypeDef to return.- Returns:
- TypeDefs list.
- Throws:
InvalidParameterException
- the TypeDefCategory is null.PropertyServerException
- there is a problem communicating with the metadata repository.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
findAttributeTypeDefsByCategory
public List<OpenMetadataAttributeTypeDef> findAttributeTypeDefsByCategory(String userId, OpenMetadataAttributeTypeDefCategory category) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Returns all the AttributeTypeDefs for a specific category.- Specified by:
findAttributeTypeDefsByCategory
in interfaceOpenMetadataTypesInterface
- Specified by:
findAttributeTypeDefsByCategory
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.category
- enum value for the category of an AttributeTypeDef to return.- Returns:
- AttributeTypeDefs list.
- Throws:
InvalidParameterException
- the TypeDefCategory is null.PropertyServerException
- there is a problem communicating with the metadata repository.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
findTypesByExternalId
public List<OpenMetadataTypeDef> findTypesByExternalId(String userId, String standard, String organization, String identifier) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the types that are linked to the elements from the specified standard.- Specified by:
findTypesByExternalId
in interfaceOpenMetadataTypesInterface
- Specified by:
findTypesByExternalId
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.standard
- name of the standard null means any.organization
- name of the organization null means any.identifier
- identifier of the element in the standard null means any.- Returns:
- TypeDefs list each entry in the list contains a TypeDef. This is a structure describing the TypeDef's category and properties.
- Throws:
InvalidParameterException
- all attributes of the external id are null.PropertyServerException
- there is a problem communicating with the metadata repository.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getSubTypes
public List<OpenMetadataTypeDef> getSubTypes(String userId, String typeName) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Returns all the TypeDefs for a specific subtype. If a null result is returned it means the type has no subtypes. *- Specified by:
getSubTypes
in interfaceOpenMetadataTypesInterface
- Specified by:
getSubTypes
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.typeName
- name of the standard null means any.- Returns:
- TypeDefs list each entry in the list contains a TypeDef. This is a structure describing the TypeDef's category and properties. If null is returned as the TypeDef list it means the type has no known subtypes
- Throws:
InvalidParameterException
- all attributes of the external id are null.PropertyServerException
- there is a problem communicating with the metadata repository.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getTypeDefByGUID
public OpenMetadataTypeDef getTypeDefByGUID(String userId, String guid) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the TypeDef identified by the GUID.- Specified by:
getTypeDefByGUID
in interfaceOpenMetadataTypesInterface
- Specified by:
getTypeDefByGUID
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.guid
- String unique id of the TypeDef- Returns:
- TypeDef structure describing its category and properties.
- Throws:
InvalidParameterException
- the guid is null.PropertyServerException
- there is a problem communicating with the metadata repository where the metadata collection is stored.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getAttributeTypeDefByGUID
public OpenMetadataAttributeTypeDef getAttributeTypeDefByGUID(String userId, String guid) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the AttributeTypeDef identified by the GUID.- Specified by:
getAttributeTypeDefByGUID
in interfaceOpenMetadataTypesInterface
- Specified by:
getAttributeTypeDefByGUID
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.guid
- String unique id of the TypeDef- Returns:
- TypeDef structure describing its category and properties.
- Throws:
InvalidParameterException
- the guid is null.PropertyServerException
- there is a problem communicating with the metadata repository where the metadata collection is stored.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getTypeDefByName
public OpenMetadataTypeDef getTypeDefByName(String userId, String name) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the TypeDef identified by the unique name.- Specified by:
getTypeDefByName
in interfaceOpenMetadataTypesInterface
- Specified by:
getTypeDefByName
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.name
- String name of the TypeDef.- Returns:
- TypeDef structure describing its category and properties.
- Throws:
InvalidParameterException
- the name is null.PropertyServerException
- there is a problem communicating with the metadata repository where the metadata collection is stored.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getAttributeTypeDefByName
public OpenMetadataAttributeTypeDef getAttributeTypeDefByName(String userId, String name) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the AttributeTypeDef identified by the unique name.- Specified by:
getAttributeTypeDefByName
in interfaceOpenMetadataTypesInterface
- Specified by:
getAttributeTypeDefByName
in classOpenMetadataClient
- Parameters:
userId
- unique identifier for requesting user.name
- String name of the TypeDef.- Returns:
- TypeDef structure describing its category and properties.
- Throws:
InvalidParameterException
- the name is null.PropertyServerException
- there is a problem communicating with the metadata repository where the metadata collection is stored.UserNotAuthorizedException
- the userId is not permitted to perform this operation.
-
getMetadataElementByGUID
public OpenMetadataElement getMetadataElementByGUID(String userId, String elementGUID, GetOptions getOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element using its unique identifier.- Specified by:
getMetadataElementByGUID
in interfaceMetadataElementInterface
- Specified by:
getMetadataElementByGUID
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdelementGUID
- unique identifier for the metadata elementgetOptions
- multiple options to control the query- Returns:
- metadata element properties
- Throws:
InvalidParameterException
- the unique identifier is null or not known.UserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementByUniqueName
public OpenMetadataElement getMetadataElementByUniqueName(String userId, String uniqueName, String uniquePropertyName, GetOptions getOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element using its unique name (typically the qualified name).- Specified by:
getMetadataElementByUniqueName
in interfaceMetadataElementInterface
- Specified by:
getMetadataElementByUniqueName
in classOpenMetadataClient
- Parameters:
userId
- caller's userIduniqueName
- unique name for the metadata elementuniquePropertyName
- name of property name to test in the open metadata element - if null "qualifiedName" is usedgetOptions
- multiple options to control the query- Returns:
- metadata element properties or null if not found
- Throws:
InvalidParameterException
- the unique identifier is null.UserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementGUIDByUniqueName
public String getMetadataElementGUIDByUniqueName(String userId, String uniqueName, String uniquePropertyName, GetOptions getOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the unique identifier of a metadata element using its unique name (typically the qualified name).- Specified by:
getMetadataElementGUIDByUniqueName
in interfaceMetadataElementInterface
- Specified by:
getMetadataElementGUIDByUniqueName
in classOpenMetadataClient
- Parameters:
userId
- caller's userIduniqueName
- unique name for the metadata elementuniquePropertyName
- name of property name to test in the open metadata element - if null "qualifiedName" is usedgetOptions
- multiple options to control the query- Returns:
- metadata element unique identifier (guid)
- Throws:
InvalidParameterException
- the unique name is null or not known.UserNotAuthorizedException
- the caller's userId is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
findMetadataElementsWithString
public List<OpenMetadataElement> findMetadataElementsWithString(String userId, String searchString, SearchOptions searchOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata elements of the requested type that contain the requested string.- Specified by:
findMetadataElementsWithString
in interfaceMetadataElementInterface
- Specified by:
findMetadataElementsWithString
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdsearchString
- name to retrievesearchOptions
- multiple options to control the query- Returns:
- list of matching metadata elements (or null if no elements match the name)
- Throws:
InvalidParameterException
- the qualified name is nullUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
findElementsForAnchor
public AnchorSearchMatches findElementsForAnchor(String userId, String searchString, String anchorGUID, QueryOptions queryOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return a list of elements with the requested search string in their (display, resource)name, qualified name, title, text, summary, identifier or description. The search string is interpreted as a regular expression (RegEx). The breadth of the search is determined by the supplied anchorGUID.- Specified by:
findElementsForAnchor
in interfaceMetadataElementInterface
- Specified by:
findElementsForAnchor
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdsearchString
- name to retrieveanchorGUID
- unique identifier of anchorqueryOptions
- multiple options to control the query- Returns:
- list of matching metadata elements (or null if no elements match the name)
- Throws:
InvalidParameterException
- the qualified name is nullUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
findElementsInAnchorDomain
public List<AnchorSearchMatches> findElementsInAnchorDomain(String userId, String searchString, String anchorDomainName, SearchOptions searchOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return a list of elements with the requested search string in their (display, resource)name, qualified name, title, text, summary, identifier or description. The search string is interpreted as a regular expression (RegEx). The breadth of the search is determined by the supplied domain name. The results are organized by anchor element.- Specified by:
findElementsInAnchorDomain
in interfaceMetadataElementInterface
- Specified by:
findElementsInAnchorDomain
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdsearchString
- name to retrieveanchorDomainName
- name of open metadata type for the domainsearchOptions
- multiple options to control the query- Returns:
- list of matching metadata elements (or null if no elements match the name)
- Throws:
InvalidParameterException
- the qualified name is nullUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
findElementsInAnchorScope
public List<AnchorSearchMatches> findElementsInAnchorScope(String userId, String searchString, String anchorScopeGUID, SearchOptions searchOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return a list of elements with the requested search string in their (display, resource)name, qualified name, title, text, summary, identifier or description. The search string is interpreted as a regular expression (RegEx). The breadth of the search is determined by the supplied scope guid. The results are organized by anchor element.- Specified by:
findElementsInAnchorScope
in interfaceMetadataElementInterface
- Specified by:
findElementsInAnchorScope
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdsearchString
- name to retrieveanchorScopeGUID
- unique identifier of the scope to usesearchOptions
- multiple options to control the query- Returns:
- list of matching metadata elements (or null if no elements match the name)
- Throws:
InvalidParameterException
- the qualified name is nullUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getRelatedMetadataElements
public RelatedMetadataElementList getRelatedMetadataElements(String userId, String elementGUID, int startingAtEnd, String relationshipTypeName, QueryOptions queryOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata elements connected to the supplied element.- Specified by:
getRelatedMetadataElements
in interfaceMetadataElementInterface
- Specified by:
getRelatedMetadataElements
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdelementGUID
- unique identifier for the starting metadata elementstartingAtEnd
- indicates which end to retrieve from (0 is "either end"; 1 is end1; 2 is end 2)relationshipTypeName
- type name of relationships to follow (or null for all)queryOptions
- multiple options to control the query- Returns:
- list of related elements
- Throws:
InvalidParameterException
- the unique identifier is null or not known; the relationship type is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getAnchoredElementsGraph
public OpenMetadataElementGraph getAnchoredElementsGraph(String userId, String elementGUID, QueryOptions queryOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return all the elements that are anchored to an asset plus relationships between these elements and to other elements.- Specified by:
getAnchoredElementsGraph
in interfaceMetadataElementInterface
- Specified by:
getAnchoredElementsGraph
in classOpenMetadataClient
- Parameters:
userId
- name of the server instances for this requestelementGUID
- unique identifier for the elementqueryOptions
- multiple options to control the query- Returns:
- graph of elements
- Throws:
InvalidParameterException
- the unique identifier is null or not known; the relationship type is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getRelatedMetadataElement
public RelatedMetadataElement getRelatedMetadataElement(String userId, String elementGUID, int startingAtEnd, String relationshipTypeName, GetOptions getOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element connected to the supplied element for a relationship type that only allows one relationship to be attached.- Specified by:
getRelatedMetadataElement
in interfaceMetadataElementInterface
- Specified by:
getRelatedMetadataElement
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdelementGUID
- unique identifier for the starting metadata elementstartingAtEnd
- indicates which end to retrieve from (0 is "either end"; 1 is end1; 2 is end 2)relationshipTypeName
- type name of relationships to follow (or null for all)getOptions
- multiple options to control the query- Returns:
- list of related elements
- Throws:
InvalidParameterException
- the unique identifier is null or not known; the relationship type is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store or multiple relationships have been returned
-
getMetadataElementHistory
public List<OpenMetadataElement> getMetadataElementHistory(String userId, String elementGUID, HistoricalQueryOptions queryOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return each of the versions of a metadata element.- Specified by:
getMetadataElementHistory
in interfaceMetadataElementInterface
- Specified by:
getMetadataElementHistory
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdelementGUID
- unique identifier for the metadata elementqueryOptions
- multiple options to control the query- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operation.PropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementRelationships
public OpenMetadataRelationshipList getMetadataElementRelationships(String userId, String metadataElementAtEnd1GUID, String metadataElementAtEnd2GUID, String relationshipTypeName, QueryOptions queryOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the relationships linking to the supplied elements.- Specified by:
getMetadataElementRelationships
in interfaceMetadataElementInterface
- Specified by:
getMetadataElementRelationships
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementAtEnd1GUID
- unique identifier of the metadata element at end 1 of the relationshipmetadataElementAtEnd2GUID
- unique identifier of the metadata element at end 2 of the relationshiprelationshipTypeName
- type name of relationships to follow (or null for all)queryOptions
- multiple options to control the query- Returns:
- list of related elements
- Throws:
InvalidParameterException
- the unique identifier is null or not known; the relationship type is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
findMetadataElements
public List<OpenMetadataElement> findMetadataElements(String userId, SearchProperties searchProperties, SearchClassifications matchClassifications, QueryOptions queryOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return a list of metadata elements that match the supplied criteria. The results can be returned over many pages.- Specified by:
findMetadataElements
in interfaceMetadataElementInterface
- Specified by:
findMetadataElements
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdsearchProperties
- Optional list of entity property conditions to match.matchClassifications
- Optional list of classifications to match.queryOptions
- multiple options to control the query- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
findRelationshipsBetweenMetadataElements
public OpenMetadataRelationshipList findRelationshipsBetweenMetadataElements(String userId, String relationshipTypeName, SearchProperties searchProperties, QueryOptions queryOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return a list of relationships that match the requested conditions. The results can be received as a series of pages.- Specified by:
findRelationshipsBetweenMetadataElements
in interfaceMetadataElementInterface
- Specified by:
findRelationshipsBetweenMetadataElements
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipTypeName
- relationship's type. Null means all types (but may be slow so not recommended).searchProperties
- Optional list of relationship property conditions to match.queryOptions
- multiple options to control the query- Returns:
- a list of relationships. Null means no matching relationships.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getRelationshipByGUID
public OpenMetadataRelationship getRelationshipByGUID(String userId, String relationshipGUID, GetOptions getOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the relationship using its unique identifier.- Specified by:
getRelationshipByGUID
in interfaceMetadataElementInterface
- Specified by:
getRelationshipByGUID
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipGUID
- unique identifier for the relationshipgetOptions
- multiple options to control the query- Returns:
- relationship properties
- Throws:
InvalidParameterException
- the unique identifier is null or not known.UserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem accessing the metadata store
-
getRelationshipHistory
public OpenMetadataRelationshipList getRelationshipHistory(String userId, String relationshipGUID, HistoricalQueryOptions queryOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return each of the versions of a relationship.- Specified by:
getRelationshipHistory
in interfaceMetadataElementInterface
- Specified by:
getRelationshipHistory
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipGUID
- unique identifier for the relationshipqueryOptions
- multiple options to control the query- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operation.PropertyServerException
- there is a problem accessing the metadata store
-
createMetadataElementInStore
public String createMetadataElementInStore(String userId, String metadataElementTypeName, NewElementOptions newElementOptions, Map<String, NewElementProperties> initialClassifications, NewElementProperties properties, NewElementProperties parentRelationshipProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate a new metadata element in the metadata store. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed. This version of the method allows access to advanced features such as multiple states and effectivity dates.- Specified by:
createMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
createMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementTypeName
- typeName for the new elementnewElementOptions
- details of the element to createinitialClassifications
- map of classification names to classification properties to include in the entity creation requestproperties
- properties of the new metadata elementparentRelationshipProperties
- properties to include in parent relationship- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
createMetadataElementFromTemplate
public String createMetadataElementFromTemplate(String userId, String metadataElementTypeName, TemplateOptions templateOptions, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, NewElementProperties parentRelationshipProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate a new metadata element in the metadata store. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed. This version of the method allows access to advanced features such as multiple states and effectivity dates.- Specified by:
createMetadataElementFromTemplate
in interfaceMetadataElementInterface
- Specified by:
createMetadataElementFromTemplate
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementTypeName
- expected type name for the new elementtemplateOptions
- details of the element to createtemplateGUID
- the unique identifier of the existing asset to copy (this will copy all the attachments such as nested content, schema connection etc)replacementProperties
- properties of the new metadata element. These override the template valuesplaceholderProperties
- property name-to-property value map to replace any placeholder values in the template element - and their anchored elements, which are also copied as part of this operation.parentRelationshipProperties
- properties to include in parent relationship- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementInStore
public void updateMetadataElementInStore(String userId, String metadataElementGUID, UpdateOptions updateOptions, ElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties of a specific metadata element. The properties must match the type definition associated with the metadata element when it was created. However, it is possible to update a few properties, or replace all them by the value used in the replaceProperties flag.- Specified by:
updateMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
updateMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updateupdateOptions
- provides a structure for the additional options when updating an element.properties
- new properties for the metadata element- Throws:
InvalidParameterException
- either the unique identifier or the properties are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementStatusInStore
public void updateMetadataElementStatusInStore(String userId, String metadataElementGUID, MetadataSourceOptions metadataSourceOptions, ElementStatus newElementStatus) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the status of specific metadata element. The new status must match a status value that is defined for the element's type assigned when it was created. The effectivity dates control the visibility of the element through specific APIs.- Specified by:
updateMetadataElementStatusInStore
in interfaceMetadataElementInterface
- Specified by:
updateMetadataElementStatusInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updatemetadataSourceOptions
- options to control access to open metadatanewElementStatus
- new status value - or null to leave as is- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementEffectivityInStore
public void updateMetadataElementEffectivityInStore(String userId, String metadataElementGUID, MetadataSourceOptions metadataSourceOptions, Date effectiveFrom, Date effectiveTo) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the status of specific metadata element. The new status must match a status value that is defined for the element's type assigned when it was created. The effectivity dates control the visibility of the element through specific APIs.- Specified by:
updateMetadataElementEffectivityInStore
in interfaceMetadataElementInterface
- Specified by:
updateMetadataElementEffectivityInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updatemetadataSourceOptions
- options to control access to open metadataeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deleted- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
deleteMetadataElementInStore
public void deleteMetadataElementInStore(String userId, String metadataElementGUID, DeleteOptions deleteOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a specific metadata element.- Specified by:
deleteMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
deleteMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updatedeleteOptions
- options for a delete request- Throws:
InvalidParameterException
- the unique identifier is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
archiveMetadataElementInStore
public void archiveMetadataElementInStore(String userId, String metadataElementGUID, DeleteOptions deleteOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Archive a specific metadata element.- Specified by:
archiveMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
archiveMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updatedeleteOptions
- description of the archiving process- Throws:
InvalidParameterException
- the unique identifier is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
classifyMetadataElementInStore
public void classifyMetadataElementInStore(String userId, String metadataElementGUID, String classificationName, MetadataSourceOptions metadataSourceOptions, NewElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Add a new classification to the metadata element. Note that only one classification with the same name can be attached to a metadata element.- Specified by:
classifyMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
classifyMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- name of the classification to add (if the classification is already present then use reclassify)metadataSourceOptions
- options to control access to open metadataproperties
- properties to store in the new classification. These must conform to the valid properties associated with the classification name- Throws:
InvalidParameterException
- the unique identifier or classification name is null or invalid in some way; properties do not match the valid properties associated with the classification's type definitionUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
reclassifyMetadataElementInStore
public void reclassifyMetadataElementInStore(String userId, String metadataElementGUID, String classificationName, UpdateOptions updateOptions, ElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties of a classification that is currently attached to a specific metadata element.- Specified by:
reclassifyMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
reclassifyMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to updateupdateOptions
- provides a structure for the additional options when updating an element.properties
- new properties for the classification- Throws:
InvalidParameterException
- the unique identifier or classification name is null or invalid in some way; properties do not match the valid properties associated with the classification's type definitionUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateClassificationEffectivityInStore
public void updateClassificationEffectivityInStore(String userId, String metadataElementGUID, String classificationName, MetadataSourceOptions metadataSourceOptions, Date effectiveFrom, Date effectiveTo) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the effectivity dates of a specific classification attached to a metadata element. The effectivity dates control the visibility of the classification through specific APIs.- Specified by:
updateClassificationEffectivityInStore
in interfaceMetadataElementInterface
- Specified by:
updateClassificationEffectivityInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to updatemetadataSourceOptions
- options to control access to open metadataeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deleted- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
declassifyMetadataElementInStore
public void declassifyMetadataElementInStore(String userId, String metadataElementGUID, String classificationName, MetadataSourceOptions metadataSourceOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the named classification from a specific metadata element.- Specified by:
declassifyMetadataElementInStore
in interfaceMetadataElementInterface
- Specified by:
declassifyMetadataElementInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to removemetadataSourceOptions
- options to control access to open metadata- Throws:
InvalidParameterException
- the unique identifier or classification name is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
createRelatedElementsInStore
public String createRelatedElementsInStore(String userId, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, MetadataSourceOptions metadataSourceOptions, NewElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a relationship between two metadata elements. It is important to put the right element at each end of the relationship according to the type definition since this will affect how the relationship is interpreted.- Specified by:
createRelatedElementsInStore
in interfaceMetadataElementInterface
- Specified by:
createRelatedElementsInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipTypeName
- name of the type of relationship to create. This will determine the types of metadata elements that can be related and the properties that can be associated with this relationship.metadataElement1GUID
- unique identifier of the metadata element at end 1 of the relationshipmetadataElement2GUID
- unique identifier of the metadata element at end 2 of the relationshipmetadataSourceOptions
- options to control access to open metadataproperties
- the properties of the relationship- Returns:
- unique identifier of the new relationship
- Throws:
InvalidParameterException
- the unique identifier's of the metadata elements are null or invalid in some way; the properties are not valid for this type of relationshipUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
createRelatedElementsInStore
public String createRelatedElementsInStore(String userId, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, MakeAnchorOptions makeAnchorOptions, NewElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a relationship between two metadata elements. It is important to put the right element at each end of the relationship according to the type definition since this will affect how the relationship is interpreted.- Specified by:
createRelatedElementsInStore
in interfaceMetadataElementInterface
- Specified by:
createRelatedElementsInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipTypeName
- name of the type of relationship to create. This will determine the types of metadata elements that can be related and the properties that can be associated with this relationship.metadataElement1GUID
- unique identifier of the metadata element at end 1 of the relationshipmetadataElement2GUID
- unique identifier of the metadata element at end 2 of the relationshipmakeAnchorOptions
- options to control access to open metadataproperties
- the properties of the relationship- Returns:
- unique identifier of the new relationship
- Throws:
InvalidParameterException
- the unique identifier's of the metadata elements are null or invalid in some way; the properties are not valid for this type of relationshipUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateRelationshipInStore
public void updateRelationshipInStore(String userId, String relationshipGUID, UpdateOptions updateOptions, ElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties associated with a relationship.- Specified by:
updateRelationshipInStore
in interfaceMetadataElementInterface
- Specified by:
updateRelationshipInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipGUID
- unique identifier of the relationship to updateupdateOptions
- provides a structure for the additional options when updating a relationship.properties
- new properties for the relationship- Throws:
InvalidParameterException
- the unique identifier of the relationship is null or invalid in some way; the properties are not valid for this type of relationshipUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateRelatedElementsInStore
public void updateRelatedElementsInStore(String userId, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, UpdateOptions updateOptions, ElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update all relationships of a particular type between two metadata elements.- Specified by:
updateRelatedElementsInStore
in interfaceMetadataElementInterface
- Specified by:
updateRelatedElementsInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipTypeName
- name of the type of relationship to create. This will determine the types of metadata elements that can be related and the properties that can be associated with this relationship.metadataElement1GUID
- unique identifier of the metadata element at end 1 of the relationshipmetadataElement2GUID
- unique identifier of the metadata element at end 2 of the relationshipupdateOptions
- provides a structure for the additional options when updating a relationship.properties
- new properties for the relationship- Throws:
InvalidParameterException
- the unique identifier of the relationship is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
updateRelationshipEffectivityInStore
public void updateRelationshipEffectivityInStore(String userId, String relationshipGUID, MetadataSourceOptions metadataSourceOptions, Date effectiveFrom, Date effectiveTo) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the effectivity dates of a specific relationship between metadata elements. The effectivity dates control the visibility of the classification through specific APIs.- Specified by:
updateRelationshipEffectivityInStore
in interfaceMetadataElementInterface
- Specified by:
updateRelationshipEffectivityInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipGUID
- unique identifier of the relationship to updatemetadataSourceOptions
- options to control access to open metadataeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deleted- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
deleteRelationshipInStore
public void deleteRelationshipInStore(String userId, String relationshipGUID, DeleteOptions deleteOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a relationship between two metadata elements.- Specified by:
deleteRelationshipInStore
in interfaceMetadataElementInterface
- Specified by:
deleteRelationshipInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipGUID
- unique identifier of the relationship to deletedeleteOptions
- options to control access to open metadata- Throws:
InvalidParameterException
- the unique identifier of the relationship is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
detachRelatedElementsInStore
public void detachRelatedElementsInStore(String userId, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, DeleteOptions deleteOptions) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete all relationships of a particular type between two metadata elements.- Specified by:
detachRelatedElementsInStore
in interfaceMetadataElementInterface
- Specified by:
detachRelatedElementsInStore
in classOpenMetadataClient
- Parameters:
userId
- caller's userIdrelationshipTypeName
- name of the type of relationship to create. This will determine the types of metadata elements that can be related and the properties that can be associated with this relationship.metadataElement1GUID
- unique identifier of the metadata element at end 1 of the relationshipmetadataElement2GUID
- unique identifier of the metadata element at end 2 of the relationshipdeleteOptions
- options to control access to open metadata- Throws:
InvalidParameterException
- the unique identifier of the relationship is null or invalid in some wayUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
createIncidentReport
public String createIncidentReport(String userId, String qualifiedName, int domainIdentifier, String background, List<IncidentImpactedElement> impactedResources, List<IncidentDependency> previousIncidents, Map<String, Integer> incidentClassifiers, Map<String, throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionString> additionalProperties, String originatorGUID) Create an incident report to capture the situation detected by the caller. This incident report will be processed by other governance activities.- Parameters:
userId
- caller's userIdqualifiedName
- unique identifier to give this new incident reportdomainIdentifier
- governance domain associated with this action (0=ALL)background
- description of the situationimpactedResources
- details of the resources impacted by this situationpreviousIncidents
- links to previous incident reports covering this situationincidentClassifiers
- initial classifiers for the incident reportadditionalProperties
- additional arbitrary properties for the incident reportsoriginatorGUID
- the unique identifier of the person or process that created the incident- Returns:
- unique identifier of the resulting incident report
- Throws:
InvalidParameterException
- null or non-unique qualified name for the incident reportUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem with the metadata store
-
openToDo
public String openToDo(String userId, String qualifiedName, String title, String instructions, String category, int priority, Date dueDate, Map<String, String> additionalProperties, String assignToGUID, String sponsorGUID, String originatorGUID, List<NewActionTarget> actionTargets) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate a "To Do" request for someone to work on.- Parameters:
userId
- caller's userIdqualifiedName
- unique name for the to do. (Could be the engine name and a guid?)title
- short meaningful phrase for the person receiving the requestinstructions
- further details on what to docategory
- a category of to dos (for example, "data error", "access request")priority
- priority value (based on organization's scale)dueDate
- date/time this needs to be completedadditionalProperties
- additional arbitrary properties for the incident reportsassignToGUID
- unique identifier of the Actor element for the recipientsponsorGUID
- unique identifier of the element that describes the rule, project that this is on behalf oforiginatorGUID
- unique identifier of the source of the to doactionTargets
- the list of elements that should be acted upon- Returns:
- unique identifier of new to do element
- Throws:
InvalidParameterException
- either todoQualifiedName or assignedTo are null or not recognizedUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem connecting to (or inside) the metadata store
-
registerContextEvent
public String registerContextEvent(String userId, String anchorGUID, Map<String, DependentContextEventProperties> parentContextEvents, Map<String, throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionDependentContextEventProperties> childContextEvents, Map<String, RelatedContextEventProperties> relatedContextEvents, Map<String, ContextEventImpactProperties> impactedElements, Map<String, RelationshipProperties> effectedDataResourceGUIDs, Map<String, RelationshipProperties> contextEventEvidenceGUIDs, ContextEventProperties contextEventProperties) Create a new context event- Parameters:
userId
- calling useranchorGUID
- unique identifier for the context event's anchor elementparentContextEvents
- which context events should be linked as parents (guid->relationship properties)childContextEvents
- which context events should be linked as children (guid->relationship properties)relatedContextEvents
- which context events should be linked as related (guid->relationship properties)impactedElements
- which elements are impacted by this context event (guid->relationship properties)effectedDataResourceGUIDs
- which data resources are effected by this context event (asset guid->relationship properties)contextEventEvidenceGUIDs
- which elements provide evidence that the context event is happening (element GUIDs)contextEventProperties
- properties for the context event itself- Returns:
- guid of the new context event
- Throws:
InvalidParameterException
- one of the properties are invalidUserNotAuthorizedException
- the userId is not permitted to perform this operationPropertyServerException
- there is a problem connecting to (or inside) the metadata store
-
setTranslation
public void setTranslation(String userId, String elementGUID, TranslationDetail translationDetail) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create or update the translation for a particular language/locale for a metadata element.- Parameters:
userId
- caller's userIdelementGUID
- unique identifier of the element that this translation is related totranslationDetail
- properties of the translation- Throws:
InvalidParameterException
- the unique identifier is null or not known.UserNotAuthorizedException
- the service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
clearTranslation
public void clearTranslation(String userId, String elementGUID, String language, String locale) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the translation for a particular language/locale for a metadata element.- Parameters:
userId
- caller's userIdelementGUID
- unique identifier of the element that this translation is related tolanguage
- language requestedlocale
- optional locale to qualify which translation if there are multiple translations for the language.- Throws:
InvalidParameterException
- the language is null or not known or not unique (add locale)UserNotAuthorizedException
- the service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getTranslation
public TranslationDetail getTranslation(String userId, String elementGUID, String language, String locale) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the translation for the matching language/locale.- Parameters:
userId
- caller's userIdelementGUID
- unique identifier of the element that this translation is related tolanguage
- language requestedlocale
- optional locale to qualify which translation if there are multiple translations for the language.- Returns:
- the properties of the translation or null if there is none
- Throws:
InvalidParameterException
- the unique identifier is null or not known.UserNotAuthorizedException
- the service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getTranslations
public List<TranslationDetail> getTranslations(String userId, String elementGUID, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve all translations associated with a metadata element.- Parameters:
userId
- caller's userIdelementGUID
- unique identifier of the element that this translation is related tostartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return- Returns:
- list of translation properties or null if there are none
- Throws:
InvalidParameterException
- the unique identifier is null or not known.UserNotAuthorizedException
- the service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
setUpValidMetadataValue
public void setUpValidMetadataValue(String userId, String typeName, String propertyName, ValidMetadataValue validMetadataValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create or update the valid value for a particular open metadata property name. If the typeName is null, this valid value applies to properties of this name from all types. The valid value is stored in the preferredValue property. If a valid value is already set up for this property (with overlapping effective dates) then the valid value is updated.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesvalidMetadataValue
- preferred value to use in the open metadata types plus additional descriptive values.- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
setUpValidMetadataMapName
public void setUpValidMetadataMapName(String userId, String typeName, String propertyName, ValidMetadataValue validMetadataValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create or update the valid value for a name that can be stored in a particular open metadata property name. This property is of type map from name to string. The valid value is stored in the preferredValue property of validMetadataValue. If the typeName is null, this valid value applies to properties of this name from any open metadata type. If a valid value is already set up for this property (with overlapping effective dates) then the valid value is updated.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesvalidMetadataValue
- preferred value to use in the open metadata types plus additional descriptive values.- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
setUpValidMetadataMapValue
public void setUpValidMetadataMapValue(String userId, String typeName, String propertyName, String mapName, ValidMetadataValue validMetadataValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create or update the valid value for a name that can be stored in a particular open metadata property name. This property is of type map from name to string. The valid value is stored in the preferredValue property of validMetadataValue. If the typeName is null, this valid value applies to properties of this name from any open metadata type. If a valid value is already set up for this property (with overlapping effective dates) then the valid value is updated.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesmapName
- name in the map that this valid value applies. If null then the value can be used for any name in the map.validMetadataValue
- preferred value to use in the open metadata types plus additional descriptive values.- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
clearValidMetadataValue
public void clearValidMetadataValue(String userId, String typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a valid value for a property.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliespreferredValue
- specific valid value to remove- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
clearValidMetadataMapName
public void clearValidMetadataMapName(String userId, String typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a valid map name value for a property. The match is done on preferred name.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliespreferredValue
- specific valid value to remove- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
clearValidMetadataMapValue
public void clearValidMetadataMapValue(String userId, String typeName, String propertyName, String mapName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a valid map name value for a property. The match is done on preferred name.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesmapName
- name in the map that this valid value applies. If null then the value can be used for any name in the map.preferredValue
- specific valid value to remove- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
validateMetadataValue
public boolean validateMetadataValue(String userId, String typeName, String propertyName, String actualValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Validate whether the value found in an open metadata property is valid.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesactualValue
- value stored in the property - if this is null, true is only returned if null is set up as a valid value.- Returns:
- boolean flag - true if the value is one of the defined valid values or there are no valid values set up for the property (and so any value is value).
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
validateMetadataMapName
public boolean validateMetadataMapName(String userId, String typeName, String propertyName, String actualValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Validate whether the name found in an open metadata map property is valid.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesactualValue
- value stored in the property - if this is null, true is only returned if null is set up as a valid value.- Returns:
- boolean flag - true if the value is one of the defined valid values or there are no valid values set up for the property (and so any value is value).
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
validateMetadataMapValue
public boolean validateMetadataMapValue(String userId, String typeName, String propertyName, String mapName, String actualValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Validate whether the name found in an open metadata map property is valid.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesmapName
- name in the map that this valid value applies. If null then the value can be used for any name in the map.actualValue
- value stored in the property - if this is null, true is only returned if null is set up as a valid value.- Returns:
- boolean flag - true if the value is one of the defined valid values or there are no valid values set up for the property (and so any value is value).
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getValidMetadataValue
public ValidMetadataValue getValidMetadataValue(String userId, String typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve details of a specific valid value for a property.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliespreferredValue
- valid value to match- Returns:
- specific valid value definition or none if there is no definition stored
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getValidMetadataMapName
public ValidMetadataValue getValidMetadataMapName(String userId, String typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve details of a specific valid name for a map property.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliespreferredValue
- valid value to match- Returns:
- specific valid value definition or none if there is no definition stored
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getValidMetadataMapValue
public ValidMetadataValue getValidMetadataMapValue(String userId, String typeName, String propertyName, String mapName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve details of a specific valid value for a map name.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesmapName
- name in the map that this valid value applies. If null then the value can be used for any name in the map.preferredValue
- valid value to match- Returns:
- specific valid value definition or none if there is no definition stored
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getValidMetadataValues
public List<ValidMetadataValueDetail> getValidMetadataValues(String userId, String typeName, String propertyName, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve all the valid values for the requested property.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesstartFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of valid values defined for the property
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getConsistentMetadataValues
public List<ValidMetadataValue> getConsistentMetadataValues(String userId, String typeName, String propertyName, String mapName, String preferredValue, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve all the consistent valid values for the requested property.- Parameters:
userId
- caller's userIdtypeName
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName
- name of property that this valid value appliesmapName
- optional name of map key that this valid value appliespreferredValue
- the value to match againststartFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of valid values defined for the property
- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
setConsistentMetadataValues
public void setConsistentMetadataValues(String userId, String typeName1, String propertyName1, String mapName1, String preferredValue1, String typeName2, String propertyName2, String mapName2, String preferredValue2) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Set up consistent metadata values relationship between the two property values.- Parameters:
userId
- caller's userIdtypeName1
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName1
- name of property that this valid value appliesmapName1
- optional name of map key that this valid value appliespreferredValue1
- the value to match againsttypeName2
- type name if this is valid value is specific for a type, or null if this valid value if for the property name for all typespropertyName2
- name of property that this valid value appliesmapName2
- optional name of map key that this valid value appliespreferredValue2
- the value to match against- Throws:
InvalidParameterException
- the property name is null or not known.UserNotAuthorizedException
- the service is not able to create/access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getSpecification
public Map<String,List<Map<String, getSpecificationString>>> (String userId, String elementGUID) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Retrieve the reference data for this element.- Parameters:
userId
- calling userelementGUID
- element to query- Returns:
- map of reference data
- Throws:
InvalidParameterException
- bad parameterPropertyServerException
- repository errorUserNotAuthorizedException
- authorization issue
-
addExternalIdentifier
public void addExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String externalScopeTypeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Add a new external identifier to an existing open metadata element.- Specified by:
addExternalIdentifier
in interfaceExternalIdentifiersInterface
- Specified by:
addExternalIdentifier
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the callerexternalScopeTypeName
- type name of the software capability describing the manager for the external identifieropenMetadataElementGUID
- unique identifier (GUID) of the element in the open metadata ecosystemopenMetadataElementTypeName
- type name for the open metadata elementexternalIdentifierProperties
- optional properties used to define an external identifiereffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deletedforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- what is the effective time for related queries needed to do the update- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- user not authorized to issue this requestPropertyServerException
- problem accessing the property server
-
updateExternalIdentifier
public void updateExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String externalScopeTypeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the description of a specific external identifier.- Specified by:
updateExternalIdentifier
in interfaceExternalIdentifiersInterface
- Specified by:
updateExternalIdentifier
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the calleropenMetadataElementGUID
- unique identifier (GUID) of the element in the open metadata ecosystemopenMetadataElementTypeName
- type name for the open metadata elementexternalIdentifierProperties
- optional properties used to define an external identifiereffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deletedforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- what is the effective time for related queries needed to do the updateexternalScopeTypeName
- type name of the software capability describing the manager for the external identifier- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- user not authorized to issue this requestPropertyServerException
- problem accessing the property server
-
removeExternalIdentifier
public void removeExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String externalIdentifier, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove an external identifier from an existing open metadata element. The open metadata element is not affected.- Specified by:
removeExternalIdentifier
in interfaceExternalIdentifiersInterface
- Specified by:
removeExternalIdentifier
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the calleropenMetadataElementGUID
- unique identifier (GUID) of the element in the open metadata ecosystemopenMetadataElementTypeName
- type name for the open metadata elementexternalIdentifier
- unique identifier of this element in the third party asset managerforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- what is the effective time for related queries needed to do the update- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- user not authorized to issue this requestPropertyServerException
- problem accessing the property server
-
removeExternalScope
public void removeExternalScope(String userId, String externalScopeGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the scope associated with a collection of external identifiers. All associated external identifiers are removed too. The linked open metadata elements are not affected.- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software capability representing the callerforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- what is the effective time for related queries needed to do the update- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- user not authorized to issue this requestPropertyServerException
- problem accessing the property server
-
confirmSynchronization
public void confirmSynchronization(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String externalIdentifier) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Confirm that the values of a particular metadata element have been synchronized. This is important from an audit point of view, and to allow bidirectional updates of metadata using optimistic locking.- Specified by:
confirmSynchronization
in interfaceExternalIdentifiersInterface
- Specified by:
confirmSynchronization
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the calleropenMetadataElementGUID
- unique identifier (GUID) of this element in open metadataopenMetadataElementTypeName
- type name for the open metadata elementexternalIdentifier
- unique identifier of this element in the external asset manager- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- user not authorized to issue this requestPropertyServerException
- problem accessing the property server
-
getElementsForExternalIdentifier
public List<ElementHeader> getElementsForExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String externalIdentifier, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return the list of headers for open metadata elements that are associated with a particular external identifier.- Specified by:
getElementsForExternalIdentifier
in interfaceExternalIdentifiersInterface
- Specified by:
getElementsForExternalIdentifier
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the callerexternalIdentifier
- unique identifier of this element in the external asset managerstartFrom
- paging start pointpageSize
- maximum results that can be returnedforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Returns:
- list of element headers
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- user not authorized to issue this requestPropertyServerException
- problem accessing the property server
-
validateExternalIdentifier
public boolean validateExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String elementExternalIdentifier, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Check that the supplied external identifier matches the element GUID.- Specified by:
validateExternalIdentifier
in interfaceExternalIdentifiersInterface
- Specified by:
validateExternalIdentifier
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the calleropenMetadataElementGUID
- element guid used for the lookupopenMetadataElementTypeName
- type name for the open metadata elementelementExternalIdentifier
- external identifier valueforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Returns:
- boolean
- 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.
-
getExternalIdentifiers
public List<MetadataCorrelationHeader> getExternalIdentifiers(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Assemble the correlation headers attached to the supplied element guid. This includes the external identifiers plus information on the scope and usage.- Specified by:
getExternalIdentifiers
in interfaceExternalIdentifiersInterface
- Specified by:
getExternalIdentifiers
in classOpenMetadataClient
- Parameters:
userId
- calling userexternalScopeGUID
- unique identifier of software server capability representing the callerexternalScopeName
- unique name of software server capability representing the calleropenMetadataElementGUID
- unique identifier (GUID) of this element in open metadataopenMetadataElementTypeName
- type name for the open metadata elementstartFrom
- paging start pointpageSize
- maximum results that can be returnedforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Returns:
- list of correlation headers (note if asset manager identifiers are present, only the matching correlation header is returned)
- 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.
-
getVendorProperties
public Map<String,Map<String, getVendorPropertiesString>> (String userId, String openMetadataElementGUID, String openMetadataElementTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return the vendor properties associated with an element. The inner map holds the specific properties for each vendor. The outer maps the vendor identifier to the properties.- Specified by:
getVendorProperties
in interfaceExternalIdentifiersInterface
- Specified by:
getVendorProperties
in classOpenMetadataClient
- Parameters:
userId
- calling useropenMetadataElementGUID
- unique identifier (GUID) of this element in open metadataopenMetadataElementTypeName
- type name for the open metadata elementforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?effectiveTime
- the time that the retrieved elements must be effective for (null for any time, new Date() for now)- Returns:
- map of vendor properties
- 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.
-
getExternalIdEffectiveTimeQueryRequestBody
protected ExternalIdEffectiveTimeQueryRequestBody getExternalIdEffectiveTimeQueryRequestBody(String externalScopeGUID, String externalScopeName, Date effectiveTime) Return the asset manager identifiers packaged in an appropriate request body.- Parameters:
externalScopeGUID
- unique identifier for the asset managerexternalScopeName
- unique name for the asset managereffectiveTime
- the time that the retrieved elements must be effective for- Returns:
- request body
-