Class 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 Detail

      • OpenMetadataStoreRESTServices

        public OpenMetadataStoreRESTServices()
        Default constructor
    • 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 to
        serviceURLMarker - 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 service
        message - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        elementGUID - unique identifier for the metadata element
        forLineage - the retrieved element is for lineage processing so include archived elements
        forDuplicateProcessing - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        forLineage - the retrieved element is for lineage processing so include archived elements
        forDuplicateProcessing - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        forLineage - the retrieved element is for lineage processing so include archived elements
        forDuplicateProcessing - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        forLineage - the retrieved elements are for lineage processing so include archived elements
        forDuplicateProcessing - 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 point
        pageSize - maximum results that can be returned
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        elementGUID - unique identifier for the starting metadata element
        relationshipTypeName - 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 elements
        forDuplicateProcessing - 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 point
        pageSize - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        forLineage - the retrieved element is for lineage processing so include archived elements
        forDuplicateProcessing - 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 point
        pageSize - maximum results that can be returned
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        forLineage - the retrieved element is for lineage processing so include archived elements
        forDuplicateProcessing - 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 point
        pageSize - maximum results that can be returned
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        metadataElementGUID - unique identifier of the metadata element to update
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        metadataElementGUID - unique identifier of the metadata element to update
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        metadataElementGUID - unique identifier of the metadata element to update
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        metadataElementGUID - unique identifier of the metadata element to update
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        metadataElementGUID - unique identifier of the metadata element to update
        classificationName - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        metadataElementGUID - unique identifier of the metadata element to update
        classificationName - unique name of the classification to update
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        metadataElementGUID - unique identifier of the metadata element to update
        classificationName - unique name of the classification to update
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        metadataElementGUID - unique identifier of the metadata element to update
        classificationName - unique name of the classification to remove
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        relationshipGUID - unique identifier of the relationship to update
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        relationshipGUID - unique identifier of the relationship to update
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        relationshipGUID - unique identifier of the relationship to delete
        requestBody - 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 to
        serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
        userId - caller's userId
        requestBody - 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