diff --git a/api/src/main/java/io/kafbat/ui/controller/ConsumerGroupsController.java b/api/src/main/java/io/kafbat/ui/controller/ConsumerGroupsController.java index 0b3a7d69a..9e954575d 100644 --- a/api/src/main/java/io/kafbat/ui/controller/ConsumerGroupsController.java +++ b/api/src/main/java/io/kafbat/ui/controller/ConsumerGroupsController.java @@ -143,6 +143,7 @@ public Mono> getConsumerGroupsPage Optional.ofNullable(page).filter(i -> i > 0).orElse(1), Optional.ofNullable(perPage).filter(i -> i > 0).orElse(defaultConsumerGroupsPageSize), search, + fts, Optional.ofNullable(orderBy).orElse(ConsumerGroupOrderingDTO.NAME), Optional.ofNullable(sortOrderDto).orElse(SortOrderDTO.ASC) ) diff --git a/api/src/main/java/io/kafbat/ui/service/ConsumerGroupService.java b/api/src/main/java/io/kafbat/ui/service/ConsumerGroupService.java index dfee842e2..ce8f6a09c 100644 --- a/api/src/main/java/io/kafbat/ui/service/ConsumerGroupService.java +++ b/api/src/main/java/io/kafbat/ui/service/ConsumerGroupService.java @@ -152,11 +152,12 @@ public Mono getConsumerGroupsPage( int pageNum, int perPage, @Nullable String search, + Boolean fts, ConsumerGroupOrderingDTO orderBy, SortOrderDTO sortOrderDto) { return adminClientService.get(cluster).flatMap(ac -> ac.listConsumerGroups() - .map(listing -> filterGroups(listing, search) + .map(listing -> filterGroups(listing, search, fts) ) .flatMapIterable(lst -> lst) .filterWhen(cg -> accessControlService.isConsumerGroupAccessible(cg.groupId(), cluster.getName())) @@ -169,9 +170,11 @@ public Mono getConsumerGroupsPage( (allGroups.size() / perPage) + (allGroups.size() % perPage == 0 ? 0 : 1)))))); } - private Collection filterGroups(Collection groups, String search) { - ClustersProperties.ClusterFtsProperties fts = clustersProperties.getFts(); - ConsumerGroupFilter filter = new ConsumerGroupFilter(groups, fts.isEnabled(), fts.getConsumers()); + private Collection filterGroups(Collection groups, String search, + Boolean useFts) { + ClustersProperties.ClusterFtsProperties ftsProperties = clustersProperties.getFts(); + boolean fts = ftsProperties.use(useFts); + ConsumerGroupFilter filter = new ConsumerGroupFilter(groups, fts, ftsProperties.getConsumers()); return filter.find(search); }