java.lang.Object
org.odpi.openmetadata.accessservices.datamanager.server.spring.EventBrokerResource

@RestController @RequestMapping("/servers/{serverName}/open-metadata/access-services/data-manager/users/{userId}") public class EventBrokerResource extends Object
EventBrokerResource is the server-side implementation of the Data Manager OMAS's support for topics. It matches the EventBrokerClient.
  • Constructor Details

    • EventBrokerResource

      public EventBrokerResource()
      Default constructor
  • Method Details

    • createTopic

      @PostMapping(path="/topics") public GUIDResponse createTopic(@PathVariable String serverName, @PathVariable String userId, @RequestParam boolean eventBrokerIsHome, @RequestBody TopicRequestBody requestBody)
      Create a new metadata element to represent a topic.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      eventBrokerIsHome - should the topic be marked as owned by the event broker so others can not update?
      requestBody - properties to store
      Returns:
      unique identifier of the new metadata element or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • createTopicFromTemplate

      @PostMapping(path="/topics/from-template/{templateGUID}") public GUIDResponse createTopicFromTemplate(@PathVariable String serverName, @PathVariable String userId, @PathVariable String templateGUID, @RequestParam boolean eventBrokerIsHome, @RequestBody TemplateRequestBody requestBody)
      Create a new metadata element to represent a topic using an existing metadata element as a template.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      eventBrokerIsHome - should the topic be marked as owned by the event broker so others can not update?
      templateGUID - unique identifier of the metadata element to copy
      requestBody - properties that override the template
      Returns:
      unique identifier of the new metadata element or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • updateTopic

      @PostMapping(path="/topics/{topicGUID}") public VoidResponse updateTopic(@PathVariable String serverName, @PathVariable String userId, @PathVariable String topicGUID, @RequestParam boolean isMergeUpdate, @RequestBody TopicRequestBody requestBody)
      Update the metadata element representing a topic.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      topicGUID - unique identifier of the metadata element to update
      isMergeUpdate - are unspecified properties unchanged (true) or removed?
      requestBody - new properties for this element
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • publishTopic

      @PostMapping(path="/topics/{topicGUID}/publish") public VoidResponse publishTopic(@PathVariable String serverName, @PathVariable String userId, @PathVariable String topicGUID, @RequestBody(required=false) NullRequestBody nullRequestBody)
      Update the zones for the topic asset so that it becomes visible to consumers. (The zones are set to the list of zones in the publishedZones option configured for each instance of the Data Manager OMAS).
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      topicGUID - unique identifier of the metadata element to publish
      nullRequestBody - empty request body
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • withdrawTopic

      @PostMapping(path="/topics/{topicGUID}/withdraw") public VoidResponse withdrawTopic(@PathVariable String serverName, @PathVariable String userId, @PathVariable String topicGUID, @RequestBody(required=false) NullRequestBody nullRequestBody)
      Update the zones for the topic asset so that it is no longer visible to consumers. (The zones are set to the list of zones in the defaultZones option configured for each instance of the Data Manager OMAS. This is the setting when the topic is first created).
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      topicGUID - unique identifier of the metadata element to withdraw
      nullRequestBody - empty request body
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • removeTopic

      @PostMapping(path="/topics/{topicGUID}/{qualifiedName}/delete") public VoidResponse removeTopic(@PathVariable String serverName, @PathVariable String userId, @PathVariable String topicGUID, @PathVariable String qualifiedName, @RequestBody MetadataSourceRequestBody requestBody)
      Remove the metadata element representing a topic.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      topicGUID - unique identifier of the metadata element to remove
      qualifiedName - unique name of the metadata element to remove
      requestBody - external source identifiers
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • findTopics

      @PostMapping(path="/topics/by-search-string") public TopicsResponse findTopics(@PathVariable String serverName, @PathVariable String userId, @RequestBody SearchStringRequestBody requestBody, @RequestParam int startFrom, @RequestParam int pageSize)
      Retrieve the list of topic metadata elements that contain the search string. The search string is treated as a regular expression.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - string to find in the properties
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • getTopicsByName

      @PostMapping(path="/topics/by-name") public TopicsResponse getTopicsByName(@PathVariable String serverName, @PathVariable String userId, @RequestBody NameRequestBody requestBody, @RequestParam int startFrom, @RequestParam int pageSize)
      Retrieve the list of topic metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - name to search for
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • getTopicsForEventBroker

      @GetMapping(path="/event-brokers/{eventBrokerGUID}/{eventBrokerName}/topics") public TopicsResponse getTopicsForEventBroker(@PathVariable String serverName, @PathVariable String userId, @PathVariable String eventBrokerGUID, @PathVariable String eventBrokerName, @RequestParam int startFrom, @RequestParam int pageSize)
      Retrieve the list of topics created by this topic manager.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      eventBrokerGUID - unique identifier of software server capability representing the owning event broker
      eventBrokerName - unique name of software server capability representing the owning event broker
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • getTopicByGUID

      @GetMapping(path="/topics/{guid}") public TopicResponse getTopicByGUID(@PathVariable String serverName, @PathVariable String userId, @PathVariable String guid)
      Retrieve the topic metadata element with the supplied unique identifier.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      guid - unique identifier of the requested metadata element
      Returns:
      matching metadata element or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • createEventType

      @PostMapping(path="/topics/{topicGUID}/event-types") public GUIDResponse createEventType(@PathVariable String serverName, @PathVariable String userId, @PathVariable String topicGUID, @RequestBody EventTypeRequestBody requestBody)
      Create a new metadata element to represent a event type.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      topicGUID - unique identifier of the topic where the event type is located
      requestBody - properties about the event type
      Returns:
      unique identifier of the new event type or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • createEventTypeFromTemplate

      @PostMapping(path="/topics/{topicGUID}/event-types/from-template/{templateGUID}") public GUIDResponse createEventTypeFromTemplate(@PathVariable String serverName, @PathVariable String userId, @PathVariable String templateGUID, @PathVariable String topicGUID, @RequestBody TemplateRequestBody requestBody)
      Create a new metadata element to represent a event type using an existing metadata element as a template.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      templateGUID - unique identifier of the metadata element to copy
      topicGUID - unique identifier of the topic where the event type is located
      requestBody - properties that override the template
      Returns:
      unique identifier of the new event type or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • updateEventType

      @PostMapping(path="/topics/event-types/{eventTypeGUID}") public VoidResponse updateEventType(@PathVariable String serverName, @PathVariable String userId, @PathVariable String eventTypeGUID, @RequestParam boolean isMergeUpdate, @RequestBody EventTypeRequestBody requestBody)
      Update the metadata element representing a event type.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      eventTypeGUID - unique identifier of the metadata element to update
      isMergeUpdate - are unspecified properties unchanged (true) or removed?
      requestBody - new properties for the metadata element
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • removeEventType

      @PostMapping(path="/topics/event-types/{eventTypeGUID}/{qualifiedName}/delete") public VoidResponse removeEventType(@PathVariable String serverName, @PathVariable String userId, @PathVariable String eventTypeGUID, @PathVariable String qualifiedName, @RequestBody MetadataSourceRequestBody requestBody)
      Remove the metadata element representing a event type.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      eventTypeGUID - unique identifier of the metadata element to remove
      qualifiedName - unique name of the metadata element to remove
      requestBody - empty request body
      Returns:
      void or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • findEventTypes

      @PostMapping(path="/topics/event-types/by-search-string") public EventTypesResponse findEventTypes(@PathVariable String serverName, @PathVariable String userId, @RequestBody SearchStringRequestBody requestBody, @RequestParam int startFrom, @RequestParam int pageSize)
      Retrieve the list of event type metadata elements that contain the search string. The search string is treated as a regular expression.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - string to find in the properties
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • getEventTypesForEventSet

      @GetMapping(path="/event-sets/{eventSetGUID}/event-types") public EventTypesResponse getEventTypesForEventSet(@PathVariable String serverName, @PathVariable String userId, @PathVariable String eventSetGUID, @RequestParam int startFrom, @RequestParam int pageSize)
      Return the list of event types associated with a EventSet.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      eventSetGUID - unique identifier of the event set to query
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of metadata elements describing the schemas associated with the requested topic or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • getEventTypesForTopic

      @GetMapping(path="/topics/{topicGUID}/event-types") public EventTypesResponse getEventTypesForTopic(@PathVariable String serverName, @PathVariable String userId, @PathVariable String topicGUID, @RequestParam int startFrom, @RequestParam int pageSize)
      Return the list of schemas associated with a topic.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      topicGUID - unique identifier of the topic to query
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of metadata elements describing the schemas associated with the requested topic or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • getEventTypesByName

      @PostMapping(path="/topics/event-types/by-name") public EventTypesResponse getEventTypesByName(@PathVariable String serverName, @PathVariable String userId, @RequestBody NameRequestBody requestBody, @RequestParam int startFrom, @RequestParam int pageSize)
      Retrieve the list of event type metadata elements with a matching qualified or display name. There are no wildcards supported on this request.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      requestBody - name to search for
      startFrom - paging start point
      pageSize - maximum results that can be returned
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)
    • getEventTypeByGUID

      @GetMapping(path="/topics/event-types/{guid}") public EventTypeResponse getEventTypeByGUID(@PathVariable String serverName, @PathVariable String userId, @PathVariable String guid)
      Retrieve the event type metadata element with the supplied unique identifier.
      Parameters:
      serverName - name of the service to route the request to.
      userId - calling user
      guid - unique identifier of the requested metadata element
      Returns:
      requested metadata element or InvalidParameterException one of the parameters is invalid or UserNotAuthorizedException the user is not authorized to issue this request or PropertyServerException there is a problem reported in the open metadata server(s)