Class OpenMetadataStore
java.lang.Object
org.odpi.openmetadata.frameworks.governanceaction.OpenMetadataStore
- Direct Known Subclasses:
OpenMetadataAccess
,SurveyOpenMetadataStore
OpenMetadataStore provides access to metadata elements stored in the metadata repositories. It is implemented by the
abstract class OpenMetadataClient and used by all the governance action services to retrieve metadata.
The concrete class for OpenMetadataClient is implemented by a metadata repository provider. In Egeria, this class is implemented in the GAF Metadata Management Services.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionOpenMetadataStore
(OpenMetadataClient openMetadataClient, String userId, String originatorGUID) Construct the open metadata store wrapper around the open metadata client.OpenMetadataStore
(OpenMetadataClient openMetadataClient, String userId, String externalSourceGUID, String externalSourceName, String originatorGUID) The constructor needs an implementation of the open metadata store. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addExternalIdentifier
(String externalScopeGUID, String externalScopeName, String externalScopeTypeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties) Add a new external identifier to an existing open metadata element.void
archiveMetadataElementInStore
(String externalSourceGUID, String externalSourceName, String metadataElementGUID, ArchiveProperties archiveProperties) Archive a specific metadata element.void
archiveMetadataElementInStore
(String metadataElementGUID, ArchiveProperties archiveProperties) Archive a specific metadata element.void
classifyMetadataElementInStore
(String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, Date effectiveFrom, Date effectiveTo, ElementProperties properties) Add a new classification to the metadata element.void
classifyMetadataElementInStore
(String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, ElementProperties properties) Add a new classification to the metadata element.void
classifyMetadataElementInStore
(String metadataElementGUID, String classificationName, Date effectiveFrom, Date effectiveTo, ElementProperties properties) Add a new classification to the metadata element.void
classifyMetadataElementInStore
(String metadataElementGUID, String classificationName, ElementProperties properties) Add a new classification to the metadata element.void
clearValidMetadataMapName
(String typeName, String propertyName, String preferredValue) Remove a valid map name value for a property.void
clearValidMetadataMapValue
(String typeName, String propertyName, String mapName, String preferredValue) Remove a valid map name value for a property.void
clearValidMetadataValue
(String typeName, String propertyName, String preferredValue) Remove a valid value for a property.void
confirmSynchronization
(String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String externalIdentifier) Confirm that the values of a particular metadata element have been synchronized.createIncidentReport
(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 this governance action service.createMetadataElementFromTemplate
(String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) Create a new metadata element in the metadata store using the template identified by the templateGUID.createMetadataElementFromTemplate
(String externalSourceGUID, String externalSourceName, String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) Create a new metadata element in the metadata store using the template identified by the templateGUID.createMetadataElementInStore
(String externalSourceGUID, String externalSourceName, String metadataElementTypeName, ElementStatus initialStatus, Map<String, ElementProperties> initialClassifications, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, ElementProperties properties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) Create a new metadata element in the metadata store.createMetadataElementInStore
(String metadataElementTypeName, ElementStatus initialStatus, Date effectiveFrom, Date effectiveTo, ElementProperties properties) Create a new metadata element in the metadata store.createMetadataElementInStore
(String metadataElementTypeName, ElementStatus initialStatus, Map<String, ElementProperties> initialClassifications, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, ElementProperties properties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) Create a new metadata element in the metadata store.createMetadataElementInStore
(String metadataElementTypeName, ElementStatus initialStatus, ElementProperties properties) Create a new metadata element in the metadata store.createRelatedElementsInStore
(String externalSourceGUID, String externalSourceName, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, Date effectiveFrom, Date effectiveTo, ElementProperties properties) Create a relationship between two metadata elements.createRelatedElementsInStore
(String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, Date effectiveFrom, Date effectiveTo, ElementProperties properties) Create a relationship between two metadata elements.void
declassifyMetadataElementInStore
(String metadataElementGUID, String classificationName) Remove the named classification from a specific metadata element.void
declassifyMetadataElementInStore
(String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName) Remove the named classification from a specific metadata element.void
deleteMetadataElementInStore
(String metadataElementGUID) Delete a specific metadata element.void
deleteMetadataElementInStore
(String externalSourceGUID, String externalSourceName, String metadataElementGUID) Delete a specific metadata element.void
deleteRelatedElementsInStore
(String relationshipGUID) Delete a relationship between two metadata elements.void
deleteRelatedElementsInStore
(String externalSourceGUID, String externalSourceName, String relationshipGUID) Delete a relationship between two metadata elements.Returns all the AttributeTypeDefs for a specific category.findMetadataElements
(String metadataElementTypeName, List<String> metadataElementSubtypeName, SearchProperties searchProperties, List<ElementStatus> limitResultsByStatus, Date asOfTime, SearchClassifications matchClassifications, String sequencingProperty, SequencingOrder sequencingOrder, int startFrom, int pageSize) Return a list of metadata elements that match the supplied criteria.findMetadataElementsWithString
(String searchString, int startFrom, int pageSize) Retrieve the metadata elements that contain the requested string.findMetadataElementsWithString
(String searchString, String typeName, int startFrom, int pageSize) Retrieve the metadata elements of the requested type that contain the requested string.findRelationshipsBetweenMetadataElements
(String relationshipTypeName, SearchProperties searchProperties, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int startFrom, int pageSize) Return a list of relationships that match the requested conditions.Returns all the TypeDefs for a specific category.findTypesByExternalID
(String standard, String organization, String identifier) Return the types that are linked to the elements from the specified standard.Returns the list of different types of metadata organized into two groups.Return the AttributeTypeDef identified by the GUID.Return the AttributeTypeDef identified by the unique name.getConsistentMetadataValues
(String typeName, String propertyName, String mapName, String preferredValue, int startFrom, int pageSize) Retrieve all the consistent valid values for the requested property.getDeletedElementByUniqueName
(String uniqueName, String uniquePropertyName) Retrieve the metadata element using its unique name (typically the qualified name) and the DELETED status.getElementsForExternalIdentifier
(String externalScopeGUID, String externalScopeName, String externalIdentifier, int startFrom, int pageSize) Return the list of headers for open metadata elements that are associated with a particular external identifier.getLineageElementByUniqueName
(String uniqueName, String uniquePropertyName) Retrieve the metadata element using its unique name (typically the qualified name).int
Get the maximum paging size.getMetadataCorrelationHeaders
(String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName) Assemble the correlation headers attached to the supplied element guid.getMetadataElementByGUID
(String elementGUID) Retrieve the metadata element using its unique identifier.getMetadataElementByUniqueName
(String uniqueName, String uniquePropertyName) Retrieve the metadata element using its unique name (typically the qualified name).getMetadataElementFromTemplate
(String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) Create/get a new metadata element in the metadata store using the template identified by the templateGUID.getMetadataElementFromTemplate
(String externalSourceGUID, String externalSourceName, String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) Create/get a new metadata element in the metadata store using the template identified by the templateGUID.getMetadataElementGUIDByUniqueName
(String uniqueName, String uniquePropertyName) Retrieve the unique identifier of a metadata element using its unique name (typically the qualified name).getMetadataElementHistory
(String elementGUID, Date fromTime, Date toTime, boolean oldestFirst, Date effectiveTime, int startFrom, int pageSize) Return each of the versions of a metadata element.getMetadataElementRelationships
(String metadataElementAtEnd1GUID, String metadataElementAtEnd2GUID, String relationshipTypeName, int startFrom, int pageSize) Retrieve the relationships linking to the supplied elements.getRelatedMetadataElement
(String elementGUID, int startingAtEnd, String relationshipTypeName, Date effectiveTime) Retrieve the metadata element connected to the supplied element for a relationship type that only allows one relationship to be attached.getRelatedMetadataElements
(String elementGUID, int startingAtEnd, String relationshipTypeName, int startFrom, int pageSize) Retrieve the metadata elements connected to the supplied element.getRelationshipByGUID
(String relationshipGUID) Retrieve the relationship using its unique identifier.getTypeDefByGUID
(String guid) Return the TypeDef identified by the GUID.getTypeDefByName
(String name) Return the TypeDef identified by the unique name.getValidMetadataMapName
(String typeName, String propertyName, String preferredValue) Retrieve details of a specific valid name for a map property.getValidMetadataMapValue
(String typeName, String propertyName, String mapName, String preferredValue) Retrieve details of a specific valid value for a map name.getValidMetadataValue
(String typeName, String propertyName, String preferredValue) Retrieve details of a specific valid value for a property.getValidMetadataValues
(String typeName, String propertyName, int startFrom, int pageSize) Retrieve all the valid values for the requested property.getVendorProperties
(String openMetadataElementGUID, String openMetadataElementTypeName) Return the vendor properties associated with an element.boolean
Return the forDuplicateProcessing setting.boolean
Return the forLineage setting.boolean
Return the boolean setting for whether the current time for requests or null.openToDo
(String qualifiedName, String title, String instructions, String todoCategory, int priority, Date dueDate, Map<String, String> additionalProperties, String assignTo, String sponsorGUID, List<NewActionTarget> actionTargets) Create a "To Do" request for someone to work on.void
reclassifyMetadataElementInStore
(String metadataElementGUID, String classificationName, boolean replaceProperties, ElementProperties properties) Update the properties of a classification that is currently attached to a specific metadata element.void
reclassifyMetadataElementInStore
(String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, boolean replaceProperties, ElementProperties properties) Update the properties of a classification that is currently attached to a specific metadata element.void
removeExternalIdentifier
(String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String externalIdentifier) Remove an external identifier from an existing open metadata element.void
setExternalSourceIds
(String externalSourceGUID, String externalSourceName) Set up the externalSourceGUID and Name.void
setForDuplicateProcessing
(boolean forDuplicateProcessing) Set up the forDuplicateProcessing setting.void
setForLineage
(boolean forLineage) Set up the forLineage setting.void
setUpValidMetadataMapName
(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 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 typeName, String propertyName, ValidMetadataValue validMetadataValue) Create or update the valid value for a particular open metadata property name.void
setUseCurrentEffectiveTime
(boolean useCurrentEffectiveTime) Set up the boolean setting for whether the current time for requests or null.void
updateClassificationEffectivityInStore
(String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, Date effectiveFrom, Date effectiveTo) Update the effectivity dates of a specific classification attached to a metadata element.void
updateClassificationEffectivityInStore
(String metadataElementGUID, String classificationName, Date effectiveFrom, Date effectiveTo) Update the effectivity dates of a specific classification attached to a metadata element.void
updateExternalIdentifier
(String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties) Update the description of a specific external identifier.void
updateMetadataElementEffectivityInStore
(String externalSourceGUID, String externalSourceName, String metadataElementGUID, Date effectiveFrom, Date effectiveTo) Update the effectivity dates control the visibility of the element through specific APIs.void
updateMetadataElementEffectivityInStore
(String metadataElementGUID, Date effectiveFrom, Date effectiveTo) Update the effectivity dates control the visibility of the element through specific APIs.void
updateMetadataElementInStore
(String metadataElementGUID, boolean replaceProperties, ElementProperties properties) Update the properties of a specific metadata element.void
updateMetadataElementInStore
(String externalSourceGUID, String externalSourceName, String metadataElementGUID, boolean replaceProperties, ElementProperties properties) Update the properties of a specific metadata element.void
updateMetadataElementStatusInStore
(String externalSourceGUID, String externalSourceName, String metadataElementGUID, ElementStatus newElementStatus) Update the status of specific metadata element.void
updateMetadataElementStatusInStore
(String metadataElementGUID, ElementStatus newElementStatus) Update the status of specific metadata element.void
updateRelatedElementsEffectivityInStore
(String externalSourceGUID, String externalSourceName, String relationshipGUID, Date effectiveFrom, Date effectiveTo) Update the effectivity dates of a specific relationship between metadata elements.void
updateRelatedElementsEffectivityInStore
(String relationshipGUID, Date effectiveFrom, Date effectiveTo) Update the effectivity dates of a specific relationship between metadata elements.void
updateRelatedElementsInStore
(String relationshipGUID, boolean replaceProperties, ElementProperties properties) Update the properties associated with a relationship.void
updateRelatedElementsInStore
(String externalSourceGUID, String externalSourceName, String relationshipGUID, boolean replaceProperties, ElementProperties properties) Update the properties associated with a relationship.void
validateExternalIdentifier
(String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String elementExternalIdentifier) Check that the supplied external identifier matches the element GUID.boolean
validateMetadataMapName
(String typeName, String propertyName, String actualValue) Validate whether the name found in an open metadata map property is valid.boolean
validateMetadataMapValue
(String typeName, String propertyName, String mapName, String actualValue) Validate whether the name found in an open metadata map property is valid.boolean
validateMetadataValue
(String typeName, String propertyName, String actualValue) Validate whether the value found in an open metadata property is valid.
-
Field Details
-
openMetadataClient
-
-
Constructor Details
-
OpenMetadataStore
public OpenMetadataStore(OpenMetadataClient openMetadataClient, String userId, String externalSourceGUID, String externalSourceName, String originatorGUID) The constructor needs an implementation of the open metadata store.- Parameters:
openMetadataClient
- client implementationuserId
- calling userexternalSourceGUID
- unique identifier for external source (or null)externalSourceName
- unique name for external source (or null)originatorGUID
- unique identifier of the source of the to do
-
OpenMetadataStore
public OpenMetadataStore(OpenMetadataClient openMetadataClient, String userId, String originatorGUID) Construct the open metadata store wrapper around the open metadata client.- Parameters:
openMetadataClient
- client to retrieve values from theuserId
- userId for the governance serviceoriginatorGUID
- unique identifier of the source of the to do
-
-
Method Details
-
getMaxPagingSize
public int getMaxPagingSize()Get the maximum paging size.- Returns:
- maxPagingSize new value
-
isForLineage
public boolean isForLineage()Return the forLineage setting.- Returns:
- boolean
-
setForLineage
public void setForLineage(boolean forLineage) Set up the forLineage setting.- Parameters:
forLineage
- boolean
-
isForDuplicateProcessing
public boolean isForDuplicateProcessing()Return the forDuplicateProcessing setting.- Returns:
- boolean
-
setForDuplicateProcessing
public void setForDuplicateProcessing(boolean forDuplicateProcessing) Set up the forDuplicateProcessing setting.- Parameters:
forDuplicateProcessing
- boolean
-
isUseCurrentEffectiveTime
public boolean isUseCurrentEffectiveTime()Return the boolean setting for whether the current time for requests or null.- Returns:
- boolean
-
setUseCurrentEffectiveTime
public void setUseCurrentEffectiveTime(boolean useCurrentEffectiveTime) Set up the boolean setting for whether the current time for requests or null.- Parameters:
useCurrentEffectiveTime
- boolean
-
setExternalSourceIds
Set up the externalSourceGUID and Name.- Parameters:
externalSourceGUID
- unique identifier of the source metadata collectionexternalSourceName
- unique name of the source metadata collection
-
getAllTypes
public OpenMetadataTypeDefGallery getAllTypes() throws InvalidParameterException, PropertyServerException, UserNotAuthorizedExceptionReturns 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.- 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(OpenMetadataTypeDefCategory category) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Returns all the TypeDefs for a specific category.- Parameters:
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(OpenMetadataAttributeTypeDefCategory category) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Returns all the AttributeTypeDefs for a specific category.- Parameters:
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 standard, String organization, String identifier) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the types that are linked to the elements from the specified standard.- Parameters:
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.
-
getTypeDefByGUID
public OpenMetadataTypeDef getTypeDefByGUID(String guid) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the TypeDef identified by the GUID.- Parameters:
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 guid) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the AttributeTypeDef identified by the GUID.- Parameters:
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 name) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the TypeDef identified by the unique name.- Parameters:
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 name) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the AttributeTypeDef identified by the unique name.- Parameters:
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 elementGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element using its unique identifier.- Parameters:
elementGUID
- unique identifier for the metadata element- Returns:
- metadata element properties
- Throws:
InvalidParameterException
- the unique identifier is null or not known.UserNotAuthorizedException
- the governance action service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementByUniqueName
public OpenMetadataElement getMetadataElementByUniqueName(String uniqueName, String uniquePropertyName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element using its unique name (typically the qualified name).- Parameters:
uniqueName
- unique name for the metadata elementuniquePropertyName
- name of property name to test in the open metadata element - if null "qualifiedName" is used- Returns:
- metadata element properties or null if not found
- Throws:
InvalidParameterException
- the unique identifier is null.UserNotAuthorizedException
- the governance action service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getLineageElementByUniqueName
public OpenMetadataElement getLineageElementByUniqueName(String uniqueName, String uniquePropertyName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element using its unique name (typically the qualified name).- Parameters:
uniqueName
- unique name for the metadata elementuniquePropertyName
- name of property name to test in the open metadata element - if null "qualifiedName" is used- Returns:
- metadata element properties or null if not found
- Throws:
InvalidParameterException
- the unique identifier is null.UserNotAuthorizedException
- the governance action service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getDeletedElementByUniqueName
public OpenMetadataElement getDeletedElementByUniqueName(String uniqueName, String uniquePropertyName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata element using its unique name (typically the qualified name) and the DELETED status. This method assumes all effective dates, and forLineage and forDuplicateProcessing is set to false, to cast the widest net.- Parameters:
uniqueName
- unique name for the metadata elementuniquePropertyName
- name of property name to test in the open metadata element - if null "qualifiedName" is used- Returns:
- metadata element properties or null if not found
- Throws:
InvalidParameterException
- the unique identifier is null.UserNotAuthorizedException
- the governance action service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getMetadataElementGUIDByUniqueName
public String getMetadataElementGUIDByUniqueName(String uniqueName, String uniquePropertyName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the unique identifier of a metadata element using its unique name (typically the qualified name).- Parameters:
uniqueName
- unique name for the metadata elementuniquePropertyName
- name of property name to test in the open metadata element - if null "qualifiedName" is used- Returns:
- metadata element unique identifier (guid)
- Throws:
InvalidParameterException
- the unique identifier is null or not known.UserNotAuthorizedException
- the governance action service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
findMetadataElementsWithString
public List<OpenMetadataElement> findMetadataElementsWithString(String searchString, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata elements that contain the requested string.- Parameters:
searchString
- name to retrievestartFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of matching metadata elements (or null if no elements match the name)
- Throws:
InvalidParameterException
- the qualified name is nullUserNotAuthorizedException
- the governance action service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
findMetadataElementsWithString
public List<OpenMetadataElement> findMetadataElementsWithString(String searchString, String typeName, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata elements of the requested type that contain the requested string.- Parameters:
searchString
- name to retrievetypeName
- name of the type to limit the results to (maybe null to mean all types)startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of matching metadata elements (or null if no elements match the name)
- Throws:
InvalidParameterException
- the qualified name is nullUserNotAuthorizedException
- the governance action service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
getRelatedMetadataElements
public List<RelatedMetadataElement> getRelatedMetadataElements(String elementGUID, int startingAtEnd, String relationshipTypeName, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the metadata elements connected to the supplied element.- Parameters:
elementGUID
- 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)startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of related elements
- Throws:
InvalidParameterException
- the unique identifier is null or not known; the relationship type is invalidUserNotAuthorizedException
- the governance action service is not able to access the elementsPropertyServerException
- there is a problem accessing the metadata store
-
getRelatedMetadataElement
public RelatedMetadataElement getRelatedMetadataElement(String elementGUID, int startingAtEnd, String relationshipTypeName, Date effectiveTime) 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.- Parameters:
elementGUID
- 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)effectiveTime
- only return an element if it is effective at this time. Null means anytime. Use "new Date()" for now.- 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 elementGUID, Date fromTime, Date toTime, boolean oldestFirst, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return each of the versions of a metadata element.- Parameters:
elementGUID
- unique identifier for the metadata elementfromTime
- the earliest point in time from which to retrieve historical versions of the entity (inclusive)toTime
- the latest point in time from which to retrieve historical versions of the entity (exclusive)oldestFirst
- defining how the results should be ordered.effectiveTime
- only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.startFrom
- paging start pointpageSize
- maximum results that can be returned- 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 List<OpenMetadataRelationship> getMetadataElementRelationships(String metadataElementAtEnd1GUID, String metadataElementAtEnd2GUID, String relationshipTypeName, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the relationships linking to the supplied elements.- Parameters:
metadataElementAtEnd1GUID
- 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)startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of related elements
- Throws:
InvalidParameterException
- the unique identifier is null or not known; the relationship type is invalidUserNotAuthorizedException
- the governance action service is not able to access the elementsPropertyServerException
- there is a problem accessing the metadata store
-
findMetadataElements
public List<OpenMetadataElement> findMetadataElements(String metadataElementTypeName, List<String> metadataElementSubtypeName, SearchProperties searchProperties, List<ElementStatus> limitResultsByStatus, Date asOfTime, SearchClassifications matchClassifications, String sequencingProperty, SequencingOrder sequencingOrder, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return a list of metadata elements that match the supplied criteria. The results can be returned over many pages.- Parameters:
metadataElementTypeName
- type of interest (null means any element type)metadataElementSubtypeName
- optional list of the subtypes of the metadataElementTypeName to include in the search results. Null means all subtypes.searchProperties
- Optional list of entity property conditions to match.limitResultsByStatus
- By default, entities in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (e.g. ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.matchClassifications
- Optional list of classifications to match.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.startFrom
- paging start pointpageSize
- maximum results that can be returned- 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 governance action service is not able to access the elementsPropertyServerException
- there is a problem accessing the metadata store
-
findRelationshipsBetweenMetadataElements
public List<OpenMetadataRelationship> findRelationshipsBetweenMetadataElements(String relationshipTypeName, SearchProperties searchProperties, List<ElementStatus> limitResultsByStatus, Date asOfTime, String sequencingProperty, SequencingOrder sequencingOrder, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return a list of relationships that match the requested conditions. The results can be received as a series of pages.- Parameters:
relationshipTypeName
- relationship's type. Null means all types (but may be slow so not recommended).searchProperties
- Optional list of relationship property conditions to match.limitResultsByStatus
- By default, relationships in all statuses (other than DELETE) are returned. However, it is possible to specify a list of statuses (for example ACTIVE) to restrict the results to. Null means all status values.asOfTime
- Requests a historical query of the entity. Null means return the present values.sequencingProperty
- String name of the property that is to be used to sequence the results. Null means do not sequence on a property name (see SequencingOrder).sequencingOrder
- Enum defining how the results should be ordered.startFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- a list of relationships. Null means no matching relationships.
- Throws:
InvalidParameterException
- one of the search parameters are is invalidUserNotAuthorizedException
- the governance action service is not able to access the elementsPropertyServerException
- there is a problem accessing the metadata store
-
getRelationshipByGUID
public OpenMetadataRelationship getRelationshipByGUID(String relationshipGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the relationship using its unique identifier.- Parameters:
relationshipGUID
- unique identifier for the relationship- Returns:
- relationship properties
- Throws:
InvalidParameterException
- the unique identifier is null or not known.UserNotAuthorizedException
- the governance action service is not able to access the elementPropertyServerException
- there is a problem accessing the metadata store
-
createMetadataElementInStore
public String createMetadataElementInStore(String metadataElementTypeName, ElementStatus initialStatus, ElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create 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.- Parameters:
metadataElementTypeName
- type name of the new metadata elementinitialStatus
- initial status of the metadata elementproperties
- properties of the new metadata element- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the governance action service is not authorized to create this type of elementPropertyServerException
- there is a problem with the metadata store
-
createMetadataElementInStore
public String createMetadataElementInStore(String metadataElementTypeName, ElementStatus initialStatus, Date effectiveFrom, Date effectiveTo, ElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create 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.- Parameters:
metadataElementTypeName
- type name of the new metadata elementinitialStatus
- initial status of the metadata elementeffectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedproperties
- properties of the new metadata element- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the governance action service is not authorized to create this type of elementPropertyServerException
- there is a problem with the metadata store
-
createMetadataElementInStore
public String createMetadataElementInStore(String metadataElementTypeName, ElementStatus initialStatus, Map<String, ElementProperties> initialClassifications, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, ElementProperties properties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) 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.- Parameters:
metadataElementTypeName
- type name of the new metadata elementinitialStatus
- initial status of the metadata elementinitialClassifications
- map of classification names to classification properties to include in the entity creation requestanchorGUID
- unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.isOwnAnchor
- boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.effectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedproperties
- properties of the new metadata elementparentGUID
- unique identifier of optional parent entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationship- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the governance action service is not authorized to create this type of elementPropertyServerException
- there is a problem with the metadata store
-
createMetadataElementInStore
public String createMetadataElementInStore(String externalSourceGUID, String externalSourceName, String metadataElementTypeName, ElementStatus initialStatus, Map<String, ElementProperties> initialClassifications, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, ElementProperties properties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) 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.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementTypeName
- type name of the new metadata elementinitialStatus
- initial status of the metadata elementinitialClassifications
- map of classification names to classification properties to include in the entity creation requestanchorGUID
- unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.isOwnAnchor
- boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.effectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedproperties
- properties of the new metadata elementparentGUID
- unique identifier of optional parent entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationship- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the governance action service is not authorized to create this type of elementPropertyServerException
- there is a problem with the metadata store
-
createMetadataElementFromTemplate
public String createMetadataElementFromTemplate(String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate a new metadata element in the metadata store using the template identified by the templateGUID. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed. The template and any similar anchored objects are copied in this process.- Parameters:
metadataElementTypeName
- type name of the new metadata elementanchorGUID
- unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.isOwnAnchor
- boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.effectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedtemplateGUID
- 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 placeholder 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.parentGUID
- unique identifier of optional parent entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationship- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the governance action service is not authorized to create this type of elementPropertyServerException
- there is a problem with the metadata store
-
createMetadataElementFromTemplate
public String createMetadataElementFromTemplate(String externalSourceGUID, String externalSourceName, String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate a new metadata element in the metadata store using the template identified by the templateGUID. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed. The template and any similar anchored objects are copied in this process.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementTypeName
- type name of the new metadata elementanchorGUID
- unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.isOwnAnchor
- boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.effectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedtemplateGUID
- 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 placeholder 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.parentGUID
- unique identifier of optional parent entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationship- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the governance action service is not authorized to create this type of elementPropertyServerException
- there is a problem with the metadata store
-
getMetadataElementFromTemplate
public String getMetadataElementFromTemplate(String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate/get a new metadata element in the metadata store using the template identified by the templateGUID. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed. The template and any similar anchored objects are copied in this process.- Parameters:
metadataElementTypeName
- type name of the new metadata elementanchorGUID
- unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.isOwnAnchor
- boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.effectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedtemplateGUID
- 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 placeholder 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.parentGUID
- unique identifier of optional parent entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationship- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the governance action service is not authorized to create this type of elementPropertyServerException
- there is a problem with the metadata store
-
getMetadataElementFromTemplate
public String getMetadataElementFromTemplate(String externalSourceGUID, String externalSourceName, String metadataElementTypeName, String anchorGUID, boolean isOwnAnchor, Date effectiveFrom, Date effectiveTo, String templateGUID, ElementProperties replacementProperties, Map<String, String> placeholderProperties, String parentGUID, String parentRelationshipTypeName, ElementProperties parentRelationshipProperties, boolean parentAtEnd1) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate/get a new metadata element in the metadata store using the template identified by the templateGUID. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed. The template and any similar anchored objects are copied in this process.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementTypeName
- type name of the new metadata elementanchorGUID
- unique identifier of the element that should be the anchor for the new element. Set to null if no anchor, or the Anchors classification is included in the initial classifications.isOwnAnchor
- boolean flag to day that the element should be classified as its own anchor once its element is created in the repository.effectiveFrom
- the date when this element is active - null for active on creationeffectiveTo
- the date when this element becomes inactive - null for active until deletedtemplateGUID
- 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 placeholder 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.parentGUID
- unique identifier of optional parent entityparentRelationshipTypeName
- type of relationship to connect the new element to the parentparentRelationshipProperties
- properties to include in parent relationshipparentAtEnd1
- which end should the parent GUID go in the relationship- Returns:
- unique identifier of the new metadata element
- Throws:
InvalidParameterException
- the type name, status or one of the properties is invalidUserNotAuthorizedException
- the governance action service is not authorized to create this type of elementPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementInStore
public void updateMetadataElementInStore(String metadataElementGUID, boolean replaceProperties, 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.- Parameters:
metadataElementGUID
- unique identifier of the metadata element to updatereplaceProperties
- flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.properties
- new properties for the metadata element- Throws:
InvalidParameterException
- either the unique identifier or the properties are invalid in some wayUserNotAuthorizedException
- the governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementInStore
public void updateMetadataElementInStore(String externalSourceGUID, String externalSourceName, String metadataElementGUID, boolean replaceProperties, 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.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updatereplaceProperties
- flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.properties
- new properties for the metadata element- Throws:
InvalidParameterException
- either the unique identifier or the properties are invalid in some wayUserNotAuthorizedException
- the governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementStatusInStore
public void updateMetadataElementStatusInStore(String metadataElementGUID, 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.- Parameters:
metadataElementGUID
- unique identifier of the metadata element to updatenewElementStatus
- new status value - or null to leave as is- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementStatusInStore
public void updateMetadataElementStatusInStore(String externalSourceGUID, String externalSourceName, String metadataElementGUID, 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.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updatenewElementStatus
- new status value - or null to leave as is- Throws:
InvalidParameterException
- either the unique identifier or the status are invalid in some wayUserNotAuthorizedException
- the governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementEffectivityInStore
public void updateMetadataElementEffectivityInStore(String metadataElementGUID, Date effectiveFrom, Date effectiveTo) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the effectivity dates control the visibility of the element through specific APIs.- Parameters:
metadataElementGUID
- unique identifier of the metadata element to updateeffectiveFrom
- 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 governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
updateMetadataElementEffectivityInStore
public void updateMetadataElementEffectivityInStore(String externalSourceGUID, String externalSourceName, String metadataElementGUID, Date effectiveFrom, Date effectiveTo) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the effectivity dates control the visibility of the element through specific APIs.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updateeffectiveFrom
- 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 governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
deleteMetadataElementInStore
public void deleteMetadataElementInStore(String metadataElementGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a specific metadata element.- Parameters:
metadataElementGUID
- unique identifier of the metadata element to update- Throws:
InvalidParameterException
- the unique identifier is null or invalid in some wayUserNotAuthorizedException
- the governance action service is not authorized to delete this elementPropertyServerException
- there is a problem with the metadata store
-
deleteMetadataElementInStore
public void deleteMetadataElementInStore(String externalSourceGUID, String externalSourceName, String metadataElementGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a specific metadata element.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to update- Throws:
InvalidParameterException
- the unique identifier is null or invalid in some wayUserNotAuthorizedException
- the governance action service is not authorized to delete this elementPropertyServerException
- there is a problem with the metadata store
-
archiveMetadataElementInStore
public void archiveMetadataElementInStore(String metadataElementGUID, ArchiveProperties archiveProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Archive a specific metadata element.- Parameters:
metadataElementGUID
- unique identifier of the metadata element to updatearchiveProperties
- description of the archiving process- Throws:
InvalidParameterException
- the unique identifier is null or invalid in some wayUserNotAuthorizedException
- the governance action service is not authorized to delete this elementPropertyServerException
- there is a problem with the metadata store
-
archiveMetadataElementInStore
public void archiveMetadataElementInStore(String externalSourceGUID, String externalSourceName, String metadataElementGUID, ArchiveProperties archiveProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Archive a specific metadata element.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updatearchiveProperties
- description of the archiving process- Throws:
InvalidParameterException
- the unique identifier is null or invalid in some wayUserNotAuthorizedException
- the governance action service is not authorized to delete this elementPropertyServerException
- there is a problem with the metadata store
-
classifyMetadataElementInStore
public void classifyMetadataElementInStore(String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, ElementProperties 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.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- name of the classification to add (if the classification is already present then use reclassify)properties
- 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 governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
classifyMetadataElementInStore
public void classifyMetadataElementInStore(String metadataElementGUID, String classificationName, ElementProperties 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.- Parameters:
metadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- name of the classification to add (if the classification is already present then use reclassify)properties
- 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 governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
classifyMetadataElementInStore
public void classifyMetadataElementInStore(String metadataElementGUID, String classificationName, Date effectiveFrom, Date effectiveTo, ElementProperties 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.- Parameters:
metadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- name of the classification to add (if the classification is already present then use reclassify)effectiveFrom
- the date when this classification is active - null for active noweffectiveTo
- the date when this classification becomes inactive - null for active until deletedproperties
- 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 governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
classifyMetadataElementInStore
public void classifyMetadataElementInStore(String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, Date effectiveFrom, Date effectiveTo, ElementProperties 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.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- name of the classification to add (if the classification is already present then use reclassify)effectiveFrom
- the date when this classification is active - null for active noweffectiveTo
- the date when this classification becomes inactive - null for active until deletedproperties
- 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 governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
reclassifyMetadataElementInStore
public void reclassifyMetadataElementInStore(String metadataElementGUID, String classificationName, boolean replaceProperties, ElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties of a classification that is currently attached to a specific metadata element.- Parameters:
metadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to updatereplaceProperties
- flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.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 governance action service is not authorized to update this element/classificationPropertyServerException
- there is a problem with the metadata store
-
reclassifyMetadataElementInStore
public void reclassifyMetadataElementInStore(String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, boolean replaceProperties, ElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties of a classification that is currently attached to a specific metadata element.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to updatereplaceProperties
- flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.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 governance action service is not authorized to update this element/classificationPropertyServerException
- there is a problem with the metadata store
-
updateClassificationEffectivityInStore
public void updateClassificationEffectivityInStore(String metadataElementGUID, String classificationName, 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.- Parameters:
metadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to updateeffectiveFrom
- 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 governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
updateClassificationEffectivityInStore
public void updateClassificationEffectivityInStore(String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName, 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.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to updateeffectiveFrom
- 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 governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
declassifyMetadataElementInStore
public void declassifyMetadataElementInStore(String metadataElementGUID, String classificationName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the named classification from a specific metadata element.- Parameters:
metadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to remove- Throws:
InvalidParameterException
- the unique identifier or classification name is null or invalid in some wayUserNotAuthorizedException
- the governance action service is not authorized to remove this classificationPropertyServerException
- there is a problem with the metadata store
-
declassifyMetadataElementInStore
public void declassifyMetadataElementInStore(String externalSourceGUID, String externalSourceName, String metadataElementGUID, String classificationName) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the named classification from a specific metadata element.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionmetadataElementGUID
- unique identifier of the metadata element to updateclassificationName
- unique name of the classification to remove- Throws:
InvalidParameterException
- the unique identifier or classification name is null or invalid in some wayUserNotAuthorizedException
- the governance action service is not authorized to remove this classificationPropertyServerException
- there is a problem with the metadata store
-
createRelatedElementsInStore
public String createRelatedElementsInStore(String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, Date effectiveFrom, Date effectiveTo, ElementProperties 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.- Parameters:
relationshipTypeName
- 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 relationshipeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deletedproperties
- 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 governance action service is not authorized to create this type of relationshipPropertyServerException
- there is a problem with the metadata store
-
createRelatedElementsInStore
public String createRelatedElementsInStore(String externalSourceGUID, String externalSourceName, String relationshipTypeName, String metadataElement1GUID, String metadataElement2GUID, Date effectiveFrom, Date effectiveTo, ElementProperties 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.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionrelationshipTypeName
- 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 relationshipeffectiveFrom
- the date when this element is active - null for active noweffectiveTo
- the date when this element becomes inactive - null for active until deletedproperties
- 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 governance action service is not authorized to create this type of relationshipPropertyServerException
- there is a problem with the metadata store
-
updateRelatedElementsInStore
public void updateRelatedElementsInStore(String relationshipGUID, boolean replaceProperties, ElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties associated with a relationship.- Parameters:
relationshipGUID
- unique identifier of the relationship to updatereplaceProperties
- flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.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 governance action service is not authorized to update this relationshipPropertyServerException
- there is a problem with the metadata store
-
updateRelatedElementsInStore
public void updateRelatedElementsInStore(String externalSourceGUID, String externalSourceName, String relationshipGUID, boolean replaceProperties, ElementProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties associated with a relationship.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionrelationshipGUID
- unique identifier of the relationship to updatereplaceProperties
- flag to indicate whether to completely replace the existing properties with the new properties, or just update the individual properties specified on the request.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 governance action service is not authorized to update this relationshipPropertyServerException
- there is a problem with the metadata store
-
updateRelatedElementsEffectivityInStore
public void updateRelatedElementsEffectivityInStore(String relationshipGUID, 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.- Parameters:
relationshipGUID
- unique identifier of the relationship to updateeffectiveFrom
- 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 governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
updateRelatedElementsEffectivityInStore
public void updateRelatedElementsEffectivityInStore(String externalSourceGUID, String externalSourceName, String relationshipGUID, 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.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionrelationshipGUID
- unique identifier of the relationship to updateeffectiveFrom
- 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 governance action service is not authorized to update this elementPropertyServerException
- there is a problem with the metadata store
-
deleteRelatedElementsInStore
public void deleteRelatedElementsInStore(String relationshipGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a relationship between two metadata elements.- Parameters:
relationshipGUID
- unique identifier of the relationship to delete- Throws:
InvalidParameterException
- the unique identifier of the relationship is null or invalid in some wayUserNotAuthorizedException
- the governance action service is not authorized to delete this relationshipPropertyServerException
- there is a problem with the metadata store
-
deleteRelatedElementsInStore
public void deleteRelatedElementsInStore(String externalSourceGUID, String externalSourceName, String relationshipGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a relationship between two metadata elements.- Parameters:
externalSourceGUID
- unique identifier of the software capability that owns this collectionexternalSourceName
- unique name of the software capability that owns this collectionrelationshipGUID
- unique identifier of the relationship to delete- Throws:
InvalidParameterException
- the unique identifier of the relationship is null or invalid in some wayUserNotAuthorizedException
- the governance action service is not authorized to delete this relationshipPropertyServerException
- there is a problem with the metadata store
-
createIncidentReport
public String createIncidentReport(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 this governance action service. This incident report will be processed by other governance activities.- Parameters:
qualifiedName
- 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
- this governance action service is not authorized to create an incident reportPropertyServerException
- there is a problem with the metadata store
-
openToDo
public String openToDo(String qualifiedName, String title, String instructions, String todoCategory, int priority, Date dueDate, Map<String, String> additionalProperties, String assignTo, String sponsorGUID, List<NewActionTarget> actionTargets) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerExceptionCreate a "To Do" request for someone to work on.- Parameters:
qualifiedName
- 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 dotodoCategory
- 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 reportsassignTo
- qualified name of the Actor element for the recipientsponsorGUID
- unique identifier of the element that describes the rule, project that this is on behalf ofactionTargets
- 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 governance action service is not authorized to create a "to do" entityPropertyServerException
- there is a problem connecting to (or inside) the metadata store
-
setUpValidMetadataValue
public void setUpValidMetadataValue(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:
typeName
- 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 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:
typeName
- 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 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:
typeName
- 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 typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove a valid value for a property.- Parameters:
typeName
- 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 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:
typeName
- 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 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:
typeName
- 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 typeName, String propertyName, String actualValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Validate whether the value found in an open metadata property is valid.- Parameters:
typeName
- 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 typeName, String propertyName, String actualValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Validate whether the name found in an open metadata map property is valid.- Parameters:
typeName
- 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 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:
typeName
- 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 typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve details of a specific valid value for a property.- Parameters:
typeName
- 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 typeName, String propertyName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve details of a specific valid name for a map property.- Parameters:
typeName
- 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 typeName, String propertyName, String mapName, String preferredValue) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve details of a specific valid value for a map name.- Parameters:
typeName
- 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 typeName, String propertyName, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve all the valid values for the requested property.- Parameters:
typeName
- 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 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:
typeName
- 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
-
addExternalIdentifier
public void addExternalIdentifier(String externalScopeGUID, String externalScopeName, String externalScopeTypeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Add a new external identifier to an existing open metadata element.- Parameters:
externalScopeGUID
- 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 identifier- 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 externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the description of a specific external identifier.- Parameters:
externalScopeGUID
- 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 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 externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String externalIdentifier) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove an external identifier from an existing open metadata element. The open metadata element is not affected.- Parameters:
externalScopeGUID
- 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 manager- 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 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.- Parameters:
externalScopeGUID
- 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 externalScopeGUID, String externalScopeName, String externalIdentifier, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return the list of headers for open metadata elements that are associated with a particular external identifier.- Parameters:
externalScopeGUID
- 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 returned- 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 void validateExternalIdentifier(String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String elementExternalIdentifier) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Check that the supplied external identifier matches the element GUID.- Parameters:
externalScopeGUID
- 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 value- 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.
-
getMetadataCorrelationHeaders
public List<MetadataCorrelationHeader> getMetadataCorrelationHeaders(String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName) 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.- Parameters:
externalScopeGUID
- 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 element- 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 openMetadataElementGUID, String openMetadataElementTypeName) 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.- Parameters:
openMetadataElementGUID
- unique identifier (GUID) of this element in open metadataopenMetadataElementTypeName
- type name for the open metadata element- 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.
-