20
20
21
21
import java .net .URL ;
22
22
import java .util .ArrayList ;
23
+ import java .util .Comparator ;
23
24
import java .util .List ;
24
25
import java .util .Map ;
25
26
import java .util .TreeMap ;
@@ -152,6 +153,8 @@ public class SwaggerUiConfigProperties {
152
153
153
154
private String url ;
154
155
156
+ private Direction groupsOrder = Direction .ASC ;
157
+
155
158
public static void addGroup (String group ) {
156
159
SwaggerUrl swaggerUrl = new SwaggerUrl (group );
157
160
swaggerUrls .add (swaggerUrl );
@@ -372,7 +375,13 @@ public boolean isValidUrl(String url) {
372
375
}
373
376
374
377
private void put (String urls , List <SwaggerUrl > swaggerUrls , Map <String , Object > params ) {
375
- swaggerUrls = swaggerUrls .stream ().filter (elt -> StringUtils .isNotEmpty (elt .getUrl ())).collect (Collectors .toList ());
378
+ Comparator <SwaggerUrl > swaggerUrlComparator ;
379
+ if (groupsOrder .isAscending ())
380
+ swaggerUrlComparator = (h1 , h2 ) -> h1 .getName ().compareTo (h2 .getName ());
381
+ else
382
+ swaggerUrlComparator = (h1 , h2 ) -> h2 .getName ().compareTo (h1 .getName ());
383
+
384
+ swaggerUrls = swaggerUrls .stream ().sorted (swaggerUrlComparator ).filter (elt -> StringUtils .isNotEmpty (elt .getUrl ())).collect (Collectors .toList ());
376
385
if (!CollectionUtils .isEmpty (swaggerUrls )) {
377
386
params .put (urls , swaggerUrls );
378
387
}
@@ -408,4 +417,25 @@ public void setName(String name) {
408
417
this .name = name ;
409
418
}
410
419
}
420
+
421
+ static enum Direction {
422
+ ASC ,
423
+ DESC ;
424
+
425
+ public boolean isAscending () {
426
+ return this .equals (ASC );
427
+ }
428
+
429
+ public boolean isDescending () {
430
+ return this .equals (DESC );
431
+ }
432
+ }
433
+
434
+ public Direction getGroupsOrder () {
435
+ return groupsOrder ;
436
+ }
437
+
438
+ public void setGroupsOrder (Direction groupsOrder ) {
439
+ this .groupsOrder = groupsOrder ;
440
+ }
411
441
}
0 commit comments