Skip to content

Commit ab0a44d

Browse files
committed
GroupedOpenApi.builder addOpenApiCustomiser execution order is reversed. Fixes #1633
1 parent c78e5ff commit ab0a44d

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

springdoc-openapi-common/src/main/java/org/springdoc/core/GroupedOpenApi.java

+15-10
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import java.util.ArrayList;
2626
import java.util.Arrays;
2727
import java.util.Collection;
28-
import java.util.Collections;
2928
import java.util.List;
3029
import java.util.Objects;
3130

@@ -52,12 +51,12 @@ public class GroupedOpenApi {
5251
/**
5352
* The Open api customisers.
5453
*/
55-
private final List<OpenApiCustomiser> openApiCustomisers;
54+
private List<OpenApiCustomiser> openApiCustomisers;
5655

5756
/**
5857
* The Operation customizers.
5958
*/
60-
private final List<OperationCustomizer> operationCustomizers;
59+
private List<OperationCustomizer> operationCustomizers;
6160

6261
/**
6362
* The Paths to match.
@@ -97,7 +96,7 @@ public class GroupedOpenApi {
9796
/**
9897
* The method filters to use.
9998
*/
100-
private final List<OpenApiMethodFilter> openApiMethodFilters;
99+
private List<OpenApiMethodFilter> openApiMethodFilters;
101100

102101
/**
103102
* The Display name.
@@ -473,8 +472,10 @@ public GroupedOpenApi build() {
473472
* @return the grouped open api
474473
*/
475474
public GroupedOpenApi addAllOpenApiCustomizer(Collection<? extends OpenApiCustomiser> openApiCustomizerCollection) {
476-
this.openApiCustomisers.addAll(openApiCustomizerCollection);
477-
Collections.reverse(openApiCustomisers);
475+
List<OpenApiCustomiser> result = new ArrayList<>();
476+
result.addAll(openApiCustomizerCollection);
477+
result.addAll(openApiCustomisers);
478+
openApiCustomisers = result;
478479
return this;
479480
}
480481

@@ -485,8 +486,10 @@ public GroupedOpenApi addAllOpenApiCustomizer(Collection<? extends OpenApiCustom
485486
* @return the grouped open api
486487
*/
487488
public GroupedOpenApi addAllOperationCustomizer(Collection<? extends OperationCustomizer> operationCustomizerCollection) {
488-
this.operationCustomizers.addAll(operationCustomizerCollection);
489-
Collections.reverse(operationCustomizers);
489+
List<OperationCustomizer> result = new ArrayList<>();
490+
result.addAll(operationCustomizerCollection);
491+
result.addAll(operationCustomizers);
492+
operationCustomizers = result;
490493
return this;
491494
}
492495

@@ -497,8 +500,10 @@ public GroupedOpenApi addAllOperationCustomizer(Collection<? extends OperationCu
497500
* @return the grouped open api
498501
*/
499502
public GroupedOpenApi addAllOpenApiMethodFilter(Collection<? extends OpenApiMethodFilter> openApiMethodFilterCollection) {
500-
this.openApiMethodFilters.addAll(openApiMethodFilterCollection);
501-
Collections.reverse(openApiMethodFilters);
503+
List<OpenApiMethodFilter> result = new ArrayList<>();
504+
result.addAll(openApiMethodFilterCollection);
505+
result.addAll(openApiMethodFilters);
506+
openApiMethodFilters = result;
502507
return this;
503508
}
504509
}

0 commit comments

Comments
 (0)