Search in sources :

Example 1 with Broker

use of io.confluent.kafkarest.entities.Broker in project kafka-rest by confluentinc.

the class ListAllBrokersConfigsAction method listBrokersConfigs.

@GET
@Produces(MediaType.APPLICATION_JSON)
@PerformanceMetric("v3.brokers.configs.list")
@ResourceName("api.v3.brokers-configs.list")
public void listBrokersConfigs(@Suspended AsyncResponse asyncResponse, @PathParam("clusterId") String clusterId) {
    BrokerConfigManager resolvedBrokerConfigManager = brokerConfigManager.get();
    CompletableFuture<ListBrokerConfigsResponse> response = brokerManager.get().listBrokers(clusterId).thenCompose(brokers -> resolvedBrokerConfigManager.listAllBrokerConfigs(clusterId, brokers.stream().map(Broker::getBrokerId).collect(Collectors.toList())).thenApply(configs -> ListBrokerConfigsResponse.create(BrokerConfigDataList.builder().setMetadata(ResourceCollection.Metadata.builder().setSelf(urlFactory.create("v3", "clusters", clusterId, "brokers", "-", "configs")).build()).setData(configs.values().stream().flatMap(brokerConfigs -> brokerConfigs.stream().sorted(Comparator.comparing(BrokerConfig::getBrokerId))).map(brokerConfig -> BrokerConfigsResource.toBrokerConfigData(brokerConfig, crnFactory, urlFactory)).collect(Collectors.toList())).build())));
    AsyncResponses.asyncResume(asyncResponse, response);
}
Also used : PathParam(javax.ws.rs.PathParam) Provider(javax.inject.Provider) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET) Path(javax.ws.rs.Path) CrnFactory(io.confluent.kafkarest.response.CrnFactory) CompletableFuture(java.util.concurrent.CompletableFuture) PerformanceMetric(io.confluent.rest.annotations.PerformanceMetric) Inject(javax.inject.Inject) ResourceCollection(io.confluent.kafkarest.entities.v3.ResourceCollection) UrlFactory(io.confluent.kafkarest.response.UrlFactory) MediaType(javax.ws.rs.core.MediaType) Objects.requireNonNull(java.util.Objects.requireNonNull) BrokerConfig(io.confluent.kafkarest.entities.BrokerConfig) Broker(io.confluent.kafkarest.entities.Broker) AsyncResponses(io.confluent.kafkarest.resources.AsyncResponses) AsyncResponse(javax.ws.rs.container.AsyncResponse) ResourceName(io.confluent.kafkarest.extension.ResourceAccesslistFeature.ResourceName) ListBrokerConfigsResponse(io.confluent.kafkarest.entities.v3.ListBrokerConfigsResponse) Collectors(java.util.stream.Collectors) Suspended(javax.ws.rs.container.Suspended) BrokerConfigManager(io.confluent.kafkarest.controllers.BrokerConfigManager) BrokerManager(io.confluent.kafkarest.controllers.BrokerManager) Comparator(java.util.Comparator) BrokerConfigDataList(io.confluent.kafkarest.entities.v3.BrokerConfigDataList) Broker(io.confluent.kafkarest.entities.Broker) ListBrokerConfigsResponse(io.confluent.kafkarest.entities.v3.ListBrokerConfigsResponse) BrokerConfigManager(io.confluent.kafkarest.controllers.BrokerConfigManager) PerformanceMetric(io.confluent.rest.annotations.PerformanceMetric) Produces(javax.ws.rs.Produces) ResourceName(io.confluent.kafkarest.extension.ResourceAccesslistFeature.ResourceName) GET(javax.ws.rs.GET)

Aggregations

BrokerConfigManager (io.confluent.kafkarest.controllers.BrokerConfigManager)1 BrokerManager (io.confluent.kafkarest.controllers.BrokerManager)1 Broker (io.confluent.kafkarest.entities.Broker)1 BrokerConfig (io.confluent.kafkarest.entities.BrokerConfig)1 BrokerConfigDataList (io.confluent.kafkarest.entities.v3.BrokerConfigDataList)1 ListBrokerConfigsResponse (io.confluent.kafkarest.entities.v3.ListBrokerConfigsResponse)1 ResourceCollection (io.confluent.kafkarest.entities.v3.ResourceCollection)1 ResourceName (io.confluent.kafkarest.extension.ResourceAccesslistFeature.ResourceName)1 AsyncResponses (io.confluent.kafkarest.resources.AsyncResponses)1 CrnFactory (io.confluent.kafkarest.response.CrnFactory)1 UrlFactory (io.confluent.kafkarest.response.UrlFactory)1 PerformanceMetric (io.confluent.rest.annotations.PerformanceMetric)1 Comparator (java.util.Comparator)1 Objects.requireNonNull (java.util.Objects.requireNonNull)1 CompletableFuture (java.util.concurrent.CompletableFuture)1 Collectors (java.util.stream.Collectors)1 Inject (javax.inject.Inject)1 Provider (javax.inject.Provider)1 GET (javax.ws.rs.GET)1 Path (javax.ws.rs.Path)1