Interface ExternalIdentifiersInterface

All Known Implementing Classes:
OpenMetadataClient, OpenMetadataClientBase, OpenMetadataHandler, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreClient, OpenMetadataStoreHandler

public interface ExternalIdentifiersInterface
ExternalIdentifiersInterface provides the interface for managing external identifiers.
  • Method Details

    • addExternalIdentifier

      void addExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String externalScopeTypeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Add a new external identifier to an existing open metadata element.
      Parameters:
      userId - calling user
      externalScopeGUID - unique identifier of software capability representing the caller
      externalScopeName - unique name of software capability representing the caller
      externalScopeTypeName - type name of the software capability describing the manager for the external identifier
      openMetadataElementGUID - unique identifier (GUID) of the element in the open metadata ecosystem
      openMetadataElementTypeName - type name for the open metadata element
      externalIdentifierProperties - optional properties used to define an external identifier
      effectiveFrom - the date when this element is active - null for active now
      effectiveTo - the date when this element becomes inactive - null for active until deleted
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - what is the effective time for related queries needed to do the update
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • updateExternalIdentifier

      void updateExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String externalScopeTypeName, String openMetadataElementGUID, String openMetadataElementTypeName, ExternalIdentifierProperties externalIdentifierProperties, Date effectiveFrom, Date effectiveTo, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the description of a specific external identifier.
      Parameters:
      userId - calling user
      externalScopeGUID - unique identifier of software capability representing the caller
      externalScopeName - unique name of software capability representing the caller
      externalScopeTypeName - type name of the software capability describing the manager for the external identifier
      externalIdentifierProperties - optional properties used to define an external identifier
      openMetadataElementGUID - unique identifier (GUID) of the element in the open metadata ecosystem
      openMetadataElementTypeName - type name for the open metadata element
      effectiveFrom - the date when this element is active - null for active now
      effectiveTo - the date when this element becomes inactive - null for active until deleted
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - what is the effective time for related queries needed to do the update
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • removeExternalIdentifier

      void removeExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String externalIdentifier, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove an external identifier from an existing open metadata element. The open metadata element is not affected.
      Parameters:
      userId - calling user
      externalScopeGUID - unique identifier of software capability representing the caller
      externalScopeName - unique name of software capability representing the caller
      openMetadataElementGUID - unique identifier (GUID) of the element in the open metadata ecosystem
      openMetadataElementTypeName - type name for the open metadata element
      externalIdentifier - unique identifier of this element in the third party external scope
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - what is the effective time for related queries needed to do the update
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • removeExternalScope

      void removeExternalScope(String userId, String externalScopeGUID, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the scope associated with a collection of external identifiers. All associated external identifiers are removed too. The linked open metadata elements are not affected.
      Parameters:
      userId - calling user
      externalScopeGUID - unique identifier of software capability representing the caller
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - what is the effective time for related queries needed to do the update
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • confirmSynchronization

      void confirmSynchronization(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String externalIdentifier) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Confirm that the values of a particular metadata element have been synchronized. This is important from an audit point of view, and to allow bidirectional updates of metadata using optimistic locking.
      Parameters:
      userId - calling user
      externalScopeGUID - unique identifier of software capability representing the caller
      externalScopeName - unique name of software capability representing the caller
      openMetadataElementGUID - unique identifier (GUID) of this element in open metadata
      openMetadataElementTypeName - type name of the element in the open metadata ecosystem (default referenceable)
      externalIdentifier - unique identifier of this element in the external external scope
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • getElementsForExternalIdentifier

      List<ElementHeader> getElementsForExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String externalIdentifier, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return the list of headers for open metadata elements that are associated with a particular external identifier.
      Parameters:
      userId - calling user
      externalScopeGUID - unique identifier of software capability representing the caller
      externalScopeName - unique name of software capability representing the caller
      externalIdentifier - unique identifier of this element in the external external scope
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of element headers
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - user not authorized to issue this request
      PropertyServerException - problem accessing the property server
    • validateExternalIdentifier

      boolean validateExternalIdentifier(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, String elementExternalIdentifier, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Check that the supplied external identifier matches the element GUID.
      Parameters:
      userId - calling user
      externalScopeGUID - unique identifier of software server capability representing the caller
      externalScopeName - unique name of software server capability representing the caller
      openMetadataElementGUID - element guid used for the lookup
      openMetadataElementTypeName - type name for the open metadata element
      elementExternalIdentifier - external identifier value
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      boolean
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • getExternalIdentifiers

      List<MetadataCorrelationHeader> getExternalIdentifiers(String userId, String externalScopeGUID, String externalScopeName, String openMetadataElementGUID, String openMetadataElementTypeName, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Assemble the correlation headers attached to the supplied element guid. This includes the external identifiers plus information on the scope and usage.
      Parameters:
      userId - calling user
      externalScopeGUID - unique identifier of software server capability representing the caller
      externalScopeName - unique name of software server capability representing the caller
      openMetadataElementGUID - unique identifier (GUID) of this element in open metadata
      openMetadataElementTypeName - type name for the open metadata element
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of correlation headers (note if external scope identifiers are present, only the matching correlation header is returned)
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.
    • getVendorProperties

      Map<String,Map<String,String>> getVendorProperties(String userId, String openMetadataElementGUID, String openMetadataElementTypeName, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return the vendor properties associated with an element. The inner map holds the specific properties for each vendor. The outer maps the vendor identifier to the properties.
      Parameters:
      userId - calling user
      openMetadataElementGUID - unique identifier (GUID) of this element in open metadata
      openMetadataElementTypeName - type name for the open metadata element
      forLineage - return elements marked with the Memento classification?
      forDuplicateProcessing - do not merge elements marked as duplicates?
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      map of vendor properties
      Throws:
      InvalidParameterException - one of the parameters is invalid.
      UserNotAuthorizedException - the user is not authorized to make this request.
      PropertyServerException - the repository is not available or not working properly.