Class CollaborationExchangeClient
java.lang.Object
org.odpi.openmetadata.accessservices.assetmanager.client.AssetManagerBaseClient
org.odpi.openmetadata.accessservices.assetmanager.client.exchange.CollaborationExchangeClient
- All Implemented Interfaces:
CollaborationExchangeInterface
,ExternalIdentifierManagerInterface
public class CollaborationExchangeClient
extends AssetManagerBaseClient
implements CollaborationExchangeInterface
CollaborationExchangeClient is the client for managing comments, ratings, likes and tags.
-
Field Summary
Fields inherited from class org.odpi.openmetadata.accessservices.assetmanager.client.AssetManagerBaseClient
invalidParameterHandler, metadataElementSummaryConverter, metadataRelationshipSummaryConverter, nullRequestBody, openMetadataStoreClient, propertyHelper, relatedMetadataElementSummaryConverter, restClient, serverName, serverPlatformURLRoot, urlTemplatePrefix
-
Constructor Summary
ConstructorDescriptionCollaborationExchangeClient
(String serverName, String serverPlatformURLRoot, int maxPageSize) Create a new client with no authentication embedded in the HTTP request.CollaborationExchangeClient
(String serverName, String serverPlatformURLRoot, String userId, String password, int maxPageSize) Create a new client that passes userId and password in each HTTP request.CollaborationExchangeClient
(String serverName, String serverPlatformURLRoot, String userId, String password, AuditLog auditLog, int maxPageSize) Create a new client that passes userId and password in each HTTP request.CollaborationExchangeClient
(String serverName, String serverPlatformURLRoot, AssetManagerRESTClient restClient, int maxPageSize, AuditLog auditLog) Create a new client that is going to be used in an OMAG Server.CollaborationExchangeClient
(String serverName, String serverPlatformURLRoot, AuditLog auditLog, int maxPageSize) Create a new client with no authentication embedded in the HTTP request. -
Method Summary
Modifier and TypeMethodDescriptionaddCommentReply
(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String commentGUID, ExternalIdentifierProperties externalIdentifierProperties, boolean isPublic, CommentProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Adds a comment to another comment.addCommentToElement
(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String elementGUID, ExternalIdentifierProperties externalIdentifierProperties, boolean isPublic, CommentProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Adds a comment to the element.void
addLikeToElement
(String userId, String elementGUID, boolean isPublic) Adds a "LikeProperties" to the element.addRatingToElement
(String userId, String elementGUID, boolean isPublic, RatingProperties properties) Adds a star rating and optional review text to the element.void
addTagToElement
(String userId, String elementGUID, String tagGUID, boolean isPublic) Adds a tag (either private of public) to an element.void
clearAcceptedAnswer
(String userId, String assetManagerGUID, String assetManagerName, String questionCommentGUID, String answerCommentGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Unlink a comment that contains an answer to a question posed in another comment.createInformalTag
(String userId, TagProperties properties) Creates a new informal tag and returns the unique identifier for it.createNote
(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String noteLogGUID, ExternalIdentifierProperties externalIdentifierProperties, NoteProperties noteProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Create a new metadata element to represent a note.createNoteLog
(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String elementGUID, ExternalIdentifierProperties externalIdentifierProperties, NoteLogProperties noteLogProperties, boolean isPublic, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Create a new metadata element to represent a note log and attach it to an element (if supplied).void
Removes a tag from the repository.findComments
(String userId, String assetManagerGUID, String assetManagerName, String searchString, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Retrieve the list of comment metadata elements that contain the search string.findMyTags
(String userId, String tag, int startFrom, int pageSize) Return the list of the calling user's private tags containing the supplied string in either the name or description.findNoteLogs
(String userId, String assetManagerGUID, String assetManagerName, String searchString, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Retrieve the list of note log metadata elements that contain the search string.findNotes
(String userId, String assetManagerGUID, String assetManagerName, String searchString, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Retrieve the list of note metadata elements that contain the search string.Return the list of tags containing the supplied string in either the name or description.getAttachedComments
(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Return the comments attached to an element.getComment
(String userId, String assetManagerGUID, String assetManagerName, String commentGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Return the requested comment.getElementsByTag
(String userId, String tagGUID, int startFrom, int pageSize) Return the list of unique identifiers for elements that are linked to a specific tag either directly, or via one of its schema elements.getMyTagsByName
(String userId, String tag, int startFrom, int pageSize) Return the list of the calling user's private tags exactly matching the supplied name.getNoteByGUID
(String userId, String assetManagerGUID, String assetManagerName, String noteGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Retrieve the note metadata element with the supplied unique identifier.getNoteLogByGUID
(String userId, String assetManagerGUID, String assetManagerName, String noteLogGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Retrieve the note log metadata element with the supplied unique identifier.getNoteLogsByName
(String userId, String assetManagerGUID, String assetManagerName, String name, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Retrieve the list of note log metadata elements with a matching qualified or display name.getNoteLogsForElement
(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Retrieve the list of note log metadata elements attached to the element.getNotesForNoteLog
(String userId, String assetManagerGUID, String assetManagerName, String noteLogGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Retrieve the list of notes associated with a note log.Return the tag for the supplied unique identifier (guid).getTagsByName
(String userId, String tag, int startFrom, int pageSize) Return the list of tags exactly matching the supplied name.void
removeComment
(String userId, String assetManagerGUID, String assetManagerName, String commentGUID, String externalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Removes a comment added to the element.void
removeLikeFromElement
(String userId, String elementGUID) Removes a "LikeProperties" added to the element by this user.void
removeNote
(String userId, String assetManagerGUID, String assetManagerName, String noteGUID, String noteExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Remove the metadata element representing a note.void
removeNoteLog
(String userId, String assetManagerGUID, String assetManagerName, String noteLogGUID, String noteLogExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Remove the metadata element representing a note log.void
removeRatingFromElement
(String userId, String elementGUID) Removes of a review that was added to the element by this user.void
removeTagFromElement
(String userId, String elementGUID, String tagGUID) Removes a tag from the element that was added by this user.void
setupAcceptedAnswer
(String userId, String assetManagerGUID, String assetManagerName, String questionCommentGUID, String answerCommentGUID, FeedbackProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Link a comment that contains the best answer to a question posed in another comment.void
updateComment
(String userId, String assetManagerGUID, String assetManagerName, String commentGUID, String externalIdentifier, boolean isMergeUpdate, boolean isPublic, CommentProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Update an existing comment.void
updateNote
(String userId, String assetManagerGUID, String assetManagerName, String noteGUID, String noteExternalIdentifier, boolean isMergeUpdate, NoteProperties noteProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Update the properties of the metadata element representing a note.void
updateNoteLog
(String userId, String assetManagerGUID, String assetManagerName, String noteLogGUID, String noteLogExternalIdentifier, boolean isMergeUpdate, boolean isPublic, NoteLogProperties noteLogProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) Update the metadata element representing a note log.void
updateTagDescription
(String userId, String tagGUID, String tagDescription) Updates the description of an existing tag (either private or public).Methods inherited from class org.odpi.openmetadata.accessservices.assetmanager.client.AssetManagerBaseClient
addExternalIdentifier, addExternalIdentifier, clearRelationship, clearRelationship, confirmSynchronization, createFeedbackFromTemplateWithParent, createFeedbackWithParent, createReferenceable, createReferenceableFromTemplate, createReferenceableFromTemplate, createReferenceableFromTemplateWithParent, createReferenceableFromTemplateWithParent, createReferenceableWithParent, getAssetManagerIdentifiersRequestBody, getClassifiedElements, getClassifiedElements, getClassifiedElements, getClassifiedElements, getCorrelationProperties, getCorrelationProperties, getCorrelationProperties, getEffectiveTimeQueryRequestBody, getElementsForExternalIdentifier, getGlossaryTermRelationshipRequestBody, getMetadataCorrelationHeaders, getNameRequestBody, getNameRequestBody, getQualifiedNameRequestBody, getRelatedElements, getRelationshipRequestBody, getSearchStringRequestBody, getUpdateRequestBody, handleMissingScope, removeExternalIdentifier, removeReferenceable, removeReferenceableClassification, setReferenceableClassification, setupRelationship, setupRelationship, updateExternalIdentifier, updateFeedback, updateReferenceable
-
Constructor Details
-
CollaborationExchangeClient
public CollaborationExchangeClient(String serverName, String serverPlatformURLRoot, AuditLog auditLog, int maxPageSize) 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 servicesauditLog
- logging destinationmaxPageSize
- maximum value allowed for page size- Throws:
InvalidParameterException
- there is a problem creating the client-side components to issue any REST API calls.
-
CollaborationExchangeClient
public CollaborationExchangeClient(String serverName, String serverPlatformURLRoot, int maxPageSize) 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 servicesmaxPageSize
- maximum value allowed for page size- Throws:
InvalidParameterException
- there is a problem creating the client-side components to issue any REST API calls.
-
CollaborationExchangeClient
public CollaborationExchangeClient(String serverName, String serverPlatformURLRoot, String userId, String password, AuditLog auditLog, int maxPageSize) 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 servicesuserId
- caller's userId embedded in all HTTP requestspassword
- caller's userId embedded in all HTTP requestsauditLog
- logging destinationmaxPageSize
- maximum value allowed for page size- Throws:
InvalidParameterException
- there is a problem creating the client-side components to issue any REST API calls.
-
CollaborationExchangeClient
public CollaborationExchangeClient(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 servicesrestClient
- 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.
-
CollaborationExchangeClient
public CollaborationExchangeClient(String serverName, String serverPlatformURLRoot, String userId, String password, int maxPageSize) 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 servicesuserId
- caller's userId embedded in all HTTP requestspassword
- caller's userId embedded in all HTTP requestsmaxPageSize
- maximum value allowed for page size- Throws:
InvalidParameterException
- there is a problem creating the client-side components to issue any REST API calls.
-
-
Method Details
-
addRatingToElement
public String addRatingToElement(String userId, String elementGUID, boolean isPublic, RatingProperties properties) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Adds a star rating and optional review text to the element. If the user has already attached a rating then the original one is over-ridden.- Specified by:
addRatingToElement
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.elementGUID
- unique identifier for the element.isPublic
- is this visible to other peopleproperties
- properties of the rating- Returns:
- unique identifier of the rating
- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem adding the element properties to the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
removeRatingFromElement
public void removeRatingFromElement(String userId, String elementGUID) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Removes of a review that was added to the element by this user.- Specified by:
removeRatingFromElement
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.elementGUID
- unique identifier for the attached element.- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem updating the element properties in the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
addLikeToElement
public void addLikeToElement(String userId, String elementGUID, boolean isPublic) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Adds a "LikeProperties" to the element.- Specified by:
addLikeToElement
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making requestelementGUID
- unique identifier for the elementisPublic
- is this visible to other people- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem adding the element properties to the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
removeLikeFromElement
public void removeLikeFromElement(String userId, String elementGUID) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Removes a "LikeProperties" added to the element by this user.- Specified by:
removeLikeFromElement
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.elementGUID
- unique identifier for the like object.- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem updating the element properties in the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
addCommentToElement
public String addCommentToElement(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String elementGUID, ExternalIdentifierProperties externalIdentifierProperties, boolean isPublic, CommentProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Adds a comment to the element.- Specified by:
addCommentToElement
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.assetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerassetManagerIsHome
- ensure that only the asset manager can update this elementelementGUID
- unique identifier for the element.externalIdentifierProperties
- optional properties used to define an external identifier for the comment.isPublic
- is this comment visible to other people.properties
- properties of the commenteffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- Returns:
- guid of new comment.
- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem adding the element properties to the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
addCommentReply
public String addCommentReply(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String commentGUID, ExternalIdentifierProperties externalIdentifierProperties, boolean isPublic, CommentProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Adds a comment to another comment.- Specified by:
addCommentReply
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.assetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerassetManagerIsHome
- ensure that only the asset manager can update this elementcommentGUID
- unique identifier for an existing comment. Used to add a reply to a comment.externalIdentifierProperties
- optional properties used to define an external identifier for the comment.properties
- properties of the commenteffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?isPublic
- is this comment visible to other people.- Returns:
- guid of new comment.
- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem adding the element properties to the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
updateComment
public void updateComment(String userId, String assetManagerGUID, String assetManagerName, String commentGUID, String externalIdentifier, boolean isMergeUpdate, boolean isPublic, CommentProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Update an existing comment.- Specified by:
updateComment
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.assetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callercommentGUID
- unique identifier for the comment to change.externalIdentifier
- unique identifier of the comment in the external asset managerisMergeUpdate
- should the new properties be merged with existing properties (true) or completely replace them (false)?isPublic
- is this visible to other peopleproperties
- properties of the commenteffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem adding the element properties to the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
setupAcceptedAnswer
public void setupAcceptedAnswer(String userId, String assetManagerGUID, String assetManagerName, String questionCommentGUID, String answerCommentGUID, FeedbackProperties properties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Link a comment that contains the best answer to a question posed in another comment.- Specified by:
setupAcceptedAnswer
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerquestionCommentGUID
- unique identifier of the comment containing the questionanswerCommentGUID
- unique identifier of the comment containing the accepted answerproperties
- is this visible to other peopleeffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- 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)
-
clearAcceptedAnswer
public void clearAcceptedAnswer(String userId, String assetManagerGUID, String assetManagerName, String questionCommentGUID, String answerCommentGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Unlink a comment that contains an answer to a question posed in another comment.- Specified by:
clearAcceptedAnswer
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerquestionCommentGUID
- unique identifier of the comment containing the questionanswerCommentGUID
- unique identifier of the comment containing the accepted answereffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- 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)
-
removeComment
public void removeComment(String userId, String assetManagerGUID, String assetManagerName, String commentGUID, String externalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Removes a comment added to the element.- Specified by:
removeComment
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.assetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callercommentGUID
- unique identifier for the comment object.externalIdentifier
- unique identifier of the comment in the external asset managereffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem updating the element properties in the property server.UserNotAuthorizedException
- the user does not have permission to perform this request.
-
getComment
public CommentElement getComment(String userId, String assetManagerGUID, String assetManagerName, String commentGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the requested comment.- Specified by:
getComment
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.assetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callercommentGUID
- unique identifier for the comment object.effectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- Returns:
- comment properties
- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem updating the element properties in the property server.UserNotAuthorizedException
- the user does not have permission to perform this request.
-
getAttachedComments
public List<CommentElement> getAttachedComments(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the comments attached to an element.- Specified by:
getAttachedComments
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.assetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerelementGUID
- unique identifier for the element that the comments are connected to (maybe a comment too).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 forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- Returns:
- list of comments
- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem updating the element properties in the property server.UserNotAuthorizedException
- the user does not have permission to perform this request.
-
findComments
public List<CommentElement> findComments(String userId, String assetManagerGUID, String assetManagerName, String searchString, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of comment metadata elements that contain the search string. The search string is treated as a regular expression.- Specified by:
findComments
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callersearchString
- string to find in the propertiesstartFrom
- paging start pointpageSize
- maximum results that can be returnedeffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- 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)
-
createInformalTag
public String createInformalTag(String userId, TagProperties properties) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Creates a new informal tag and returns the unique identifier for it.- Specified by:
createInformalTag
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.properties
- name of the tag and (optional) description. Setting a description, particularly in a public tag makes the tag more valuable to other users and can act as an embryonic note.- Returns:
- GUID for new tag.
- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem adding the element properties to the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
updateTagDescription
public void updateTagDescription(String userId, String tagGUID, String tagDescription) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Updates the description of an existing tag (either private or public).- Specified by:
updateTagDescription
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.tagGUID
- unique identifier for the tag.tagDescription
- description of the tag. Setting a description, particularly in a public tag makes the tag more valuable to other users and can act as an embryonic glossary term.- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem adding the element properties to the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
deleteTag
public void deleteTag(String userId, String tagGUID) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Removes a tag from the repository. A private tag can be deleted by its creator and all the references are lost; a public tag can be deleted by anyone, but only if it is not attached to any referenceable.- Specified by:
deleteTag
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.tagGUID
- unique id for the tag.- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem updating the element properties in the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
getTag
public InformalTagElement getTag(String userId, String tagGUID) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the tag for the supplied unique identifier (guid).- Specified by:
getTag
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of the user making the request.tagGUID
- unique identifier of the tag.- Returns:
- tag
- Throws:
InvalidParameterException
- the userId is null or invalid.PropertyServerException
- there is a problem retrieving information from the property server(s).UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
getTagsByName
public List<InformalTagElement> getTagsByName(String userId, String tag, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the list of tags exactly matching the supplied name.- Specified by:
getTagsByName
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- the name of the calling user.tag
- name of tag.startFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return.- Returns:
- tag list
- Throws:
InvalidParameterException
- the userId is null or invalid.PropertyServerException
- there is a problem retrieving information from the property server(s).UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
getMyTagsByName
public List<InformalTagElement> getMyTagsByName(String userId, String tag, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the list of the calling user's private tags exactly matching the supplied name.- Specified by:
getMyTagsByName
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- the name of the calling user.tag
- name of tag.startFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return.- Returns:
- tag list
- Throws:
InvalidParameterException
- the userId is null or invalid.PropertyServerException
- there is a problem retrieving information from the property server(s).UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
findTags
public List<InformalTagElement> findTags(String userId, String tag, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the list of tags containing the supplied string in either the name or description.- Specified by:
findTags
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- the name of the calling user.tag
- name of tag. This may include wild card characters.startFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return.- Returns:
- tag list
- Throws:
InvalidParameterException
- the userId is null or invalid.PropertyServerException
- there is a problem retrieving information from the property server(s).UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
findMyTags
public List<InformalTagElement> findMyTags(String userId, String tag, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the list of the calling user's private tags containing the supplied string in either the name or description.- Specified by:
findMyTags
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- the name of the calling user.tag
- name of tag. This may include wild card characters.startFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return.- Returns:
- tag list
- Throws:
InvalidParameterException
- the userId is null or invalid.PropertyServerException
- there is a problem retrieving information from the property server(s).UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
addTagToElement
public void addTagToElement(String userId, String elementGUID, String tagGUID, boolean isPublic) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Adds a tag (either private of public) to an element.- Specified by:
addTagToElement
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.elementGUID
- unique id for the element.tagGUID
- unique id of the tag.isPublic
- flag indicating whether the attachment of the tag is public or not- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem adding the element properties to the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
removeTagFromElement
public void removeTagFromElement(String userId, String elementGUID, String tagGUID) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Removes a tag from the element that was added by this user.- Specified by:
removeTagFromElement
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- userId of user making request.elementGUID
- unique id for the element.tagGUID
- unique id for the tag.- Throws:
InvalidParameterException
- one of the parameters is null or invalid.PropertyServerException
- there is a problem updating the element properties in the property server.UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
getElementsByTag
public List<String> getElementsByTag(String userId, String tagGUID, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Return the list of unique identifiers for elements that are linked to a specific tag either directly, or via one of its schema elements. An Element's GUID may appear multiple times in the results if it is tagged multiple times with the requested tag.- Specified by:
getElementsByTag
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- the name of the calling user.tagGUID
- unique identifier of tag.startFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return.- Returns:
- element guid list
- Throws:
InvalidParameterException
- the userId is null or invalid.PropertyServerException
- there is a problem retrieving information from the property server(s).UserNotAuthorizedException
- the requesting user is not authorized to issue this request.
-
createNoteLog
public String createNoteLog(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String elementGUID, ExternalIdentifierProperties externalIdentifierProperties, NoteLogProperties noteLogProperties, boolean isPublic, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new metadata element to represent a note log and attach it to an element (if supplied). Any supplied element becomes the note log's anchor, causing the note log to be deleted if/when the element is deleted.- Specified by:
createNoteLog
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerassetManagerIsHome
- ensure that only the asset manager can update this elementelementGUID
- unique identifier of the element where the note log is locatedexternalIdentifierProperties
- optional properties used to define an external identifier for the note lognoteLogProperties
- properties about the note log to storeisPublic
- is this element visible to other people.effectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- Returns:
- unique identifier of the new note log
- 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)
-
updateNoteLog
public void updateNoteLog(String userId, String assetManagerGUID, String assetManagerName, String noteLogGUID, String noteLogExternalIdentifier, boolean isMergeUpdate, boolean isPublic, NoteLogProperties noteLogProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the metadata element representing a note log.- Specified by:
updateNoteLog
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callernoteLogGUID
- unique identifier of the metadata element to updatenoteLogExternalIdentifier
- unique identifier of the note log in the external asset managerisMergeUpdate
- should the new properties be merged with existing properties (true) or completely replace them (false)?isPublic
- is this element visible to other people.noteLogProperties
- new properties for the metadata elementeffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- 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)
-
removeNoteLog
public void removeNoteLog(String userId, String assetManagerGUID, String assetManagerName, String noteLogGUID, String noteLogExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the metadata element representing a note log.- Specified by:
removeNoteLog
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callernoteLogGUID
- unique identifier of the metadata element to removenoteLogExternalIdentifier
- unique identifier of the note log in the external asset managereffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- 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)
-
findNoteLogs
public List<NoteLogElement> findNoteLogs(String userId, String assetManagerGUID, String assetManagerName, String searchString, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of note log metadata elements that contain the search string. The search string is treated as a regular expression.- Specified by:
findNoteLogs
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callersearchString
- string to find in the propertiesstartFrom
- paging start pointpageSize
- maximum results that can be returnedeffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- 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)
-
getNoteLogsByName
public List<NoteLogElement> getNoteLogsByName(String userId, String assetManagerGUID, String assetManagerName, String name, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of note log metadata elements with a matching qualified or display name. There are no wildcards supported on this request.- Specified by:
getNoteLogsByName
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callername
- name to search forstartFrom
- paging start pointpageSize
- maximum results that can be returnedeffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- 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)
-
getNoteLogsForElement
public List<NoteLogElement> getNoteLogsForElement(String userId, String assetManagerGUID, String assetManagerName, String elementGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of note log metadata elements attached to the element.- Specified by:
getNoteLogsForElement
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique elementGUID of software capability representing the callerelementGUID
- element to start fromstartFrom
- paging start pointpageSize
- maximum results that can be returnedeffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- 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)
-
getNoteLogByGUID
public NoteLogElement getNoteLogByGUID(String userId, String assetManagerGUID, String assetManagerName, String noteLogGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the note log metadata element with the supplied unique identifier.- Specified by:
getNoteLogByGUID
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callernoteLogGUID
- unique identifier of the requested metadata elementeffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- Returns:
- requested metadata element
- 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)
-
createNote
public String createNote(String userId, String assetManagerGUID, String assetManagerName, boolean assetManagerIsHome, String noteLogGUID, ExternalIdentifierProperties externalIdentifierProperties, NoteProperties noteProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new metadata element to represent a note.- Specified by:
createNote
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerassetManagerIsHome
- ensure that only the asset manager can update this elementnoteLogGUID
- unique identifier of the element where the note is locatedexternalIdentifierProperties
- optional properties used to define an external identifier for the notenoteProperties
- properties for the noteeffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- Returns:
- unique identifier of the new metadata element for the note
- 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)
-
updateNote
public void updateNote(String userId, String assetManagerGUID, String assetManagerName, String noteGUID, String noteExternalIdentifier, boolean isMergeUpdate, NoteProperties noteProperties, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update the properties of the metadata element representing a note.- Specified by:
updateNote
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callernoteGUID
- unique identifier of the note to updateisMergeUpdate
- should the new properties be merged with existing properties (true) or completely replace them (false)?noteProperties
- new properties for the notenoteExternalIdentifier
- unique identifier of the note in the external asset managereffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- 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)
-
removeNote
public void removeNote(String userId, String assetManagerGUID, String assetManagerName, String noteGUID, String noteExternalIdentifier, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the metadata element representing a note.- Specified by:
removeNote
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callernoteGUID
- unique identifier of the metadata element to removenoteExternalIdentifier
- unique identifier of the note in the external asset managereffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- 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)
-
findNotes
public List<NoteElement> findNotes(String userId, String assetManagerGUID, String assetManagerName, String searchString, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of note metadata elements that contain the search string. The search string is treated as a regular expression.- Specified by:
findNotes
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callersearchString
- string to find in the propertiesstartFrom
- paging start pointpageSize
- maximum results that can be returnedeffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- 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)
-
getNotesForNoteLog
public List<NoteElement> getNotesForNoteLog(String userId, String assetManagerGUID, String assetManagerName, String noteLogGUID, int startFrom, int pageSize, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of notes associated with a note log.- Specified by:
getNotesForNoteLog
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callernoteLogGUID
- unique identifier of the note log of intereststartFrom
- paging start pointpageSize
- maximum results that can be returnedeffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- Returns:
- list of associated 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)
-
getNoteByGUID
public NoteElement getNoteByGUID(String userId, String assetManagerGUID, String assetManagerName, String noteGUID, Date effectiveTime, boolean forLineage, boolean forDuplicateProcessing) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the note metadata element with the supplied unique identifier.- Specified by:
getNoteByGUID
in interfaceCollaborationExchangeInterface
- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callernoteGUID
- unique identifier of the requested metadata elementeffectiveTime
- the time that the retrieved elements must be effective forforLineage
- return elements marked with the Memento classification?forDuplicateProcessing
- do not merge elements marked as duplicates?- Returns:
- matching metadata element
- 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)
-