Class OpenMetadataStoreRESTServices

java.lang.Object
org.odpi.openmetadata.frameworkservices.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 Details

    • OpenMetadataStoreRESTServices

      public OpenMetadataStoreRESTServices()
      Default constructor
  • Method Details

    • 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.
    • getAllTypes

      public TypeDefGalleryResponse getAllTypes(String serverName, String serviceURLMarker, String userId)
      Returns the list of different types of metadata organized into two groups. The first are the attribute type definitions (AttributeTypeDefs). These provide types for properties in full type definitions. Full type definitions (TypeDefs) describe types for entities, relationships and classifications.
      Parameters:
      serverName - unique identifier for requested server.
      serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
      userId - unique identifier for requesting user.
      Returns:
      TypeDefGalleryResponse: List of different categories of type definitions or RepositoryErrorException there is a problem communicating with the metadata repository or UserNotAuthorizedException the userId is not permitted to perform this operation.
    • findTypeDefsByCategory

      public TypeDefListResponse findTypeDefsByCategory(String serverName, String serviceURLMarker, String userId, OpenMetadataTypeDefCategory category)
      Returns all the TypeDefs for a specific category.
      Parameters:
      serverName - unique identifier for requested server.
      serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
      userId - unique identifier for requesting user.
      category - find parameters used to limit the returned results.
      Returns:
      TypeDefListResponse: TypeDefs list or InvalidParameterException the TypeDefCategory is null or RepositoryErrorException there is a problem communicating with the metadata repository or UserNotAuthorizedException the userId is not permitted to perform this operation.
    • findAttributeTypeDefsByCategory

      public AttributeTypeDefListResponse findAttributeTypeDefsByCategory(String serverName, String serviceURLMarker, String userId, OpenMetadataAttributeTypeDefCategory category)
      Returns all the AttributeTypeDefs for a specific category.
      Parameters:
      serverName - unique identifier for requested server.
      serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
      userId - unique identifier for requesting user.
      category - find parameters used to limit the returned results.
      Returns:
      AttributeTypeDefListResponse: AttributeTypeDefs list or InvalidParameterException the TypeDefCategory is null or RepositoryErrorException there is a problem communicating with the metadata repository or UserNotAuthorizedException the userId is not permitted to perform this operation.
    • findTypesByExternalId

      public TypeDefListResponse findTypesByExternalId(String serverName, String serviceURLMarker, String userId, String standard, String organization, String identifier)
      Return the types that are linked to the elements from the specified standard.
      Parameters:
      serverName - unique identifier for requested server.
      serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
      userId - unique identifier for requesting user.
      standard - name of the standard null means any.
      organization - name of the organization null means any.
      identifier - identifier of the element in the standard null means any.
      Returns:
      TypeDefsGalleryResponse: A list of types or InvalidParameterException all attributes of the external id are null or RepositoryErrorException there is a problem communicating with the metadata repository or UserNotAuthorizedException the userId is not permitted to perform this operation.
    • getSubTypes

      public TypeDefListResponse getSubTypes(String serverName, String serviceURLMarker, String userId, String typeName)
      Returns all the TypeDefs for a specific subtype. If a null result is returned it means the type has no subtypes.
      Parameters:
      serverName - unique identifier for requested server.
      serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
      userId - unique identifier for requesting user.
      typeName - name of type to retrieve against.
      Returns:
      TypeDefListResponse: TypeDefs list or InvalidParameterException the typeName is null or RepositoryErrorException there is a problem communicating with the metadata repository or UserNotAuthorizedException the userId is not permitted to perform this operation.
    • getTypeDefByGUID

      public TypeDefResponse getTypeDefByGUID(String serverName, String serviceURLMarker, String userId, String guid)
      Return the TypeDef identified by the GUID.
      Parameters:
      serverName - unique identifier for requested server.
      serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
      userId - unique identifier for requesting user.
      guid - String unique id of the TypeDef.
      Returns:
      TypeDefResponse: TypeDef structure describing its category and properties or InvalidParameterException the guid is null or RepositoryErrorException there is a problem communicating with the metadata repository where the metadata collection is stored or TypeDefNotKnownException The requested TypeDef is not known in the metadata collection or UserNotAuthorizedException the userId is not permitted to perform this operation.
    • getAttributeTypeDefByGUID

      public AttributeTypeDefResponse getAttributeTypeDefByGUID(String serverName, String serviceURLMarker, String userId, String guid)
      Return the AttributeTypeDef identified by the GUID.
      Parameters:
      serverName - unique identifier for requested server.
      serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
      userId - unique identifier for requesting user.
      guid - String unique id of the TypeDef
      Returns:
      AttributeTypeDefResponse: TypeDef structure describing its category and properties or InvalidParameterException the guid is null or RepositoryErrorException there is a problem communicating with the metadata repository where the metadata collection is stored or TypeDefNotKnownException The requested TypeDef is not known in the metadata collection or UserNotAuthorizedException the userId is not permitted to perform this operation.
    • getTypeDefByName

      public TypeDefResponse getTypeDefByName(String serverName, String serviceURLMarker, String userId, String name)
      Return the TypeDef identified by the unique name.
      Parameters:
      serverName - unique identifier for requested server.
      serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
      userId - unique identifier for requesting user.
      name - String name of the TypeDef.
      Returns:
      TypeDefResponse: TypeDef structure describing its category and properties or InvalidParameterException the name is null or RepositoryErrorException there is a problem communicating with the metadata repository where the metadata collection is stored or TypeDefNotKnownException the requested TypeDef is not found in the metadata collection or UserNotAuthorizedException the userId is not permitted to perform this operation.
    • getAttributeTypeDefByName

      public AttributeTypeDefResponse getAttributeTypeDefByName(String serverName, String serviceURLMarker, String userId, String name)
      Return the AttributeTypeDef identified by the unique name.
      Parameters:
      serverName - unique identifier for requested server.
      serviceURLMarker - the identifier of the access service (for example asset-owner for the Asset Owner OMAS)
      userId - unique identifier for requesting user.
      name - String name of the TypeDef.
      Returns:
      AttributeTypeDefResponse: AttributeTypeDef structure describing its category and properties or InvalidParameterException the name is null or RepositoryErrorException there is a problem communicating with the metadata repository where the metadata collection is stored or TypeDefNotKnownException the requested TypeDef is not found in the metadata collection or UserNotAuthorizedException the userId is not permitted to perform this operation.
    • 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, 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.
      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, 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.
      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, 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.
      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
    • getMetadataElementRelationships

      public RelatedMetadataElementsListResponse getMetadataElementRelationships(String serverName, String serviceURLMarker, String userId, String metadataElementAtEnd1GUID, String relationshipTypeName, String metadataElementAtEnd2GUID, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime, int startFrom, int pageSize)
      Retrieve the relationships linking to the supplied 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
      metadataElementAtEnd1GUID - unique identifier of the metadata element at end 1 of the relationship
      metadataElementAtEnd2GUID - unique identifier of the metadata element at end 2 of the relationship
      relationshipTypeName - type name of relationships to follow (or null for all)
      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, FindRelationshipRequestBody 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
    • getRelationshipByGUID

      public RelatedMetadataElementsResponse getRelationshipByGUID(String serverName, String serviceURLMarker, String userId, String relationshipGUID, boolean forLineage, boolean forDuplicateProcessing, long effectiveTime)
      Retrieve the relationship 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
      relationshipGUID - unique identifier for the relationship
      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
    • 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
    • createMetadataElementFromTemplate

      public GUIDResponse createMetadataElementFromTemplate(String serverName, String serviceURLMarker, String userId, TemplateRequestBody requestBody)
      Create a new metadata element in the metadata store using a template. The type name comes from the open metadata types. The selected type also controls the names and types of the properties that are allowed.
      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
    • archiveMetadataElementInStore

      public VoidResponse archiveMetadataElementInStore(String serverName, String serviceURLMarker, String userId, String metadataElementGUID, ArchiveRequestBody requestBody)
      Archive 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 archive 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
    • declassifyMetadataElementInStore

      public VoidResponse declassifyMetadataElementInStore(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
    • setTranslation

      public VoidResponse setTranslation(String serverName, String serviceURLMarker, String userId, String elementGUID, TranslationDetail translationDetail)
      Create or update the translation for a particular language/locale for 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
      elementGUID - unique identifier of the element that this translation is related to
      translationDetail - properties of the translation
      Returns:
      void or InvalidParameterException the unique identifier is null or not known. UserNotAuthorizedException the service is not able to access the element PropertyServerException there is a problem accessing the metadata store
    • clearTranslation

      public VoidResponse clearTranslation(String serverName, String serviceURLMarker, String userId, String elementGUID, String language, String locale, NullRequestBody requestBody)
      Remove the translation for a particular language/locale for 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
      elementGUID - unique identifier of the element that this translation is related to
      language - language requested
      locale - optional locale to qualify which translation if there are multiple translations for the language.
      requestBody - null request body
      Returns:
      void or InvalidParameterException the language is null or not known or not unique (add locale) UserNotAuthorizedException the service is not able to access the element PropertyServerException there is a problem accessing the metadata store
    • getTranslation

      public TranslationDetailResponse getTranslation(String serverName, String serviceURLMarker, String userId, String elementGUID, String language, String locale)
      Retrieve the translation for the matching language/locale.
      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 of the element that this translation is related to
      language - language requested
      locale - optional locale to qualify which translation if there are multiple translations for the language.
      Returns:
      the properties of the translation or null if there is none or InvalidParameterException the unique identifier is null or not known. UserNotAuthorizedException the service is not able to access the element PropertyServerException there is a problem accessing the metadata store
    • getTranslations

      public TranslationListResponse getTranslations(String serverName, String serviceURLMarker, String userId, String elementGUID, int startFrom, int pageSize)
      Retrieve all translations associated with 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
      elementGUID - unique identifier of the element that this translation is related to
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return
      Returns:
      list of translation properties or null if there are none or InvalidParameterException the unique identifier is null or not known. UserNotAuthorizedException the service is not able to access the element PropertyServerException there is a problem accessing the metadata store
    • setUpValidMetadataValue

      public VoidResponse setUpValidMetadataValue(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, ValidMetadataValue requestBody)
      Create or update the valid value for a particular open metadata property name. If the typeName is null, this valid value applies to properties of this name from all types. The valid value is stored in the preferredValue property. If a valid value is already set up for this property (with overlapping effective dates) then the valid value is updated.
      Parameters:
      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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      requestBody - preferred value to use in the open metadata types plus additional descriptive values.
      Returns:
      void or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • setUpValidMetadataMapName

      public VoidResponse setUpValidMetadataMapName(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, ValidMetadataValue requestBody)
      Create or update the valid value for a name that can be stored in a particular open metadata property name. This property is of type map from name to string. The valid value is stored in the preferredValue property of validMetadataValue. If the typeName is null, this valid value applies to properties of this name from any open metadata type. If a valid value is already set up for this property (with overlapping effective dates) then the valid value is updated.
      Parameters:
      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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      requestBody - preferred value to use in the open metadata types plus additional descriptive values.
      Returns:
      void or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • setUpValidMetadataMapValue

      public VoidResponse setUpValidMetadataMapValue(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, String mapName, ValidMetadataValue requestBody)
      Create or update the valid value for a name that can be stored in a particular open metadata property name. This property is of type map from name to string. The valid value is stored in the preferredValue property of validMetadataValue.

      If the typeName is null, this valid value applies to properties of this name from any open metadata type. If a valid value is already set up for this property (with overlapping effective dates) then the valid value is updated.

      Parameters:
      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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      mapName - name in the map that this valid value applies. If null then the value can be used for any name in the map.
      requestBody - preferred value to use in the open metadata types plus additional descriptive values.
      Returns:
      void or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • clearValidMetadataValue

      public VoidResponse clearValidMetadataValue(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, String preferredValue, NullRequestBody requestBody)
      Remove a valid value for a property.
      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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      preferredValue - specific valid value to remove
      requestBody - null request body
      Returns:
      void or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • clearValidMetadataMapName

      public VoidResponse clearValidMetadataMapName(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, String preferredValue, NullRequestBody requestBody)
      Remove a valid map name value for a property. The match is done on preferred 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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      preferredValue - specific valid value to remove
      requestBody - null request body
      Returns:
      void or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • clearValidMetadataMapValue

      public VoidResponse clearValidMetadataMapValue(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, String mapName, String preferredValue, NullRequestBody requestBody)
      Remove a valid map name value for a property. The match is done on preferred 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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      mapName - name in the map that this valid value applies. If null then the value can be used for any name in the map.
      preferredValue - specific valid value to remove
      requestBody - null request body
      Returns:
      void or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • validateMetadataValue

      public BooleanResponse validateMetadataValue(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, String actualValue)
      Validate whether the value found in an open metadata property is valid.
      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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      actualValue - value stored in the property - if this is null, true is only returned if null is set up as a valid value.
      Returns:
      boolean flag - true if the value is one of the defined valid values or there are no valid values set up for the property (and so any value is value) or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • validateMetadataMapName

      public BooleanResponse validateMetadataMapName(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, String actualValue)
      Validate whether the name found in an open metadata map property is valid.
      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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      actualValue - value stored in the property - if this is null, true is only returned if null is set up as a valid value.
      Returns:
      boolean flag - true if the value is one of the defined valid values or there are no valid values set up for the property (and so any value is value) or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • validateMetadataMapValue

      public BooleanResponse validateMetadataMapValue(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, String mapName, String actualValue)
      Validate whether the name found in an open metadata map property is valid.
      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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      mapName - name in the map that this valid value applies. If null then the value can be used for any name in the map.
      actualValue - value stored in the property - if this is null, true is only returned if null is set up as a valid value.
      Returns:
      boolean flag - true if the value is one of the defined valid values or there are no valid values set up for the property (and so any value is value) or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • getValidMetadataValue

      public ValidMetadataValueResponse getValidMetadataValue(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, String preferredValue)
      Retrieve details of a specific valid value for a property.
      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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      preferredValue - valid value to match
      Returns:
      specific valid value definition or none if there is no definition stored or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • getValidMetadataMapName

      public ValidMetadataValueResponse getValidMetadataMapName(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, String preferredValue)
      Retrieve details of a specific valid name for a map property.
      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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      preferredValue - valid value to match
      Returns:
      specific valid value definition or none if there is no definition stored or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • getValidMetadataMapValue

      public ValidMetadataValueResponse getValidMetadataMapValue(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, String mapName, String preferredValue)
      Retrieve details of a specific valid value for a map 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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      mapName - name in the map that this valid value applies. If null then the value can be used for any name in the map.
      preferredValue - valid value to match
      Returns:
      specific valid value definition or none if there is no definition stored or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • getValidMetadataValues

      public ValidMetadataValueDetailListResponse getValidMetadataValues(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, int startFrom, int pageSize)
      Retrieve all the valid values for the requested property.
      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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of valid values defined for the property or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • getConsistentMetadataValues

      public ValidMetadataValueListResponse getConsistentMetadataValues(String serverName, String serviceURLMarker, String userId, String typeName, String propertyName, String mapName, String preferredValue, int startFrom, int pageSize)
      Retrieve all the consistent valid values for the requested property.
      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
      typeName - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName - name of property that this valid value applies
      mapName - optional name of map key that this valid value applies
      preferredValue - the value to match against
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of valid values defined for the property or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • setConsistentMetadataValues

      public VoidResponse setConsistentMetadataValues(String serverName, String serviceURLMarker, String userId, String typeName1, String propertyName1, String mapName1, String preferredValue1, String typeName2, String propertyName2, String mapName2, String preferredValue2, NullRequestBody requestBody)
      Set up consistent metadata values relationship between the two property values.
      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
      typeName1 - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName1 - name of property that this valid value applies
      mapName1 - optional name of map key that this valid value applies
      preferredValue1 - the value to match against
      typeName2 - type name if this is valid value is specific for a type, or null if this valid value if for the property name for all types
      propertyName2 - name of property that this valid value applies
      mapName2 - optional name of map key that this valid value applies
      preferredValue2 - the value to match against
      requestBody - null request body
      Returns:
      void or InvalidParameterException the property name is null or not known. UserNotAuthorizedException the service is not able to create/access the element PropertyServerException there is a problem accessing the metadata store
    • getElementStatus

      protected ElementStatus getElementStatus(InstanceStatus instanceStatus)
      Translate the repository services' InstanceStatus to an ElementStatus.
      Parameters:
      instanceStatus - value from the repository services
      Returns:
      ElementStatus enum