java.lang.Object
org.odpi.openmetadata.accessservices.assetconsumer.server.spring.AssetConsumerResource

@RestController @RequestMapping("/servers/{serverName}/open-metadata/access-services/asset-consumer/users/{userId}") public class AssetConsumerResource extends Object
The AssetConsumerResource provides the server-side implementation of the Asset Consumer Open Metadata Assess Service (OMAS). This interface provides connections to assets and APIs for adding feedback on the asset.
  • Constructor Details

    • AssetConsumerResource

      public AssetConsumerResource()
      Default constructor
  • Method Details

    • getOutTopicConnection

      @GetMapping(path="/topics/out-topic-connection/{callerId}") public ConnectionResponse getOutTopicConnection(@PathVariable String serverName, @PathVariable String userId, @PathVariable String callerId)
      Return the connection object for the Asset Consumer's OMAS's out topic.
      Parameters:
      serverName - name of the server to route the request to
      userId - identifier of calling user
      callerId - unique identifier of the caller
      Returns:
      connection object for the out topic or InvalidParameterException one of the parameters is null or invalid or UserNotAuthorizedException user not authorized to issue this request or PropertyServerException problem retrieving the discovery engine definition.
    • addCommentReply

      @PostMapping(path="/assets/{assetGUID}/comments/{commentGUID}/replies") public GUIDResponse addCommentReply(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @PathVariable String commentGUID, @RequestBody CommentRequestBody requestBody)
      Adds a reply to a comment.
      Parameters:
      serverName - name of the server instances for this request.
      userId - String - userId of user making request.
      assetGUID - String - unique id of asset that this chain of comments is linked.
      commentGUID - String - unique id for an existing comment. Used to add a reply to a comment.
      requestBody - containing type of comment enum and the text of the comment.
      Returns:
      assetGUID for new comment object or InvalidParameterException one of the parameters is null or invalid or PropertyServerException There is a problem adding the asset properties to the metadata repository or UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • addCommentToAsset

      @PostMapping(path="/assets/{assetGUID}/comments") public GUIDResponse addCommentToAsset(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @RequestBody CommentRequestBody requestBody)
      Creates a comment and attaches it to an asset.
      Parameters:
      serverName - name of the server instances for this request.
      userId - String - userId of user making request.
      assetGUID - String - unique id for the asset.
      requestBody - containing type of comment enum and the text of the comment.
      Returns:
      assetGUID for new comment object or InvalidParameterException one of the parameters is null or invalid or PropertyServerException There is a problem adding the asset properties to the metadata repository or UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • addLikeToAsset

      @PostMapping(path="/assets/{assetGUID}/likes") public VoidResponse addLikeToAsset(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @RequestBody FeedbackRequestBody requestBody)
      Creates a "like" object and attaches it to an asset.
      Parameters:
      serverName - name of the server instances for this request.
      userId - String - userId of user making request.
      assetGUID - String - unique id for the asset.
      requestBody - feedback request body.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid or PropertyServerException There is a problem adding the asset properties to the metadata repository or UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • addLogMessageToAsset

      @PostMapping(path="/assets/{assetGUID}/log-records") public VoidResponse addLogMessageToAsset(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @RequestBody LogRecordRequestBody requestBody)
      Creates an audit log record for the asset. This log record is stored in the local server's Audit Log.
      Parameters:
      serverName - name of the server instances for this request.
      userId - String - userId of user making request.
      assetGUID - String - unique id for the asset.
      requestBody - containing: connectorInstanceId (String - (optional) id of connector in use (if any)), connectionName (String - (optional) name of the connection (extracted from the connector)), connectorType (String - (optional) type of connector in use (if any)), contextId (String - (optional) function name, or processId of the activity that the caller is performing), message (log record content).
      Returns:
      void or InvalidParameterException - one of the parameters is null or invalid or PropertyServerException - there is a problem adding the log message to the audit log for this asset or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • addRatingToAsset

      @PostMapping(path="/assets/{assetGUID}/ratings") public VoidResponse addRatingToAsset(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @RequestBody RatingRequestBody requestBody)
      Adds a star rating and optional review text to the asset.
      Parameters:
      serverName - name of the server instances for this request.
      userId - String - userId of user making request.
      assetGUID - String - unique id for the asset.
      requestBody - containing the StarRating and user review of asset.
      Returns:
      assetGUID for new review object or InvalidParameterException one of the parameters is null or invalid or PropertyServerException There is a problem adding the asset properties to the metadata repository or UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • addTagToAsset

      @PostMapping(path="/assets/{assetGUID}/tags/{tagGUID}") public VoidResponse addTagToAsset(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @PathVariable String tagGUID, @RequestBody FeedbackRequestBody requestBody)
      Adds an informal tag (either private of public) to an asset.
      Parameters:
      serverName - name of the server instances for this request.
      userId - userId of user making request.
      assetGUID - unique id for the asset.
      tagGUID - unique id of the tag.
      requestBody - null request body needed for correct protocol exchange.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid or PropertyServerException There is a problem adding the asset properties to the metadata repository or UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • addTagToElement

      @PostMapping(path="/assets/elements/{elementGUID}/tags/{tagGUID}") public VoidResponse addTagToElement(@PathVariable String serverName, @PathVariable String userId, @PathVariable String elementGUID, @PathVariable String tagGUID, @RequestBody FeedbackRequestBody requestBody)
      Adds an informal tag (either private of public) to an element attached to an asset - such as schema element, glossary term, ...
      Parameters:
      serverName - name of the server instances for this request.
      userId - userId of user making request.
      elementGUID - unique id for the element.
      tagGUID - unique id of the tag.
      requestBody - null request body needed for correct protocol exchange.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid or PropertyServerException There is a problem adding the asset properties to the metadata repository or UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • createTag

      @PostMapping(path="/tags") public GUIDResponse createTag(@PathVariable String serverName, @PathVariable String userId, @RequestBody TagRequestBody requestBody)
      Creates a new informal tag and returns the unique identifier for it.
      Parameters:
      serverName - name of the server instances for this request.
      userId - userId of user making request.
      requestBody - public/private flag, name of the tag and (optional) description of the tag.
      Returns:
      new assetGUID or InvalidParameterException one of the parameters is null or invalid or PropertyServerException There is a problem adding the asset properties to the metadata repository or UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • deleteTag

      @PostMapping(path="/tags/{tagGUID}/delete") public VoidResponse deleteTag(@PathVariable String serverName, @PathVariable String userId, @PathVariable String tagGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Removes an informal tag from the repository. All the tagging relationships to this informal tag are lost. 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:
      serverName - name of the server instances for this request
      userId - String - userId of user making request.
      tagGUID - String - unique id for the tag.
      requestBody - null request body.
      Returns:
      void or InvalidParameterException - one of the parameters is null or invalid or PropertyServerException - there is a problem updating the asset properties in the metadata repository or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getAssetForConnectionName

      @GetMapping(path="/assets/by-connection-name/{connectionName}") public GUIDResponse getAssetForConnectionName(@PathVariable String serverName, @PathVariable String userId, @PathVariable String connectionName)
      Returns the unique identifier for the asset connected to the connection identified by the supplied name.
      Parameters:
      serverName - name of the server instances for this request.
      userId - the userId of the requesting user.
      connectionName - uniqueId for the connection.
      Returns:
      unique identifier of asset or InvalidParameterException one of the parameters is null or invalid or PropertyServerException there is a problem retrieving the connected asset properties from the property server or UnrecognizedConnectionGUIDException the supplied GUID is not recognized by the property server or NoConnectedAssetException there is no asset associated with this connection or UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • findAssets

      @PostMapping(path="/assets/by-search-string") public GUIDListResponse findAssets(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody SearchStringRequestBody requestBody)
      Return a list of assets with the requested search string in their name, qualified name or description.
      Parameters:
      serverName - name of the server instances for this request
      userId - calling user
      requestBody - string to search for in text
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      Returns:
      list of unique identifiers for assets that match the search string or InvalidParameterException the searchString is invalid or PropertyServerException there is a problem access in the property server or UserNotAuthorizedException the user does not have access to the properties
    • getAssetsByMeaning

      @GetMapping(path="/assets/by-meaning/{termGUID}") public GUIDListResponse getAssetsByMeaning(@PathVariable String serverName, @PathVariable String userId, @PathVariable String termGUID, @RequestParam int startFrom, @RequestParam int pageSize)
      Return the list of unique identifiers for assets that are linked to a specific (meaning) either directly or via fields in the schema.
      Parameters:
      serverName - name of the server instances for this request
      userId - the name of the calling user.
      termGUID - unique identifier of term.
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      Returns:
      asset guid list or InvalidParameterException the userId is null or invalid or PropertyServerException there is a problem retrieving information from the property server(s) or UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getAssetsByName

      @PostMapping(path="/assets/by-name") public GUIDListResponse getAssetsByName(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody NameRequestBody requestBody)
      Return a list of assets with the requested name either qualifiedName or name property. There are no wildcards supported in this request. The name must match exactly.
      Parameters:
      serverName - name of the server instances for this request
      userId - calling user
      requestBody - name to search for
      startFrom - starting element (used in paging through large result sets)
      pageSize - maximum number of results to return
      Returns:
      list of unique identifiers for matching assets or InvalidParameterException the name is invalid or PropertyServerException there is a problem access in the property server or UserNotAuthorizedException the user does not have access to the properties
    • getAssetsByTag

      @GetMapping(path="/assets/by-tag/{tagGUID}") public GUIDListResponse getAssetsByTag(@PathVariable String serverName, @PathVariable String userId, @PathVariable String tagGUID, @RequestParam int startFrom, @RequestParam int pageSize)
      Return the list of unique identifiers for assets that are linked to a specific tag either directly, or via one of its schema elements.
      Parameters:
      serverName - name of the server instances for this request
      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:
      asset guid list or InvalidParameterException the userId is null or invalid or PropertyServerException there is a problem retrieving information from the property server(s) or UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getMeaningByName

      @PostMapping(path="/meanings/by-name") public GlossaryTermListResponse getMeaningByName(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody NameRequestBody requestBody)
      Return the full definition (meaning) of the terms exactly matching the supplied name.
      Parameters:
      serverName - name of the server instances for this request.
      userId - the name of the calling user.
      requestBody - name of term.
      startFrom - index of the list to start from (0 for start).
      pageSize - maximum number of elements to return.
      Returns:
      list of meaning objects or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • findMeanings

      @PostMapping(path="/meanings/by-search-string") public GlossaryTermListResponse findMeanings(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody SearchStringRequestBody requestBody)
      Return the full definition (meaning) of the terms matching the supplied name. The search string is a regular expression (regEx).
      Parameters:
      serverName - name of the server instances for this request.
      userId - the name of the calling user.
      requestBody - name of term. 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:
      list of meaning objects or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getMeaning

      @GetMapping(path="/meanings/{termGUID}") public GlossaryTermResponse getMeaning(@PathVariable String serverName, @PathVariable String userId, @PathVariable String termGUID)
      Return the full definition (meaning) of a term using the unique identifier of the glossary term.
      Parameters:
      serverName - name of the server instances for this request.
      userId - userId of the user making the request.
      termGUID - unique identifier of the glossary term that contains the meaning.
      Returns:
      meaning object or InvalidParameterException the userId is null or invalid or PropertyServerException there is a problem retrieving information from the property server(s) or UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getTag

      @GetMapping(path="/tags/{tagGUID}") public TagResponse getTag(@PathVariable String serverName, @PathVariable String userId, @PathVariable String tagGUID)
      Return the informal tag for the supplied unique identifier (tagGUID).
      Parameters:
      serverName - name of the server instances for this request.
      userId - userId of the user making the request.
      tagGUID - unique identifier of the meaning.
      Returns:
      tag object or InvalidParameterException the userId is null or invalid or PropertyServerException there is a problem retrieving information from the property server(s) or UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getTagsByName

      @PostMapping(path="/tags/by-name") public TagsResponse getTagsByName(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody NameRequestBody requestBody)
      Return the tags exactly matching the supplied name.
      Parameters:
      serverName - name of the server instances for this request.
      userId - the name of the calling user.
      requestBody - name of tag.
      startFrom - index of the list to start from (0 for start).
      pageSize - maximum number of elements to return.
      Returns:
      list of tag objects or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • getMyTagsByName

      @PostMapping(path="/tags/private/by-name") public TagsResponse getMyTagsByName(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody NameRequestBody requestBody)
      Return the list of the calling user's private informal tags exactly matching the supplied name.
      Parameters:
      serverName - name of the server instances for this request.
      userId - the name of the calling user.
      requestBody - name of tag.
      startFrom - index of the list to start from (0 for start).
      pageSize - maximum number of elements to return.
      Returns:
      list of tag objects or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • findTags

      @PostMapping(path="/tags/by-search-string") public TagsResponse findTags(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody SearchStringRequestBody requestBody)
      Return the list of informal tags containing the supplied string in either the name or description. The search string is a regular expression (RegEx).
      Parameters:
      serverName - name of the server instances for this request.
      userId - the name of the calling user.
      requestBody - 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:
      list of tag objects or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • findMyTags

      @PostMapping(path="/tags/private/by-search-string") public TagsResponse findMyTags(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody SearchStringRequestBody requestBody)
      Return the list of the calling user's private tags containing the supplied string in either the name or description. The search string is a regular expression (RegEx).
      Parameters:
      serverName - name of the server instances for this request.
      userId - the name of the calling user.
      requestBody - 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:
      list of tag objects or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • removeCommentFromAsset

      @PostMapping(path="/assets/{assetGUID}/comments/{commentGUID}/delete") public VoidResponse removeCommentFromAsset(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @PathVariable String commentGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Removes a comment added to the asset by this user. This deletes the link to the comment, the comment itself and any comment replies attached to it.
      Parameters:
      serverName - name of the server instances for this request
      userId - String - userId of user making request.
      assetGUID - String - unique id for the asset object
      commentGUID - String - unique id for the comment object
      requestBody - containing type of comment enum and the text of the comment.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException There is a problem updating the asset properties in the metadata repository. UserNotAuthorizedException the user does not have permission to perform this request.
    • removeLikeFromAsset

      @PostMapping(path="/assets/{assetGUID}/likes/delete") public VoidResponse removeLikeFromAsset(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Removes a "Like" added to the asset by this user.
      Parameters:
      serverName - name of the server instances for this request.
      userId - String - userId of user making request.
      assetGUID - unique identifier for the asset where the like is attached.
      requestBody - containing type of comment enum and the text of the comment.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException There is a problem updating the asset properties in the metadata repository. UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • removeRatingFromAsset

      @PostMapping(path="/assets/{assetGUID}/ratings/delete") public VoidResponse removeRatingFromAsset(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Removes of a star rating/review that was added to the asset by this user.
      Parameters:
      serverName - name of the server instances for this request.
      userId - String - userId of user making request.
      assetGUID - unique identifier for the asset where the rating is attached.
      requestBody - containing type of comment enum and the text of the comment.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException There is a problem updating the asset properties in the metadata repository. UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • removeTagFromAsset

      @PostMapping(path="/assets/{assetGUID}/tags/{tagGUID}/delete") public VoidResponse removeTagFromAsset(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @PathVariable String tagGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Removes a link between a tag and an asset that was added by this user.
      Parameters:
      serverName - name of the server instances for this request.
      userId - String - userId of user making request.
      assetGUID - unique id for the asset.
      tagGUID - unique id of the tag.
      requestBody - null request body needed for correct protocol exchange.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException There is a problem updating the asset properties in the metadata repository. UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • removeTagFromElement

      @PostMapping(path="/assets/elements/{elementGUID}/tags/{tagGUID}/delete") public VoidResponse removeTagFromElement(@PathVariable String serverName, @PathVariable String userId, @PathVariable String elementGUID, @PathVariable String tagGUID, @RequestBody(required=false) NullRequestBody requestBody)
      Removes a tag from an element attached to an asset - such as schema element, connection, ... that was added by this user.
      Parameters:
      serverName - name of the server instances for this request.
      userId - String - userId of user making request.
      elementGUID - unique id for the element.
      tagGUID - unique id of the tag.
      requestBody - null request body needed for correct protocol exchange.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException There is a problem updating the asset properties in the metadata repository. UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • updateComment

      @PostMapping(path="assets/{assetGUID}/comments/{commentGUID}/update") public VoidResponse updateComment(@PathVariable String serverName, @PathVariable String userId, @PathVariable String assetGUID, @PathVariable String commentGUID, @RequestBody CommentRequestBody requestBody)
      Update an existing comment.
      Parameters:
      serverName - name of the server instances for this request.
      userId - userId of user making request.
      assetGUID - unique identifier for the asset that the comment is attached to (directly or indirectly).
      commentGUID - unique identifier for the comment to change.
      requestBody - containing type of comment enum and the text of the comment.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException There is a problem updating the asset properties in the metadata repository. UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • updateTagDescription

      @PostMapping(path="/tags/{tagGUID}/update") public VoidResponse updateTagDescription(@PathVariable String serverName, @PathVariable String userId, @PathVariable String tagGUID, @RequestBody TagUpdateRequestBody requestBody)
      Updates the description of an existing tag (either private or public).
      Parameters:
      serverName - name of the server instances for this request
      userId - userId of user making request.
      tagGUID - unique id for the tag.
      requestBody - contains the name of the tag and (optional) description of the tag.
      Returns:
      void or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.