Skip to content

Commit 8df5bfd

Browse files
committed
BE: #1332 fixed schema name sorting
1 parent e332e74 commit 8df5bfd

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

api/src/main/java/io/kafbat/ui/controller/SchemasController.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -245,11 +245,15 @@ public Mono<ResponseEntity<SchemaSubjectsResponseDTO>> getSchemas(String cluster
245245

246246
List<String> subjectsToRetrieve;
247247
boolean paginate = true;
248+
248249
var schemaComparator = Optional.ofNullable(orderBy).map(this::getComparatorForSchema);
249-
final Optional<Comparator<SubjectWithCompatibilityLevel>> comparator =
250-
sortOrder == null || !sortOrder.equals(SortOrderDTO.DESC)
251-
? schemaComparator : schemaComparator.map(Comparator::reversed);
250+
var comparator = sortOrder == null || !sortOrder.equals(SortOrderDTO.DESC)
251+
? schemaComparator : schemaComparator.map(Comparator::reversed);
252+
252253
if (orderBy == null || SchemaColumnsToSortDTO.SUBJECT.equals(orderBy)) {
254+
if (orderBy != null) {
255+
filteredSubjects.sort(Comparator.nullsFirst(Comparator.naturalOrder()));
256+
}
253257
if (SortOrderDTO.DESC.equals(sortOrder)) {
254258
filteredSubjects.sort(Comparator.nullsFirst(Comparator.reverseOrder()));
255259
}

api/src/test/java/io/kafbat/ui/service/SchemaRegistryPaginationTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ void shouldListFirst25andThen10Schemas() {
7979
.toList()
8080
);
8181
var schemasFirst25 = controller.getSchemas(LOCAL_KAFKA_CLUSTER_NAME,
82-
null, null, null, null, null, null, null).block();
82+
null, null, null, SchemaColumnsToSortDTO.SUBJECT, null, null, null).block();
8383
assertThat(schemasFirst25).isNotNull();
8484
assertThat(schemasFirst25.getBody()).isNotNull();
8585
assertThat(schemasFirst25.getBody().getPageCount()).isEqualTo(4);
@@ -88,7 +88,7 @@ void shouldListFirst25andThen10Schemas() {
8888
.isSortedAccordingTo(Comparator.comparing(SchemaSubjectDTO::getSubject));
8989

9090
var schemasFirst10 = controller.getSchemas(LOCAL_KAFKA_CLUSTER_NAME,
91-
null, 10, null, null, null, null, null).block();
91+
null, 10, null, SchemaColumnsToSortDTO.SUBJECT, null, null, null).block();
9292

9393
assertThat(schemasFirst10).isNotNull();
9494
assertThat(schemasFirst10.getBody()).isNotNull();
@@ -123,7 +123,7 @@ void shouldCorrectlyHandleNonPositivePageNumberAndPageSize() {
123123
.toList()
124124
);
125125
var schemas = controller.getSchemas(LOCAL_KAFKA_CLUSTER_NAME,
126-
0, -1, null, null, null, null, null).block();
126+
0, -1, null, SchemaColumnsToSortDTO.SUBJECT, null, null, null).block();
127127

128128
assertThat(schemas).isNotNull();
129129
assertThat(schemas.getBody()).isNotNull();
@@ -142,7 +142,7 @@ void shouldCalculateCorrectPageCountForNonDivisiblePageSize() {
142142
);
143143

144144
var schemas = controller.getSchemas(LOCAL_KAFKA_CLUSTER_NAME,
145-
4, 33, null, null, null, null, null).block();
145+
4, 33, null, SchemaColumnsToSortDTO.SUBJECT, null, null, null).block();
146146

147147
assertThat(schemas).isNotNull();
148148
assertThat(schemas.getBody()).isNotNull();

0 commit comments

Comments
 (0)