/** * Get a snapshot of the cluster metadata from this response * @return the cluster snapshot */ public Cluster cluster() { Set<String> internalTopics = new HashSet<>(); List<PartitionInfo> partitions = new ArrayList<>(); for (TopicMetadata metadata : topicMetadata) { if (metadata.error == Errors.NONE) { if (metadata.isInternal) internalTopics.add(metadata.topic); for (PartitionMetadata partitionMetadata : metadata.partitionMetadata) { partitions.add(partitionMetaToInfo(metadata.topic, partitionMetadata)); } } } return new Cluster(this.clusterId, this.brokers, partitions, topicsByError(Errors.TOPIC_AUTHORIZATION_FAILED), topicsByError(Errors.INVALID_TOPIC_EXCEPTION), internalTopics, this.controller); }
partitionInfoConsumer.accept(MetadataResponse.partitionMetaToInfo(topic, partitionMetadata)); } else { partitionInfoConsumer.accept(MetadataResponse.partitionMetaToInfo(topic, partitionMetadata));