Class CollaborationManagerHandler

java.lang.Object
org.odpi.openmetadata.frameworkservices.omf.client.handlers.CollaborationManagerHandler

public class CollaborationManagerHandler extends Object
CollaborationManagerHandler is the handler for managing comments, ratings, likes and tags.
  • Constructor Details

    • CollaborationManagerHandler

      public CollaborationManagerHandler(String localServerName, String serverName, String serverPlatformURLRoot, AuditLog auditLog, String accessServiceURLMarker, String serviceName, int maxPageSize) throws InvalidParameterException
      Create a new client.
      Parameters:
      serverName - name of the server to connect to
      serverPlatformURLRoot - the network address of the server running the OMAS REST services
      accessServiceURLMarker - optional access service URL marker used to identify which back end service to call
      auditLog - logging destination
      maxPageSize - maximum value allowed for page size
      serviceName - name of calling service
      Throws:
      InvalidParameterException - there is a problem creating the client-side components to issue any REST API calls.
  • Method Details

    • addRatingToElement

      public void addRatingToElement(String userId, String elementGUID, boolean isPublic, RatingProperties properties, Date effectiveTime) 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.
      Parameters:
      userId - userId of user making request.
      elementGUID - unique identifier for the element.
      isPublic - is this visible to other people
      properties - properties of the rating
      effectiveTime - effective time
      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, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Removes of a review that was added to the element by this user.
      Parameters:
      userId - userId of user making request.
      elementGUID - unique identifier for the attached element.
      effectiveTime - effective time
      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.
    • getAttachedRatings

      public List<RatingElement> getAttachedRatings(String userId, String elementGUID, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return the ratings attached to an element.
      Parameters:
      userId - userId of user making request.
      elementGUID - unique identifier for the element that the comments are connected to (maybe a comment too).
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of ratings
      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.
    • addLikeToElement

      public void addLikeToElement(String userId, String elementGUID, boolean isPublic, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Adds a "Like" to the element.
      Parameters:
      userId - userId of user making request
      elementGUID - unique identifier for the element
      isPublic - is this visible to other people
      effectiveTime - effective time
      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, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Removes a "Like" added to the element by this user.
      Parameters:
      userId - userId of user making request.
      elementGUID - unique identifier for the like object.
      effectiveTime - effective time
      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.
    • getAttachedLikes

      public List<LikeElement> getAttachedLikes(String userId, String elementGUID, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return the likes attached to an element.
      Parameters:
      userId - userId of user making request.
      elementGUID - unique identifier for the element that the comments are connected to (maybe a comment too).
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of likes
      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.
    • addCommentToElement

      public String addCommentToElement(String userId, String elementGUID, boolean isPublic, CommentProperties properties) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Adds a comment to the element.
      Parameters:
      userId - userId of user making request.
      elementGUID - unique identifier for the element.
      isPublic - is this comment visible to other people.
      properties - properties of the comment
      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 elementGUID, String commentGUID, boolean isPublic, CommentProperties properties) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Adds a comment to the element.
      Parameters:
      userId - userId of user making request.
      commentGUID - unique identifier for the comment to attach to.
      elementGUID - unique identifier for the anchor element.
      isPublic - is this comment visible to other people.
      properties - properties of the comment
      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 commentGUID, boolean isMergeUpdate, CommentProperties properties, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Update an existing comment.
      Parameters:
      userId - userId of user making request.
      commentGUID - unique identifier for the comment to change.
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      properties - properties of the comment
      effectiveTime - effective time
      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.
    • updateCommentVisibility

      public void updateCommentVisibility(String userId, String parentGUID, String commentGUID, boolean isPublic, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Update an existing comment's visibility.
      Parameters:
      userId - userId of user making request.
      parentGUID - unique identifier for the element that the comment is attached to.
      commentGUID - unique identifier for the comment to change.
      isPublic - is this visible to other people
      effectiveTime - effective time
      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 questionCommentGUID, String answerCommentGUID, boolean isPublic, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Link a comment that contains the best answer to a question posed in another comment.
      Parameters:
      userId - calling user
      questionCommentGUID - unique identifier of the comment containing the question
      answerCommentGUID - unique identifier of the comment containing the accepted answer
      isPublic - is this visible to other people
      effectiveTime - effective time
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • clearAcceptedAnswer

      public void clearAcceptedAnswer(String userId, String questionCommentGUID, String answerCommentGUID, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Unlink a comment that contains an answer to a question posed in another comment.
      Parameters:
      userId - calling user
      questionCommentGUID - unique identifier of the comment containing the question
      answerCommentGUID - unique identifier of the comment containing the accepted answer
      effectiveTime - effective time
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • removeComment

      public void removeComment(String userId, String commentGUID, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Removes a comment added to the element by this user.
      Parameters:
      userId - userId of user making request.
      commentGUID - unique identifier for the comment object.
      effectiveTime - effective time
      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 commentGUID, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return the requested comment.
      Parameters:
      userId - userId of user making request.
      commentGUID - unique identifier for the comment object.
      effectiveTime - effective time
      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 elementGUID, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return the comments attached to an element.
      Parameters:
      userId - userId of user making request.
      elementGUID - unique identifier for the element that the comments are connected to (maybe a comment too).
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      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 searchString, TemplateFilter templateFilter, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) 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.
      Parameters:
      userId - calling user
      searchString - string to find in the properties
      templateFilter - should templates be returned?
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of matching metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • createInformalTag

      Creates a new informal tag and returns the unique identifier for it.
      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, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Updates the description of an existing tag (either private or public).
      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.
      effectiveTime - effective time
      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, Date effectiveTime) 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.
      Parameters:
      userId - userId of user making request.
      tagGUID - unique id for the tag.
      effectiveTime - effective time
      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

      Return the tag for the supplied unique identifier (guid).
      Parameters:
      userId - userId of the user making the request.
      tagGUID - unique identifier of the tag.
      effectiveTime - effective time
      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, TemplateFilter templateFilter, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return the list of tags exactly matching the supplied name.
      Parameters:
      userId - the name of the calling user.
      tag - name of tag.
      templateFilter - should templates be returned?
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      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, TemplateFilter templateFilter, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return the list of tags containing the supplied string in either the name or description.
      Parameters:
      userId - the name of the calling user.
      tag - name of tag. This may include wild card characters.
      templateFilter - should templates be returned?
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      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, TemplateFilter templateFilter, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return the list of the calling user's private tags containing the supplied string in either the name or description.
      Parameters:
      userId - the name of the calling user.
      tag - name of tag. This may include wild card characters.
      templateFilter - should templates be returned?
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      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, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Adds a tag (either private of public) to an element.
      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
      effectiveTime - effective time
      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, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Removes a tag from the element that was added by this user.
      Parameters:
      userId - userId of user making request.
      elementGUID - unique id for the element.
      tagGUID - unique id for the tag.
      effectiveTime - effective time
      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<RelatedMetadataElementStub> getElementsByTag(String userId, String tagGUID, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) 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.
      Parameters:
      userId - the name of the calling user.
      tagGUID - unique identifier of tag.
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      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.
    • getAttachedTags

      public List<InformalTagElement> getAttachedTags(String userId, String elementGUID, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException
      Return the informal tags attached to an element.
      Parameters:
      userId - userId of user making request.
      elementGUID - unique identifier for the element that the comments are connected to (maybe a comment too).
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of tags
      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.
    • createNoteLog

      public String createNoteLog(String userId, String elementGUID, NoteLogProperties noteLogProperties, boolean isPublic) 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.
      Parameters:
      userId - calling user
      elementGUID - unique identifier of the element where the note log is located
      noteLogProperties - properties about the note log to store
      isPublic - is this element visible to other people.
      Returns:
      unique identifier of the new note log
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • updateNoteLog

      public void updateNoteLog(String userId, String noteLogGUID, boolean isMergeUpdate, NoteLogProperties noteLogProperties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the metadata element representing a note log.
      Parameters:
      userId - calling user
      noteLogGUID - unique identifier of the metadata element to update
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      noteLogProperties - new properties for the metadata element
      effectiveTime - effective time
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • removeNoteLog

      public void removeNoteLog(String userId, String noteLogGUID, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the metadata element representing a note log.
      Parameters:
      userId - calling user
      noteLogGUID - unique identifier of the metadata element to remove
      effectiveTime - effective time
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • findNoteLogs

      public List<NoteLogElement> findNoteLogs(String userId, String searchString, TemplateFilter templateFilter, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) 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.
      Parameters:
      userId - calling user
      searchString - string to find in the properties
      templateFilter - should templates be returned?
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of matching metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • getNoteLogsByName

      public List<NoteLogElement> getNoteLogsByName(String userId, String name, TemplateFilter templateFilter, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) 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.
      Parameters:
      userId - calling user
      name - name to search for
      templateFilter - should templates be returned?
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of matching metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • getNoteLogsForElement

      public List<NoteLogElement> getNoteLogsForElement(String userId, String elementGUID, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of note log metadata elements attached to the element.
      Parameters:
      userId - calling user
      elementGUID - element to start from
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of matching metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • getNoteLogByGUID

      public NoteLogElement getNoteLogByGUID(String userId, String noteLogGUID, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the note log metadata element with the supplied unique identifier.
      Parameters:
      userId - calling user
      noteLogGUID - unique identifier of the requested metadata element
      effectiveTime - effective time
      Returns:
      requested metadata element
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • createNote

      public String createNote(String userId, String noteLogGUID, NoteProperties noteProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Create a new metadata element to represent a note.
      Parameters:
      userId - calling user
      noteLogGUID - unique identifier of the element where the note is located
      noteProperties - properties for the note
      Returns:
      unique identifier of the new metadata element for the note
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • updateNote

      public void updateNote(String userId, String noteGUID, boolean isMergeUpdate, NoteProperties noteProperties, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Update the properties of the metadata element representing a note.
      Parameters:
      userId - calling user
      noteGUID - unique identifier of the note to update
      isMergeUpdate - should the new properties be merged with existing properties (true) or completely replace them (false)?
      noteProperties - new properties for the note
      effectiveTime - effective time
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • removeNote

      public void removeNote(String userId, String noteGUID, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Remove the metadata element representing a note.
      Parameters:
      userId - calling user
      noteGUID - unique identifier of the metadata element to remove
      effectiveTime - effective time
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • findNotes

      public List<NoteElement> findNotes(String userId, String searchString, TemplateFilter templateFilter, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) 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.
      Parameters:
      userId - calling user
      searchString - string to find in the properties
      templateFilter - should templates be returned?
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of matching metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • getNotesForNoteLog

      public List<NoteElement> getNotesForNoteLog(String userId, String noteLogGUID, List<ElementStatus> limitResultsByStatus, Date asOfTime, SequencingOrder sequencingOrder, String sequencingProperty, int startFrom, int pageSize, boolean forLineage, boolean forDuplicateProcessing, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the list of notes associated with a note log.
      Parameters:
      userId - calling user
      noteLogGUID - unique identifier of the note log of interest
      limitResultsByStatus - control the status of the elements to retrieve - default is everything but Deleted
      asOfTime - repository time to use
      sequencingOrder - order to retrieve results
      sequencingProperty - property to use for sequencing order
      startFrom - paging start point
      pageSize - maximum results that can be returned
      forLineage - the query is to support lineage retrieval
      forDuplicateProcessing - the query is for duplicate processing and so must not deduplicate
      effectiveTime - the time that the retrieved elements must be effective for (null for any time, new Date() for now)
      Returns:
      list of associated metadata elements
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)
    • getNoteByGUID

      public NoteElement getNoteByGUID(String userId, String noteGUID, Date effectiveTime) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException
      Retrieve the note metadata element with the supplied unique identifier.
      Parameters:
      userId - calling user
      noteGUID - unique identifier of the requested metadata element
      effectiveTime - effective time
      Returns:
      matching metadata element
      Throws:
      InvalidParameterException - one of the parameters is invalid
      UserNotAuthorizedException - the user is not authorized to issue this request
      PropertyServerException - there is a problem reported in the open metadata server(s)