Class ExternalReferenceExchangeService
java.lang.Object
org.odpi.openmetadata.integrationservices.catalog.connector.ExternalReferenceExchangeService
DataAssetExchangeService is the context for managing data assets and associated elements such as schemas.
-
Method Summary
Modifier and TypeMethodDescriptioncreateExternalReference
(ExternalIdentifierProperties externalIdentifierProperties, String anchorGUID, ExternalReferenceProperties properties) Create a definition of a external reference.void
deleteExternalReference
(String externalReferenceGUID, String referenceExternalIdentifier, Date effectiveTime) Remove the definition of a external reference.findExternalReferences
(String searchString, int startFrom, int pageSize, Date effectiveTime) Find the external references that contain the search string - which may contain wildcards.getExternalReferenceByGUID
(String externalReferenceGUID, Date effectiveTime) Return information about a specific external reference.getExternalReferences
(int startFrom, int pageSize, Date effectiveTime) Retrieve the list of external references sorted in open metadata.getExternalReferencesById
(String resourceId, int startFrom, int pageSize, Date effectiveTime) Retrieve the list of external references for this resourceId.getExternalReferencesByName
(String name, int startFrom, int pageSize, Date effectiveTime) Retrieve the list of external references for this name.getExternalReferencesByURL
(String url, int startFrom, int pageSize, Date effectiveTime) Retrieve the list of external references for this URL.getExternalReferencesForAssetManager
(int startFrom, int pageSize, Date effectiveTime) Retrieve the list of external reference created on behalf of the named asset manager.boolean
Return whether retrieval requests from this service are to avoid merging duplicates or not.boolean
Return whether retrieval requests from this service are to include elements with the Memento classification attached or not.linkExternalReferenceToElement
(String attachedToGUID, String externalReferenceGUID, ExternalReferenceLinkProperties linkProperties, Date effectiveTime) Link an external reference to an object.retrieveAttachedExternalReferences
(String attachedToGUID, int startFrom, int pageSize, Date effectiveTime) Retrieve the list of external references attached to the supplied object.void
setAssetManagerIsHome
(boolean assetManagerIsHome) Set up the flag that controls the ownership of metadata created for this asset manager.void
setForDuplicateProcessing
(boolean forDuplicateProcessing) Set up whether retrieval requests from this service are to avoid merging duplicates or not.void
setForLineage
(boolean forLineage) Set up whether retrieval requests from this service are to include elements with the Memento classification attached or not.void
unlinkExternalReferenceFromElement
(String externalReferenceLinkGUID, Date effectiveTime) Remove the link between a external reference and an element.void
updateExternalReference
(String externalReferenceGUID, String referenceExternalIdentifier, boolean isMergeUpdate, ExternalReferenceProperties properties, Date effectiveTime) Update the definition of a external reference.void
updateExternalReferenceToElementLink
(String externalReferenceLinkGUID, ExternalReferenceLinkProperties linkProperties, Date effectiveTime) Update the link between an external reference to an object.
-
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 identifieranchorGUID
- 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 uniquePropertyServerException
- problem accessing property serverUserNotAuthorizedException
- 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 referencereferenceExternalIdentifier
- unique identifier of the external reference in the external asset managerisMergeUpdate
- are unspecified properties unchanged (true) or replaced with null?properties
- properties to changeeffectiveTime
- 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 knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- 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 referencereferenceExternalIdentifier
- unique identifier of the external reference in the external asset managereffectiveTime
- the time that the retrieved elements must be effective for- Throws:
InvalidParameterException
- guid or userId is null; guid is not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- 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 forstartFrom
- 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 entityeffectiveTime
- the time that the retrieved elements must be effective forstartFrom
- 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 forstartFrom
- 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 pointpageSize
- maximum results that can be returnedeffectiveTime
- the time that the retrieved elements must be effective for- Returns:
- list of matching metadata elements
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- 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 forstartFrom
- 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 referenceeffectiveTime
- the time that the retrieved elements must be effective for- Returns:
- properties of the external reference
- Throws:
InvalidParameterException
- externalReferenceGUID or userId is nullPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-