Class ExternalReferenceExchangeClient
- java.lang.Object
-
- org.odpi.openmetadata.accessservices.assetmanager.client.ExchangeClientBase
-
- org.odpi.openmetadata.accessservices.assetmanager.client.ExternalReferenceExchangeClient
-
- All Implemented Interfaces:
ExternalReferencesInterface
public class ExternalReferenceExchangeClient extends ExchangeClientBase implements ExternalReferencesInterface
ExternalReferenceExchangeClient is the client for managing external references.
-
-
Constructor Summary
Constructors Constructor Description ExternalReferenceExchangeClient(String serverName, String serverPlatformURLRoot)Create a new client with no authentication embedded in the HTTP request.ExternalReferenceExchangeClient(String serverName, String serverPlatformURLRoot, String userId, String password)Create a new client that passes userId and password in each HTTP request.ExternalReferenceExchangeClient(String serverName, String serverPlatformURLRoot, String userId, String password, AuditLog auditLog)Create a new client that passes userId and password in each HTTP request.ExternalReferenceExchangeClient(String serverName, String serverPlatformURLRoot, AssetManagerRESTClient restClient, int maxPageSize, AuditLog auditLog)Create a new client that is going to be used in an OMAG Server.ExternalReferenceExchangeClient(String serverName, String serverPlatformURLRoot, AuditLog auditLog)Create a new client with no authentication embedded in the HTTP request.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringcreateExternalReference(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String referenceExternalIdentifier, String referenceExternalIdentifierName, String referenceExternalIdentifierUsage, String referenceExternalIdentifierSource, KeyPattern referenceExternalIdentifierKeyPattern, Map<String,String> mappingProperties, String anchorGUID, ExternalReferenceProperties properties)Create a definition of a external reference.voiddeleteExternalReference(String userId, String assetManagerGUID, String assetManagerName, String externalReferenceGUID, String referenceExternalIdentifier)Remove the definition of a external reference.List<ExternalReferenceElement>findExternalReferences(String userId, String assetManagerGUID, String assetManagerName, String searchString, Date effectiveTime, int startFrom, int pageSize)Find the external references that contain the search string - which may contain wildcards.ExternalReferenceElementgetExternalReferenceByGUID(String userId, String assetManagerGUID, String assetManagerName, String externalReferenceGUID, Date effectiveTime)Return information about a specific external reference.List<ExternalReferenceElement>getExternalReferences(String userId, String assetManagerGUID, String assetManagerName, Date effectiveTime, int startFrom, int pageSize)Retrieve the list of external references sorted in open metadata.List<ExternalReferenceElement>getExternalReferencesById(String userId, String assetManagerGUID, String assetManagerName, String resourceId, Date effectiveTime, int startFrom, int pageSize)Retrieve the list of external references for this resourceId.List<ExternalReferenceElement>getExternalReferencesByName(String userId, String assetManagerGUID, String assetManagerName, String name, Date effectiveTime, int startFrom, int pageSize)Retrieve the list of external references for this name.List<ExternalReferenceElement>getExternalReferencesByURL(String userId, String assetManagerGUID, String assetManagerName, String url, Date effectiveTime, int startFrom, int pageSize)Retrieve the list of external references for this URL.List<ExternalReferenceElement>getExternalReferencesForAssetManager(String userId, String assetManagerGUID, String assetManagerName, Date effectiveTime, int startFrom, int pageSize)Retrieve the list of external reference created on behalf of the named asset manager.StringlinkExternalReferenceToElement(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String attachedToGUID, String externalReferenceGUID, ExternalReferenceLinkProperties linkProperties)Link an external reference to an object.List<ExternalReferenceLinkElement>retrieveAttachedExternalReferences(String userId, String assetManagerGUID, String assetManagerName, String attachedToGUID, Date effectiveTime, int startFrom, int pageSize)Retrieve the list of external references attached to the supplied object.voidunlinkExternalReferenceFromElement(String userId, String assetManagerGUID, String assetManagerName, String externalReferenceLinkGUID)Remove the link between a external reference and an element.voidupdateExternalReference(String userId, String assetManagerGUID, String assetManagerName, String externalReferenceGUID, String referenceExternalIdentifier, boolean isMergeUpdate, ExternalReferenceProperties properties)Update the definition of a external reference.voidupdateExternalReferenceToElementLink(String userId, String assetManagerGUID, String assetManagerName, String externalReferenceLinkGUID, ExternalReferenceLinkProperties linkProperties)Update the link between an external reference to an object.
-
-
-
Constructor Detail
-
ExternalReferenceExchangeClient
public ExternalReferenceExchangeClient(String serverName, String serverPlatformURLRoot, AuditLog auditLog) throws InvalidParameterException
Create a new client with no authentication embedded in the HTTP request.- Parameters:
serverName- name of the server to connect toserverPlatformURLRoot- the network address of the server running the OMAS REST serversauditLog- logging destination- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
ExternalReferenceExchangeClient
public ExternalReferenceExchangeClient(String serverName, String serverPlatformURLRoot) throws InvalidParameterException
Create a new client with no authentication embedded in the HTTP request.- Parameters:
serverName- name of the server to connect toserverPlatformURLRoot- the network address of the server running the OMAS REST servers- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
ExternalReferenceExchangeClient
public ExternalReferenceExchangeClient(String serverName, String serverPlatformURLRoot, String userId, String password, AuditLog auditLog) throws InvalidParameterException
Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request.- Parameters:
serverName- name of the server to connect toserverPlatformURLRoot- the network address of the server running the OMAS REST serversuserId- caller's userId embedded in all HTTP requestspassword- caller's userId embedded in all HTTP requestsauditLog- logging destination- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
ExternalReferenceExchangeClient
public ExternalReferenceExchangeClient(String serverName, String serverPlatformURLRoot, AssetManagerRESTClient restClient, int maxPageSize, AuditLog auditLog) throws InvalidParameterException
Create a new client that is going to be used in an OMAG Server.- Parameters:
serverName- name of the server to connect toserverPlatformURLRoot- the network address of the server running the OMAS REST serversrestClient- client that issues the REST API callsmaxPageSize- maximum number of results supported by this serverauditLog- logging destination- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
ExternalReferenceExchangeClient
public ExternalReferenceExchangeClient(String serverName, String serverPlatformURLRoot, String userId, String password) throws InvalidParameterException
Create a new client that passes userId and password in each HTTP request. This is the userId/password of the calling server. The end user's userId is sent on each request.- Parameters:
serverName- name of the server to connect toserverPlatformURLRoot- the network address of the server running the OMAS REST serversuserId- caller's userId embedded in all HTTP requestspassword- caller's userId embedded in all HTTP requests- Throws:
InvalidParameterException- there is a problem creating the client-side components to issue any REST API calls.
-
-
Method Detail
-
createExternalReference
public String createExternalReference(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String referenceExternalIdentifier, String referenceExternalIdentifierName, String referenceExternalIdentifierUsage, String referenceExternalIdentifierSource, KeyPattern referenceExternalIdentifierKeyPattern, Map<String,String> mappingProperties, String anchorGUID, ExternalReferenceProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Create a definition of a external reference.- Specified by:
createExternalReferencein interfaceExternalReferencesInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerassetManagerIsHome- ensure that only the asset manager can update this assetreferenceExternalIdentifier- unique identifier of the external reference in the external asset managerreferenceExternalIdentifierName- name of property for the external identifier in the external asset managerreferenceExternalIdentifierUsage- optional usage description for the external identifier when calling the external asset managerreferenceExternalIdentifierSource- component that issuing this request.referenceExternalIdentifierKeyPattern- pattern for the external identifier within the external asset manager (default is LOCAL_KEY)mappingProperties- additional properties to help with the mapping of the elements in the external asset manager and open metadataanchorGUID- 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 userId, String assetManagerGUID, String assetManagerName, String externalReferenceGUID, String referenceExternalIdentifier, boolean isMergeUpdate, ExternalReferenceProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Update the definition of a external reference.- Specified by:
updateExternalReferencein interfaceExternalReferencesInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerexternalReferenceGUID- 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 change- 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 userId, String assetManagerGUID, String assetManagerName, String externalReferenceGUID, String referenceExternalIdentifier) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Remove the definition of a external reference.- Specified by:
deleteExternalReferencein interfaceExternalReferencesInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerexternalReferenceGUID- unique identifier of external referencereferenceExternalIdentifier- unique identifier of the external reference in the external asset manager- Throws:
InvalidParameterException- guid or userId is null; guid is not knownPropertyServerException- problem accessing property serverUserNotAuthorizedException- security access problem
-
linkExternalReferenceToElement
public String linkExternalReferenceToElement(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String attachedToGUID, String externalReferenceGUID, ExternalReferenceLinkProperties linkProperties) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
Link an external reference to an object.- Specified by:
linkExternalReferenceToElementin interfaceExternalReferencesInterface- Parameters:
userId- the name of the calling user.assetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerassetManagerIsHome- ensure that only the asset manager can update this assetattachedToGUID- 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.- 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 userId, String assetManagerGUID, String assetManagerName, String externalReferenceLinkGUID, ExternalReferenceLinkProperties linkProperties) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
Update the link between an external reference to an object.- Specified by:
updateExternalReferenceToElementLinkin interfaceExternalReferencesInterface- Parameters:
userId- the name of the calling user.assetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerlinkProperties- 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.- 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 userId, String assetManagerGUID, String assetManagerName, String externalReferenceLinkGUID) 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.- Specified by:
unlinkExternalReferenceFromElementin interfaceExternalReferencesInterface- Parameters:
userId- the name of the calling user.assetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerexternalReferenceLinkGUID- identifier of the external reference 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.
-
getExternalReferences
public List<ExternalReferenceElement> getExternalReferences(String userId, String assetManagerGUID, String assetManagerName, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
Retrieve the list of external references sorted in open metadata.- Specified by:
getExternalReferencesin interfaceExternalReferencesInterface- Parameters:
userId- the name of the calling user.assetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callereffectiveTime- 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 userId, String assetManagerGUID, String assetManagerName, String resourceId, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
Retrieve the list of external references for this resourceId.- Specified by:
getExternalReferencesByIdin interfaceExternalReferencesInterface- Parameters:
userId- the name of the calling user.assetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerresourceId- 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 userId, String assetManagerGUID, String assetManagerName, String url, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
Retrieve the list of external references for this URL.- Specified by:
getExternalReferencesByURLin interfaceExternalReferencesInterface- Parameters:
userId- the name of the calling user.assetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerurl- 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 userId, String assetManagerGUID, String assetManagerName, String name, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
Retrieve the list of external references for this name.- Specified by:
getExternalReferencesByNamein interfaceExternalReferencesInterface- Parameters:
userId- the name of the calling user.assetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callername- qualifiedName or displayName 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.
-
getExternalReferencesForAssetManager
public List<ExternalReferenceElement> getExternalReferencesForAssetManager(String userId, String assetManagerGUID, String assetManagerName, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Retrieve the list of external reference created on behalf of the named asset manager.- Specified by:
getExternalReferencesForAssetManagerin interfaceExternalReferencesInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callereffectiveTime- the time that the retrieved elements must be effective forstartFrom- paging start pointpageSize- maximum results that can be returned- 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 userId, String assetManagerGUID, String assetManagerName, String searchString, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
Find the external references that contain the search string - which may contain wildcards.- Specified by:
findExternalReferencesin interfaceExternalReferencesInterface- Parameters:
userId- the name of the calling user.assetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callersearchString- regular expression (RegEx) to search foreffectiveTime- 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.
-
retrieveAttachedExternalReferences
public List<ExternalReferenceLinkElement> retrieveAttachedExternalReferences(String userId, String assetManagerGUID, String assetManagerName, String attachedToGUID, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
Retrieve the list of external references attached to the supplied object.- Specified by:
retrieveAttachedExternalReferencesin interfaceExternalReferencesInterface- Parameters:
userId- the name of the calling user.assetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerattachedToGUID- object linked to external reference.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.
-
getExternalReferenceByGUID
public ExternalReferenceElement getExternalReferenceByGUID(String userId, String assetManagerGUID, String assetManagerName, String externalReferenceGUID, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
Return information about a specific external reference.- Specified by:
getExternalReferenceByGUIDin interfaceExternalReferencesInterface- Parameters:
userId- calling userassetManagerGUID- unique identifier of software server capability representing the callerassetManagerName- unique name of software server capability representing the callerexternalReferenceGUID- 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
-
-