Преглед на файлове

ISSUE-856 Fixed failing on null topic partitions (#857)

* ISSUE-856 Fixed failing on null topicpartitions

* Fixed checkstyle
German Osin преди 3 години
родител
ревизия
4660bb8759

+ 2 - 1
kafka-ui-api/src/main/java/com/provectus/kafka/ui/service/KafkaService.java

@@ -31,6 +31,7 @@ import com.provectus.kafka.ui.util.ClusterUtil;
 import com.provectus.kafka.ui.util.JmxClusterUtil;
 import com.provectus.kafka.ui.util.JmxMetricsName;
 import com.provectus.kafka.ui.util.JmxMetricsValueName;
+import com.provectus.kafka.ui.util.MapUtil;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -396,7 +397,7 @@ public class KafkaService {
         ac.getAdminClient()
             .listConsumerGroupOffsets(consumerGroupId)
             .partitionsToOffsetAndMetadata()
-    ).flatMap(ClusterUtil::toMono);
+    ).flatMap(ClusterUtil::toMono).map(MapUtil::removeNullValues);
   }
 
   public Map<TopicPartition, Long> topicPartitionsEndOffsets(

+ 21 - 0
kafka-ui-api/src/main/java/com/provectus/kafka/ui/util/MapUtil.java

@@ -0,0 +1,21 @@
+package com.provectus.kafka.ui.util;
+
+import java.util.Map;
+import java.util.stream.Collectors;
+
+public class MapUtil {
+
+  private MapUtil() {
+  }
+
+  public static <K, V> Map<K, V> removeNullValues(Map<K, V> map) {
+    return map.entrySet().stream()
+        .filter(e -> e.getValue() != null)
+        .collect(
+            Collectors.toMap(
+                Map.Entry::getKey,
+                Map.Entry::getValue
+            )
+        );
+  }
+}