Class ExternalReferenceExchangeService

java.lang.Object
org.odpi.openmetadata.integrationservices.catalog.connector.ExternalReferenceExchangeService

public class ExternalReferenceExchangeService extends Object
DataAssetExchangeService is the context for managing data assets and associated elements such as schemas.
  • Method Details

    • setAssetManagerIsHome

      public void setAssetManagerIsHome(boolean assetManagerIsHome)
      Set up the flag that controls the ownership of metadata created for this asset manager. Default is true.
      Parameters:
      assetManagerIsHome - should the metadata be marked as owned by the infrastructure manager so others can not update?
    • isForLineage

      public boolean isForLineage()
      Return whether retrieval requests from this service are to include elements with the Memento classification attached or not.
      Returns:
      boolean flag
    • setForLineage

      public void setForLineage(boolean forLineage)
      Set up whether retrieval requests from this service are to include elements with the Memento classification attached or not.
      Parameters:
      forLineage - boolean flag
    • isForDuplicateProcessing

      public boolean isForDuplicateProcessing()
      Return whether retrieval requests from this service are to avoid merging duplicates or not.
      Returns:
      boolean flag
    • setForDuplicateProcessing

      public void setForDuplicateProcessing(boolean forDuplicateProcessing)
      Set up whether retrieval requests from this service are to avoid merging duplicates or not.
      Parameters:
      forDuplicateProcessing - boolean flag
    • createExternalReference

      public String createExternalReference(ExternalIdentifierProperties externalIdentifierProperties, String anchorGUID, ExternalReferenceProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a definition of a external reference.
      Parameters:
      externalIdentifierProperties - optional properties used to define an external identifier
      anchorGUID - optional element to link the external reference to that will act as an anchor - that is, this external reference will be deleted when the element is deleted (once the external reference is linked to the anchor).
      properties - properties for a external reference
      Returns:
      unique identifier of the external reference
      Throws:
      InvalidParameterException - qualifiedName or userId is null; qualifiedName is not unique
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • updateExternalReference

      public void updateExternalReference(String externalReferenceGUID, String referenceExternalIdentifier, boolean isMergeUpdate, ExternalReferenceProperties properties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the definition of a external reference.
      Parameters:
      externalReferenceGUID - unique identifier of external reference
      referenceExternalIdentifier - unique identifier of the external reference in the external asset manager
      isMergeUpdate - are unspecified properties unchanged (true) or replaced with null?
      properties - properties to change
      effectiveTime - the time that the retrieved elements must be effective for
      Throws:
      InvalidParameterException - guid, qualifiedName or userId is null; qualifiedName is not unique; guid is not known
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • deleteExternalReference

      public void deleteExternalReference(String externalReferenceGUID, String referenceExternalIdentifier, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the definition of a external reference.
      Parameters:
      externalReferenceGUID - unique identifier of external reference
      referenceExternalIdentifier - unique identifier of the external reference in the external asset manager
      effectiveTime - the time that the retrieved elements must be effective for
      Throws:
      InvalidParameterException - guid or userId is null; guid is not known
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem
    • linkExternalReferenceToElement

      public String linkExternalReferenceToElement(String attachedToGUID, String externalReferenceGUID, ExternalReferenceLinkProperties linkProperties, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Link an external reference to an object.
      Parameters:
      attachedToGUID - object linked to external references.
      linkProperties - description for the reference from the perspective of the object that the reference is being attached to.
      externalReferenceGUID - unique identifier (guid) of the external reference details.
      effectiveTime - the time that the retrieved elements must be effective for
      Returns:
      Unique identifier for new relationship
      Throws:
      InvalidParameterException - problem with the GUID or the external references are not correctly specified, or are null.
      PropertyServerException - the server is not available.
      UserNotAuthorizedException - the calling user is not authorized to issue the call.
    • updateExternalReferenceToElementLink

      public void updateExternalReferenceToElementLink(String externalReferenceLinkGUID, ExternalReferenceLinkProperties linkProperties, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Update the link between an external reference to an object.
      Parameters:
      linkProperties - description for the reference from the perspective of the object that the reference is being attached to.
      externalReferenceLinkGUID - unique identifier (guid) of the external reference details.
      effectiveTime - the time that the retrieved elements must be effective for
      Throws:
      InvalidParameterException - problem with the GUID or the external references are not correctly specified, or are null.
      PropertyServerException - the server is not available.
      UserNotAuthorizedException - the calling user is not authorized to issue the call.
    • unlinkExternalReferenceFromElement

      public void unlinkExternalReferenceFromElement(String externalReferenceLinkGUID, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Remove the link between a external reference and an element. If the element is its anchor, the external reference is removed.
      Parameters:
      externalReferenceLinkGUID - identifier of the external reference relationship.
      effectiveTime - the time that the retrieved elements must be effective for
      Throws:
      InvalidParameterException - problem with the GUID or the external references are not correctly specified, or are null.
      PropertyServerException - the server is not available.
      UserNotAuthorizedException - the calling user is not authorized to issue the call.
    • getExternalReferences

      public List<ExternalReferenceElement> getExternalReferences(int startFrom, int pageSize, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Retrieve the list of external references sorted in open metadata.
      Parameters:
      effectiveTime - the time that the retrieved elements must be effective for
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      Returns:
      links to addition information.
      Throws:
      InvalidParameterException - guid invalid or the external references are not correctly specified, or are null.
      PropertyServerException - the server is not available.
      UserNotAuthorizedException - the calling user is not authorized to issue the call.
    • getExternalReferencesById

      public List<ExternalReferenceElement> getExternalReferencesById(String resourceId, int startFrom, int pageSize, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Retrieve the list of external references for this resourceId.
      Parameters:
      resourceId - unique reference id assigned by the resource owner (supports wildcards). This is the qualified name of the entity
      effectiveTime - the time that the retrieved elements must be effective for
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      Returns:
      links to addition information.
      Throws:
      InvalidParameterException - guid invalid or the external references are not correctly specified, or are null.
      PropertyServerException - the server is not available.
      UserNotAuthorizedException - the calling user is not authorized to issue the call.
    • getExternalReferencesByURL

      public List<ExternalReferenceElement> getExternalReferencesByURL(String url, int startFrom, int pageSize, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Retrieve the list of external references for this URL.
      Parameters:
      url - URL of the external resource.
      effectiveTime - the time that the retrieved elements must be effective for
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      Returns:
      links to addition information.
      Throws:
      InvalidParameterException - guid invalid or the external references are not correctly specified, or are null.
      PropertyServerException - the server is not available.
      UserNotAuthorizedException - the calling user is not authorized to issue the call.
    • getExternalReferencesByName

      public List<ExternalReferenceElement> getExternalReferencesByName(String name, int startFrom, int pageSize, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Retrieve the list of external references for this name.
      Parameters:
      name - qualifiedName or displayName of the external resource.
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      effectiveTime - the time that the retrieved elements must be effective for
      Returns:
      links to addition information.
      Throws:
      InvalidParameterException - guid invalid or the external references are not correctly specified, or are null.
      PropertyServerException - the server is not available.
      UserNotAuthorizedException - the calling user is not authorized to issue the call.
    • getExternalReferencesForAssetManager

      public List<ExternalReferenceElement> getExternalReferencesForAssetManager(int startFrom, int pageSize, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of external reference created on behalf of the named asset manager.
      Parameters:
      startFrom - paging start point
      pageSize - maximum results that can be returned
      effectiveTime - the time that the retrieved elements must be effective for
      Returns:
      list of matching metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • findExternalReferences

      public List<ExternalReferenceElement> findExternalReferences(String searchString, int startFrom, int pageSize, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Find the external references that contain the search string - which may contain wildcards.
      Parameters:
      searchString - regular expression (RegEx) to search for
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      effectiveTime - the time that the retrieved elements must be effective for
      Returns:
      links to addition information.
      Throws:
      InvalidParameterException - guid invalid or the external references are not correctly specified, or are null.
      PropertyServerException - the server is not available.
      UserNotAuthorizedException - the calling user is not authorized to issue the call.
    • retrieveAttachedExternalReferences

      public List<ExternalReferenceLinkElement> retrieveAttachedExternalReferences(String attachedToGUID, int startFrom, int pageSize, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Retrieve the list of external references attached to the supplied object.
      Parameters:
      attachedToGUID - object linked to external reference.
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      effectiveTime - the time that the retrieved elements must be effective for
      Returns:
      links to addition information.
      Throws:
      InvalidParameterException - guid invalid or the external references are not correctly specified, or are null.
      PropertyServerException - the server is not available.
      UserNotAuthorizedException - the calling user is not authorized to issue the call.
    • getExternalReferenceByGUID

      public ExternalReferenceElement getExternalReferenceByGUID(String externalReferenceGUID, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Return information about a specific external reference.
      Parameters:
      externalReferenceGUID - unique identifier for the external reference
      effectiveTime - the time that the retrieved elements must be effective for
      Returns:
      properties of the external reference
      Throws:
      InvalidParameterException - externalReferenceGUID or userId is null
      PropertyServerException - problem accessing property server
      UserNotAuthorizedException - security access problem