case "leader": if (member.getValue() instanceof JsonObject) { obj.setLeader(new io.vertx.kafka.client.common.Node((JsonObject)member.getValue()));
@Override public KafkaConsumer<K, V> listTopics(Handler<AsyncResult<Map<String,List<PartitionInfo>>>> handler) { this.stream.listTopics(done -> { if (done.succeeded()) { // TODO: use Helper class and stream approach Map<String,List<PartitionInfo>> topics = new HashMap<>(); for (Map.Entry<String,List<org.apache.kafka.common.PartitionInfo>> topicEntry: done.result().entrySet()) { List<PartitionInfo> partitions = new ArrayList<>(); for (org.apache.kafka.common.PartitionInfo kafkaPartitionInfo: topicEntry.getValue()) { PartitionInfo partitionInfo = new PartitionInfo(); partitionInfo .setInSyncReplicas( Stream.of(kafkaPartitionInfo.inSyncReplicas()).map(Helper::from).collect(Collectors.toList())) .setLeader(Helper.from(kafkaPartitionInfo.leader())) .setPartition(kafkaPartitionInfo.partition()) .setReplicas( Stream.of(kafkaPartitionInfo.replicas()).map(Helper::from).collect(Collectors.toList())) .setTopic(kafkaPartitionInfo.topic()); partitions.add(partitionInfo); } topics.put(topicEntry.getKey(), partitions); } handler.handle(Future.succeededFuture(topics)); } else { handler.handle(Future.failedFuture(done.cause())); } }); return this; }
@Override public KafkaProducer<K, V> partitionsFor(String topic, Handler<AsyncResult<List<PartitionInfo>>> handler) { this.stream.partitionsFor(topic, done -> { if (done.succeeded()) { // TODO: use Helper class and stream approach List<PartitionInfo> partitions = new ArrayList<>(); for (org.apache.kafka.common.PartitionInfo kafkaPartitionInfo: done.result()) { PartitionInfo partitionInfo = new PartitionInfo(); partitionInfo .setInSyncReplicas( Stream.of(kafkaPartitionInfo.inSyncReplicas()).map(Helper::from).collect(Collectors.toList())) .setLeader(Helper.from(kafkaPartitionInfo.leader())) .setPartition(kafkaPartitionInfo.partition()) .setReplicas( Stream.of(kafkaPartitionInfo.replicas()).map(Helper::from).collect(Collectors.toList())) .setTopic(kafkaPartitionInfo.topic()); partitions.add(partitionInfo); } handler.handle(Future.succeededFuture(partitions)); } else { handler.handle(Future.failedFuture(done.cause())); } }); return this; }
@Override public KafkaConsumer<K, V> partitionsFor(String topic, Handler<AsyncResult<List<PartitionInfo>>> handler) { this.stream.partitionsFor(topic, done -> { if (done.succeeded()) { // TODO: use Helper class and stream approach List<PartitionInfo> partitions = new ArrayList<>(); for (org.apache.kafka.common.PartitionInfo kafkaPartitionInfo: done.result()) { PartitionInfo partitionInfo = new PartitionInfo(); partitionInfo .setInSyncReplicas( Stream.of(kafkaPartitionInfo.inSyncReplicas()).map(Helper::from).collect(Collectors.toList())) .setLeader(Helper.from(kafkaPartitionInfo.leader())) .setPartition(kafkaPartitionInfo.partition()) .setReplicas( Stream.of(kafkaPartitionInfo.replicas()).map(Helper::from).collect(Collectors.toList())) .setTopic(kafkaPartitionInfo.topic()); partitions.add(partitionInfo); } handler.handle(Future.succeededFuture(partitions)); } else { handler.handle(Future.failedFuture(done.cause())); } }); return this; }