Class OpenMetadataAccess
java.lang.Object
org.odpi.openmetadata.frameworks.governanceaction.OpenMetadataStore
org.odpi.openmetadata.frameworks.integration.context.OpenMetadataAccess
OpenMetadataAccess provides an interface to the open metadata store. This is part of the Governance Action Framework (GAF)
and provides a comprehensive interface for working with all types of metadata, subject to the user's (and this OMAS's) security permissions.
The interface supports search, maintenance of metadata elements, classifications and relationships.
-
Field Summary
Fields inherited from class org.odpi.openmetadata.frameworks.governanceaction.OpenMetadataStore
openMetadataClient
-
Constructor Summary
ConstructorDescriptionOpenMetadataAccess
(OpenMetadataClient openMetadataClient, String userId, String externalSourceGUID, String externalSourceName, String originatorGUID, IntegrationReportWriter reportWriter) The constructor needs an implementation of the open metadata store. -
Method Summary
Modifier and TypeMethodDescriptionvoid
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.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
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.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.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
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
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.Methods inherited from class org.odpi.openmetadata.frameworks.governanceaction.OpenMetadataStore
addExternalIdentifier, classifyMetadataElementInStore, clearValidMetadataMapName, clearValidMetadataMapValue, clearValidMetadataValue, confirmSynchronization, createIncidentReport, declassifyMetadataElementInStore, findAttributeTypeDefsByCategory, findMetadataElements, findMetadataElementsWithString, findMetadataElementsWithString, findRelationshipsBetweenMetadataElements, findTypeDefsByCategory, findTypesByExternalID, getAllTypes, getAttributeTypeDefByGUID, getAttributeTypeDefByName, getConsistentMetadataValues, getDeletedElementByUniqueName, getElementsForExternalIdentifier, getLineageElementByUniqueName, getMaxPagingSize, getMetadataCorrelationHeaders, getMetadataElementByGUID, getMetadataElementByUniqueName, getMetadataElementGUIDByUniqueName, getMetadataElementHistory, getMetadataElementRelationships, getRelatedMetadataElement, getRelatedMetadataElements, getRelationshipByGUID, getTypeDefByGUID, getTypeDefByName, getValidMetadataMapName, getValidMetadataMapValue, getValidMetadataValue, getValidMetadataValues, getVendorProperties, isForDuplicateProcessing, isForLineage, isUseCurrentEffectiveTime, openToDo, removeExternalIdentifier, setExternalSourceIds, setForDuplicateProcessing, setForLineage, setUpValidMetadataMapName, setUpValidMetadataMapValue, setUpValidMetadataValue, setUseCurrentEffectiveTime, updateExternalIdentifier, validateExternalIdentifier, validateMetadataMapName, validateMetadataMapValue, validateMetadataValue
-
Constructor Details
-
OpenMetadataAccess
public OpenMetadataAccess(OpenMetadataClient openMetadataClient, String userId, String externalSourceGUID, String externalSourceName, String originatorGUID, IntegrationReportWriter reportWriter) 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 doreportWriter
- report writer (maybe null)
-
-
Method Details
-
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.- Overrides:
createMetadataElementInStore
in classOpenMetadataStore
- 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.- Overrides:
createMetadataElementInStore
in classOpenMetadataStore
- 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.- Overrides:
createMetadataElementInStore
in classOpenMetadataStore
- 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.- Overrides:
createMetadataElementInStore
in classOpenMetadataStore
- 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.- Overrides:
createMetadataElementFromTemplate
in classOpenMetadataStore
- 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.- Overrides:
createMetadataElementFromTemplate
in classOpenMetadataStore
- 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.- Overrides:
getMetadataElementFromTemplate
in classOpenMetadataStore
- 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.- Overrides:
getMetadataElementFromTemplate
in classOpenMetadataStore
- 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.- Overrides:
updateMetadataElementInStore
in classOpenMetadataStore
- 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.- Overrides:
updateMetadataElementInStore
in classOpenMetadataStore
- 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.- Overrides:
updateMetadataElementStatusInStore
in classOpenMetadataStore
- 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.- Overrides:
updateMetadataElementStatusInStore
in classOpenMetadataStore
- 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.- Overrides:
updateMetadataElementEffectivityInStore
in classOpenMetadataStore
- 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.- Overrides:
updateMetadataElementEffectivityInStore
in classOpenMetadataStore
- 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.- Overrides:
deleteMetadataElementInStore
in classOpenMetadataStore
- Parameters:
metadataElementGUID
- unique identifier of the metadata element to delete- 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.- Overrides:
deleteMetadataElementInStore
in classOpenMetadataStore
- 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.- Overrides:
archiveMetadataElementInStore
in classOpenMetadataStore
- Parameters:
metadataElementGUID
- unique identifier of the metadata element to archivearchiveProperties
- details of the archive process- Throws:
InvalidParameterException
- the unique identifier is null or invalid in some wayUserNotAuthorizedException
- the governance action service is not authorized to archive 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.- Overrides:
archiveMetadataElementInStore
in classOpenMetadataStore
- 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 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.- Overrides:
classifyMetadataElementInStore
in classOpenMetadataStore
- 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, 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.- Overrides:
classifyMetadataElementInStore
in classOpenMetadataStore
- 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 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.- Overrides:
classifyMetadataElementInStore
in classOpenMetadataStore
- 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.- Overrides:
reclassifyMetadataElementInStore
in classOpenMetadataStore
- 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.- Overrides:
reclassifyMetadataElementInStore
in classOpenMetadataStore
- 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.- Overrides:
updateClassificationEffectivityInStore
in classOpenMetadataStore
- 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.- Overrides:
updateClassificationEffectivityInStore
in classOpenMetadataStore
- 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.- Overrides:
declassifyMetadataElementInStore
in classOpenMetadataStore
- 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
-
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.- Overrides:
createRelatedElementsInStore
in classOpenMetadataStore
- 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.- Overrides:
createRelatedElementsInStore
in classOpenMetadataStore
- 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.- Overrides:
updateRelatedElementsInStore
in classOpenMetadataStore
- 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.- Overrides:
updateRelatedElementsInStore
in classOpenMetadataStore
- 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.- Overrides:
updateRelatedElementsEffectivityInStore
in classOpenMetadataStore
- 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.- Overrides:
updateRelatedElementsEffectivityInStore
in classOpenMetadataStore
- 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.- Overrides:
deleteRelatedElementsInStore
in classOpenMetadataStore
- 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.- Overrides:
deleteRelatedElementsInStore
in classOpenMetadataStore
- 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
-