Class OpenMetadataStoreRESTServices
- java.lang.Object
-
- org.odpi.openmetadata.commonservices.gaf.server.OpenMetadataStoreRESTServices
-
public class OpenMetadataStoreRESTServices extends Object
The OpenMetadataStoreRESTServices provides the server-side implementation of the services used by the governance engine as it is managing requests to execute open governance services in the governance server. These services align with the interface definitions from the Governance Action Framework (GAF).
-
-
Constructor Summary
Constructors Constructor Description OpenMetadataStoreRESTServices()Default constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VoidResponseclassifyMetadataElementInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, String classificationName, NewClassificationRequestBody requestBody)Add a new classification to the metadata element.GUIDResponsecreateIncidentReport(String serverName, String serviceURLMarker, String userId, IncidentReportRequestBody requestBody)Create an incident report to capture the situation detected by this governance action service.GUIDResponsecreateMetadataElementInStore(String serverName, String serviceURLMarker, String userId, NewMetadataElementRequestBody requestBody)Create a new metadata element in the metadata store.GUIDResponsecreateRelatedElementsInStore(String serverName, String serviceURLMarker, String userId, NewRelatedElementsRequestBody requestBody)Create a relationship between two metadata elements.VoidResponsedeleteMetadataElementInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, UpdateRequestBody requestBody)Delete a specific metadata element.VoidResponsedeleteRelatedElementsInStore(String serverName, String serviceURLMarker, String userId, String relationshipGUID, UpdateRequestBody requestBody)Delete a relationship between two metadata elements.OpenMetadataElementsResponsefindMetadataElements(String serverName, String serviceURLMarker, String userId, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime, int startFrom, int pageSize, FindRequestBody requestBody)Return a list of metadata elements that match the supplied criteria.OpenMetadataElementsResponsefindMetadataElementsWithString(String serverName, String serviceURLMarker, String userId, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime, int startFrom, int pageSize, SearchStringRequestBody requestBody)Retrieve the metadata elements that contain the requested string.RelatedMetadataElementsListResponsefindRelationshipsBetweenMetadataElements(String serverName, String serviceURLMarker, String userId, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime, int startFrom, int pageSize, FindRequestBody requestBody)Return a list of relationships that match the requested conditions.OpenMetadataElementResponsegetMetadataElementByGUID(String serverName, String serviceURLMarker, String userId, String elementGUID, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime)Retrieve the metadata element using its unique identifier.OpenMetadataElementResponsegetMetadataElementByUniqueName(String serverName, String serviceURLMarker, String userId, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime, NameRequestBody requestBody)Retrieve the metadata element using its unique name (typically the qualified name).GUIDResponsegetMetadataElementGUIDByUniqueName(String serverName, String serviceURLMarker, String userId, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime, NameRequestBody requestBody)Retrieve the unique identifier of a metadata element using its unique name (typically the qualified name).RelatedMetadataElementListResponsegetRelatedMetadataElements(String serverName, String serviceURLMarker, String userId, String elementGUID, String relationshipTypeName, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime, int startingAtEnd, int startFrom, int pageSize)Retrieve the metadata elements connected to the supplied element.VoidResponselogAssetAuditMessage(String serverName, String serviceURLMarker, String userId, String assetGUID, String governanceService, String message)Log an audit message about this asset.VoidResponsereclassifyMetadataElementInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, String classificationName, UpdatePropertiesRequestBody requestBody)Update the properties of a classification that is currently attached to a specific metadata element.VoidResponseunclassifyMetadataElementInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, String classificationName, UpdateRequestBody requestBody)Remove the named classification from a specific metadata element.VoidResponseupdateClassificationEffectivityInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, String classificationName, UpdateEffectivityDatesRequestBody requestBody)Update the effectivity dates of a specific classification attached to a metadata element.VoidResponseupdateMetadataElementEffectivityInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, UpdateEffectivityDatesRequestBody requestBody)Update the effectivity dates control the visibility of the element through specific APIs.VoidResponseupdateMetadataElementInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, UpdatePropertiesRequestBody requestBody)Update the properties of a specific metadata element.VoidResponseupdateMetadataElementStatusInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, UpdateStatusRequestBody requestBody)Update the status of specific metadata element.VoidResponseupdateRelatedElementsEffectivityInStore(String serverName, String serviceURLMarker, String userId, String relationshipGUID, UpdateEffectivityDatesRequestBody requestBody)Update the effectivity dates of a specific relationship between metadata elements.VoidResponseupdateRelatedElementsInStore(String serverName, String serviceURLMarker, String userId, String relationshipGUID, UpdatePropertiesRequestBody requestBody)Update the properties associated with a relationship.
-
-
-
Method Detail
-
logAssetAuditMessage
public VoidResponse logAssetAuditMessage(String serverName, String serviceURLMarker, String userId, String assetGUID, String governanceService, String message)
Log an audit message about this asset.- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- userId of user making request.assetGUID- unique identifier for asset.governanceService- name of governance servicemessage- message to log- Returns:
- void or InvalidParameterException one of the parameters is null or invalid. UserNotAuthorizedException user not authorized to issue this request. PropertyServerException there was a problem that occurred within the property server.
-
getMetadataElementByGUID
public OpenMetadataElementResponse getMetadataElementByGUID(String serverName, String serviceURLMarker, String userId, String elementGUID, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime)
Retrieve the metadata element using its unique identifier.- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdelementGUID- unique identifier for the metadata elementforLineage- the retrieved element is for lineage processing so include archived elementsforDuplicateProcessing- the retrieved element is for duplicate processing so do not combine results from known duplicates.effectiveTime- only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.- Returns:
- metadata element properties or InvalidParameterException the unique identifier is null or not known. UserNotAuthorizedException the governance action service is not able to access the element PropertyServerException there is a problem accessing the metadata store
-
getMetadataElementByUniqueName
public OpenMetadataElementResponse getMetadataElementByUniqueName(String serverName, String serviceURLMarker, String userId, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime, NameRequestBody requestBody)
Retrieve the metadata element using its unique name (typically the qualified name).- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdforLineage- the retrieved element is for lineage processing so include archived elementsforDuplicateProcessing- the retrieved element is for duplicate processing so do not combine results from known duplicates.effectiveTime- only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.requestBody- unique name for the metadata element- Returns:
- metadata element properties or InvalidParameterException the unique identifier is null or not known. UserNotAuthorizedException the governance action service is not able to access the element PropertyServerException there is a problem accessing the metadata store
-
getMetadataElementGUIDByUniqueName
public GUIDResponse getMetadataElementGUIDByUniqueName(String serverName, String serviceURLMarker, String userId, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime, NameRequestBody requestBody)
Retrieve the unique identifier of a metadata element using its unique name (typically the qualified name).- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdforLineage- the retrieved element is for lineage processing so include archived elementsforDuplicateProcessing- the retrieved element is for duplicate processing so do not combine results from known duplicates.effectiveTime- only return the element if it is effective at this time. Null means anytime. Use "new Date()" for now.requestBody- unique name for the metadata element- Returns:
- metadata element unique identifier (guid) or InvalidParameterException the unique identifier is null or not known or UserNotAuthorizedException the governance action service is not able to access the element or PropertyServerException there is a problem accessing the metadata store
-
findMetadataElementsWithString
public OpenMetadataElementsResponse findMetadataElementsWithString(String serverName, String serviceURLMarker, String userId, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime, int startFrom, int pageSize, SearchStringRequestBody requestBody)
Retrieve the metadata elements that contain the requested string.- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdforLineage- the retrieved elements are for lineage processing so include archived elementsforDuplicateProcessing- the retrieved elements are for duplicate processing so do not combine results from known duplicates.effectiveTime- only return an 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 returnedrequestBody- searchString to retrieve- Returns:
- list of matching metadata elements (or null if no elements match the name) or InvalidParameterException the qualified name is null UserNotAuthorizedException the governance action service is not able to access the element PropertyServerException there is a problem accessing the metadata store
-
getRelatedMetadataElements
public RelatedMetadataElementListResponse getRelatedMetadataElements(String serverName, String serviceURLMarker, String userId, String elementGUID, String relationshipTypeName, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime, int startingAtEnd, int startFrom, int pageSize)
Retrieve the metadata elements connected to the supplied element.- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdelementGUID- unique identifier for the starting metadata elementrelationshipTypeName- type name of relationships to follow (or null for all)startingAtEnd- indicates which end to retrieve from (0 is "either end"; 1 is end1; 2 is end 2)forLineage- the retrieved element is for lineage processing so include archived elementsforDuplicateProcessing- the retrieved elements are for duplicate processing so do not combine results from known duplicates.effectiveTime- only return an 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:
- list of related elements InvalidParameterException the unique identifier is null or not known; the relationship type is invalid UserNotAuthorizedException the governance action service is not able to access the elements PropertyServerException there is a problem accessing the metadata store
-
findMetadataElements
public OpenMetadataElementsResponse findMetadataElements(String serverName, String serviceURLMarker, String userId, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime, int startFrom, int pageSize, FindRequestBody requestBody)
Return a list of metadata elements that match the supplied criteria. The results can be returned over many pages.- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdforLineage- the retrieved element is for lineage processing so include archived elementsforDuplicateProcessing- the retrieved elements are for duplicate processing so do not combine results from known duplicates.effectiveTime- only return an 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 returnedrequestBody- properties defining the search criteria- Returns:
- a list of elements matching the supplied criteria; null means no matching elements in the metadata store. InvalidParameterException one of the search parameters are is invalid UserNotAuthorizedException the governance action service is not able to access the elements PropertyServerException there is a problem accessing the metadata store
-
findRelationshipsBetweenMetadataElements
public RelatedMetadataElementsListResponse findRelationshipsBetweenMetadataElements(String serverName, String serviceURLMarker, String userId, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime, int startFrom, int pageSize, FindRequestBody requestBody)
Return a list of relationships that match the requested conditions. The results can be received as a series of pages.- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdforLineage- the retrieved element is for lineage processing so include archived elementsforDuplicateProcessing- the retrieved elements are for duplicate processing so do not combine results from known duplicates.effectiveTime- only return an 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 returnedrequestBody- properties defining the search criteria- Returns:
- a list of relationships - null means no matching relationships - or InvalidParameterException one of the search parameters are is invalid UserNotAuthorizedException the governance action service is not able to access the elements PropertyServerException there is a problem accessing the metadata store
-
createMetadataElementInStore
public GUIDResponse createMetadataElementInStore(String serverName, String serviceURLMarker, String userId, NewMetadataElementRequestBody requestBody)
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:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdrequestBody- properties for the new element- Returns:
- unique identifier of the new metadata element InvalidParameterException the type name, status or one of the properties is invalid UserNotAuthorizedException the governance action service is not authorized to create this type of element PropertyServerException there is a problem with the metadata store
-
updateMetadataElementInStore
public VoidResponse updateMetadataElementInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, UpdatePropertiesRequestBody requestBody)
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:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdmetadataElementGUID- unique identifier of the metadata element to updaterequestBody- new properties- Returns:
- void or InvalidParameterException either the unique identifier or the properties are invalid in some way UserNotAuthorizedException the governance action service is not authorized to update this element PropertyServerException there is a problem with the metadata store
-
updateMetadataElementStatusInStore
public VoidResponse updateMetadataElementStatusInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, UpdateStatusRequestBody requestBody)
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:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdmetadataElementGUID- unique identifier of the metadata element to updaterequestBody- new status values - use null to leave as is- Returns:
- void or InvalidParameterException either the unique identifier or the status are invalid in some way UserNotAuthorizedException the governance action service is not authorized to update this element PropertyServerException there is a problem with the metadata store
-
updateMetadataElementEffectivityInStore
public VoidResponse updateMetadataElementEffectivityInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, UpdateEffectivityDatesRequestBody requestBody)
Update the effectivity dates control the visibility of the element through specific APIs.- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdmetadataElementGUID- unique identifier of the metadata element to updaterequestBody- new status values - use null to leave as is- Returns:
- void or InvalidParameterException either the unique identifier or the status are invalid in some way UserNotAuthorizedException the governance action service is not authorized to update this element PropertyServerException there is a problem with the metadata store
-
deleteMetadataElementInStore
public VoidResponse deleteMetadataElementInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, UpdateRequestBody requestBody)
Delete a specific metadata element.- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdmetadataElementGUID- unique identifier of the metadata element to updaterequestBody- null request body- Returns:
- void or InvalidParameterException the unique identifier is null or invalid in some way UserNotAuthorizedException the governance action service is not authorized to delete this element PropertyServerException there is a problem with the metadata store
-
classifyMetadataElementInStore
public VoidResponse classifyMetadataElementInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, String classificationName, NewClassificationRequestBody requestBody)
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:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdmetadataElementGUID- unique identifier of the metadata element to updateclassificationName- name of the classification to add (if the classification is already present then use reclassify)requestBody- properties to store in the new classification. These must conform to the valid properties associated with the classification name- Returns:
- void or 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 definition UserNotAuthorizedException the governance action service is not authorized to update this element PropertyServerException there is a problem with the metadata store
-
reclassifyMetadataElementInStore
public VoidResponse reclassifyMetadataElementInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, String classificationName, UpdatePropertiesRequestBody requestBody)
Update the properties of a classification that is currently attached to a specific metadata element.- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdmetadataElementGUID- unique identifier of the metadata element to updateclassificationName- unique name of the classification to updaterequestBody- new properties for the classification- Returns:
- void or 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 definition UserNotAuthorizedException the governance action service is not authorized to update this element/classification PropertyServerException there is a problem with the metadata store
-
updateClassificationEffectivityInStore
public VoidResponse updateClassificationEffectivityInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, String classificationName, UpdateEffectivityDatesRequestBody requestBody)
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:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdmetadataElementGUID- unique identifier of the metadata element to updateclassificationName- unique name of the classification to updaterequestBody- the dates when this element is active / inactive - null for no restriction- Returns:
- void or InvalidParameterException either the unique identifier or the status are invalid in some way UserNotAuthorizedException the governance action service is not authorized to update this element PropertyServerException there is a problem with the metadata store
-
unclassifyMetadataElementInStore
public VoidResponse unclassifyMetadataElementInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, String classificationName, UpdateRequestBody requestBody)
Remove the named classification from a specific metadata element.- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdmetadataElementGUID- unique identifier of the metadata element to updateclassificationName- unique name of the classification to removerequestBody- null request body- Returns:
- void or InvalidParameterException the unique identifier or classification name is null or invalid in some way UserNotAuthorizedException the governance action service is not authorized to remove this classification PropertyServerException there is a problem with the metadata store
-
createRelatedElementsInStore
public GUIDResponse createRelatedElementsInStore(String serverName, String serviceURLMarker, String userId, NewRelatedElementsRequestBody requestBody)
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:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdrequestBody- the properties of the relationship- Returns:
- unique identifier of the new relationship or 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 relationship UserNotAuthorizedException the governance action service is not authorized to create this type of relationship PropertyServerException there is a problem with the metadata store
-
updateRelatedElementsInStore
public VoidResponse updateRelatedElementsInStore(String serverName, String serviceURLMarker, String userId, String relationshipGUID, UpdatePropertiesRequestBody requestBody)
Update the properties associated with a relationship.- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdrelationshipGUID- unique identifier of the relationship to updaterequestBody- new properties for the relationship- Returns:
- void or InvalidParameterException the unique identifier of the relationship is null or invalid in some way; the properties are not valid for this type of relationship UserNotAuthorizedException the governance action service is not authorized to update this relationship PropertyServerException there is a problem with the metadata store
-
updateRelatedElementsEffectivityInStore
public VoidResponse updateRelatedElementsEffectivityInStore(String serverName, String serviceURLMarker, String userId, String relationshipGUID, UpdateEffectivityDatesRequestBody requestBody)
Update the effectivity dates of a specific relationship between metadata elements. The effectivity dates control the visibility of the classification through specific APIs.- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdrelationshipGUID- unique identifier of the relationship to updaterequestBody- the dates when this element is active / inactive - null for no restriction- Returns:
- void or InvalidParameterException either the unique identifier or the status are invalid in some way UserNotAuthorizedException the governance action service is not authorized to update this element PropertyServerException there is a problem with the metadata store
-
deleteRelatedElementsInStore
public VoidResponse deleteRelatedElementsInStore(String serverName, String serviceURLMarker, String userId, String relationshipGUID, UpdateRequestBody requestBody)
Delete a relationship between two metadata elements.- Parameters:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdrelationshipGUID- unique identifier of the relationship to deleterequestBody- null request body- Returns:
- void or InvalidParameterException the unique identifier of the relationship is null or invalid in some way UserNotAuthorizedException the governance action service is not authorized to delete this relationship PropertyServerException there is a problem with the metadata store
-
createIncidentReport
public GUIDResponse createIncidentReport(String serverName, String serviceURLMarker, String userId, IncidentReportRequestBody requestBody)
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:
serverName- name of server instance to route request toserviceURLMarker- the identifier of the access service (for example asset-owner for the Asset Owner OMAS)userId- caller's userIdrequestBody- properties for the new incident report- Returns:
- unique identifier of the resulting incident report or InvalidParameterException null or non-unique qualified name for the incident report UserNotAuthorizedException this governance action service is not authorized to create an incident report PropertyServerException there is a problem with the metadata store
-
-