Skip to content

Commit 898bccd

Browse files
author
quilicicf
committed
📐 Preserve order in maps accross the OAS model
1 parent d489adb commit 898bccd

33 files changed

+65
-61
lines changed

modules/swagger-jaxrs2/src/test/java/io/swagger/v3/jaxrs2/annotations/examples/ExamplesTest.java

+6-10
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package io.swagger.v3.jaxrs2.annotations.examples;
22

3-
import io.swagger.v3.jaxrs2.Reader;
43
import io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest;
5-
import io.swagger.v3.jaxrs2.matchers.SerializationMatchers;
64
import io.swagger.v3.jaxrs2.resources.model.User;
75
import io.swagger.v3.oas.annotations.Operation;
86
import io.swagger.v3.oas.annotations.Parameter;
@@ -13,7 +11,6 @@
1311
import io.swagger.v3.oas.annotations.media.Schema;
1412
import io.swagger.v3.oas.annotations.parameters.RequestBody;
1513
import io.swagger.v3.oas.annotations.responses.ApiResponse;
16-
import io.swagger.v3.oas.models.OpenAPI;
1714
import org.testng.annotations.Test;
1815

1916
import javax.ws.rs.Consumes;
@@ -24,7 +21,6 @@
2421

2522
public class ExamplesTest extends AbstractAnnotationTest {
2623

27-
2824
@Test
2925
public void testRequestBodyContentExample() {
3026
compareToYamlFile(ExamplesTest.RequestBodyContentExample.class, "examples/");
@@ -411,6 +407,11 @@ public void testFullExample() {
411407
" externalValue: Subscription Response value 1\n" +
412408
"components:\n" +
413409
" schemas:\n" +
410+
" SubscriptionResponse:\n" +
411+
" type: object\n" +
412+
" properties:\n" +
413+
" subscriptionId:\n" +
414+
" type: string\n" +
414415
" User:\n" +
415416
" type: object\n" +
416417
" properties:\n" +
@@ -434,12 +435,7 @@ public void testFullExample() {
434435
" description: User Status\n" +
435436
" format: int32\n" +
436437
" xml:\n" +
437-
" name: User\n" +
438-
" SubscriptionResponse:\n" +
439-
" type: object\n" +
440-
" properties:\n" +
441-
" subscriptionId:\n" +
442-
" type: string";
438+
" name: User";
443439
assertEquals(extractedYAML, expectedYAML);
444440
}
445441

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/Components.java

+11-10
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import io.swagger.v3.oas.models.security.SecurityScheme;
2828

2929
import java.util.HashMap;
30+
import java.util.LinkedHashMap;
3031
import java.util.Map;
3132
import java.util.Objects;
3233

@@ -69,7 +70,7 @@ public Components schemas(Map<String, Schema> schemas) {
6970

7071
public Components addSchemas(String key, Schema schemasItem) {
7172
if (this.schemas == null) {
72-
this.schemas = new HashMap<String, Schema>();
73+
this.schemas = new LinkedHashMap<>();
7374
}
7475
this.schemas.put(key, schemasItem);
7576
return this;
@@ -96,7 +97,7 @@ public Components responses(Map<String, ApiResponse> responses) {
9697

9798
public Components addResponses(String key, ApiResponse responsesItem) {
9899
if (this.responses == null) {
99-
this.responses = new HashMap<String, ApiResponse>();
100+
this.responses = new LinkedHashMap<>();
100101
}
101102
this.responses.put(key, responsesItem);
102103
return this;
@@ -123,7 +124,7 @@ public Components parameters(Map<String, Parameter> parameters) {
123124

124125
public Components addParameters(String key, Parameter parametersItem) {
125126
if (this.parameters == null) {
126-
this.parameters = new HashMap<String, Parameter>();
127+
this.parameters = new LinkedHashMap<>();
127128
}
128129
this.parameters.put(key, parametersItem);
129130
return this;
@@ -150,7 +151,7 @@ public Components examples(Map<String, Example> examples) {
150151

151152
public Components addExamples(String key, Example examplesItem) {
152153
if (this.examples == null) {
153-
this.examples = new HashMap<String, Example>();
154+
this.examples = new LinkedHashMap<>();
154155
}
155156
this.examples.put(key, examplesItem);
156157
return this;
@@ -177,7 +178,7 @@ public Components requestBodies(Map<String, RequestBody> requestBodies) {
177178

178179
public Components addRequestBodies(String key, RequestBody requestBodiesItem) {
179180
if (this.requestBodies == null) {
180-
this.requestBodies = new HashMap<String, RequestBody>();
181+
this.requestBodies = new LinkedHashMap<>();
181182
}
182183
this.requestBodies.put(key, requestBodiesItem);
183184
return this;
@@ -204,7 +205,7 @@ public Components headers(Map<String, Header> headers) {
204205

205206
public Components addHeaders(String key, Header headersItem) {
206207
if (this.headers == null) {
207-
this.headers = new HashMap<String, Header>();
208+
this.headers = new LinkedHashMap<>();
208209
}
209210
this.headers.put(key, headersItem);
210211
return this;
@@ -231,7 +232,7 @@ public Components securitySchemes(Map<String, SecurityScheme> securitySchemes) {
231232

232233
public Components addSecuritySchemes(String key, SecurityScheme securitySchemesItem) {
233234
if (this.securitySchemes == null) {
234-
this.securitySchemes = new HashMap<String, SecurityScheme>();
235+
this.securitySchemes = new LinkedHashMap<>();
235236
}
236237
this.securitySchemes.put(key, securitySchemesItem);
237238
return this;
@@ -258,7 +259,7 @@ public Components links(Map<String, Link> links) {
258259

259260
public Components addLinks(String key, Link linksItem) {
260261
if (this.links == null) {
261-
this.links = new HashMap<String, Link>();
262+
this.links = new LinkedHashMap<>();
262263
}
263264
this.links.put(key, linksItem);
264265
return this;
@@ -285,7 +286,7 @@ public Components callbacks(Map<String, Callback> callbacks) {
285286

286287
public Components addCallbacks(String key, Callback callbacksItem) {
287288
if (this.callbacks == null) {
288-
this.callbacks = new HashMap<String, Callback>();
289+
this.callbacks = new LinkedHashMap<>();
289290
}
290291
this.callbacks.put(key, callbacksItem);
291292
return this;
@@ -326,7 +327,7 @@ public void addExtension(String name, Object value) {
326327
return;
327328
}
328329
if (this.extensions == null) {
329-
this.extensions = new java.util.HashMap<>();
330+
this.extensions = new java.util.LinkedHashMap<>();
330331
}
331332
this.extensions.put(name, value);
332333
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/ExternalDocumentation.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public void addExtension(String name, Object value) {
9595
return;
9696
}
9797
if (this.extensions == null) {
98-
this.extensions = new java.util.HashMap<>();
98+
this.extensions = new java.util.LinkedHashMap<>();
9999
}
100100
this.extensions.put(name, value);
101101
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/OpenAPI.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ public void addExtension(String name, Object value) {
283283
return;
284284
}
285285
if (this.extensions == null) {
286-
this.extensions = new java.util.HashMap<>();
286+
this.extensions = new java.util.LinkedHashMap<>();
287287
}
288288
this.extensions.put(name, value);
289289
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/Operation.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ public void addExtension(String name, Object value) {
347347
return;
348348
}
349349
if (this.extensions == null) {
350-
this.extensions = new java.util.HashMap<>();
350+
this.extensions = new java.util.LinkedHashMap<>();
351351
}
352352
this.extensions.put(name, value);
353353
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/PathItem.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,7 @@ public void addExtension(String name, Object value) {
401401
return;
402402
}
403403
if (this.extensions == null) {
404-
this.extensions = new java.util.HashMap<>();
404+
this.extensions = new java.util.LinkedHashMap<>();
405405
}
406406
this.extensions.put(name, value);
407407
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/Paths.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public void addExtension(String name, Object value) {
6363
return;
6464
}
6565
if (this.extensions == null) {
66-
this.extensions = new java.util.HashMap<>();
66+
this.extensions = new java.util.LinkedHashMap<>();
6767
}
6868
this.extensions.put(name, value);
6969
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/callbacks/Callback.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public void addExtension(String name, Object value) {
9595
return;
9696
}
9797
if (this.extensions == null) {
98-
this.extensions = new java.util.HashMap<>();
98+
this.extensions = new java.util.LinkedHashMap<>();
9999
}
100100
this.extensions.put(name, value);
101101
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/examples/Example.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ public void addExtension(String name, Object value) {
129129
return;
130130
}
131131
if (this.extensions == null) {
132-
this.extensions = new java.util.HashMap<>();
132+
this.extensions = new java.util.LinkedHashMap<>();
133133
}
134134
this.extensions.put(name, value);
135135
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/headers/Header.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import io.swagger.v3.oas.models.media.Schema;
2222

2323
import java.util.HashMap;
24+
import java.util.LinkedHashMap;
2425
import java.util.Map;
2526
import java.util.Objects;
2627

@@ -197,7 +198,7 @@ public Header examples(Map<String, Example> examples) {
197198

198199
public Header addExample(String key, Example examplesItem) {
199200
if (this.examples == null) {
200-
this.examples = new HashMap<String, Example>();
201+
this.examples = new LinkedHashMap<>();
201202
}
202203
this.examples.put(key, examplesItem);
203204
return this;
@@ -277,7 +278,7 @@ public void addExtension(String name, Object value) {
277278
return;
278279
}
279280
if (this.extensions == null) {
280-
this.extensions = new java.util.HashMap<>();
281+
this.extensions = new java.util.LinkedHashMap<>();
281282
}
282283
this.extensions.put(name, value);
283284
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/info/Contact.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public void addExtension(String name, Object value) {
116116
return;
117117
}
118118
if (this.extensions == null) {
119-
this.extensions = new java.util.HashMap<>();
119+
this.extensions = new java.util.LinkedHashMap<>();
120120
}
121121
this.extensions.put(name, value);
122122
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/info/Info.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ public void addExtension(String name, Object value) {
177177
return;
178178
}
179179
if (this.extensions == null) {
180-
this.extensions = new java.util.HashMap<>();
180+
this.extensions = new java.util.LinkedHashMap<>();
181181
}
182182
this.extensions.put(name, value);
183183
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/info/License.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public void addExtension(String name, Object value) {
9595
return;
9696
}
9797
if (this.extensions == null) {
98-
this.extensions = new java.util.HashMap<>();
98+
this.extensions = new java.util.LinkedHashMap<>();
9999
}
100100
this.extensions.put(name, value);
101101
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/links/Link.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import io.swagger.v3.oas.models.servers.Server;
2222

2323
import java.util.HashMap;
24+
import java.util.LinkedHashMap;
2425
import java.util.Map;
2526

2627
/**
@@ -126,7 +127,7 @@ public void setParameters(Map<String, String> parameters) {
126127

127128
public Link parameters(String name, String parameter) {
128129
if (this.parameters == null) {
129-
this.parameters = new HashMap<>();
130+
this.parameters = new LinkedHashMap<>();
130131
}
131132
this.parameters.put(name, parameter);
132133

@@ -154,7 +155,7 @@ public Link headers(Map<String, Header> headers) {
154155

155156
public Link addHeaderObject(String name, Header header) {
156157
if (this.headers == null) {
157-
headers = new HashMap<>();
158+
headers = new LinkedHashMap<>();
158159
}
159160
headers.put(name, header);
160161
return this;
@@ -257,7 +258,7 @@ public void addExtension(String name, Object value) {
257258
return;
258259
}
259260
if (this.extensions == null) {
260-
this.extensions = new java.util.HashMap<>();
261+
this.extensions = new java.util.LinkedHashMap<>();
261262
}
262263
this.extensions.put(name, value);
263264
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/links/LinkParameter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public void addExtension(String name, Object value) {
7272
return;
7373
}
7474
if (this.extensions == null) {
75-
this.extensions = new java.util.HashMap<>();
75+
this.extensions = new java.util.LinkedHashMap<>();
7676
}
7777
this.extensions.put(name, value);
7878
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/media/Discriminator.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.swagger.v3.oas.models.media;
22

33
import java.util.HashMap;
4+
import java.util.LinkedHashMap;
45
import java.util.Map;
56

67
public class Discriminator {
@@ -22,7 +23,7 @@ public void setPropertyName(String propertyName) {
2223

2324
public Discriminator mapping(String name, String value) {
2425
if (this.mapping == null) {
25-
this.mapping = new HashMap<>();
26+
this.mapping = new LinkedHashMap<>();
2627
}
2728
this.mapping.put(name, value);
2829
return this;

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/media/Encoding.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ public void addExtension(String name, Object value) {
130130
return;
131131
}
132132
if (this.extensions == null) {
133-
this.extensions = new java.util.HashMap<>();
133+
this.extensions = new java.util.LinkedHashMap<>();
134134
}
135135
this.extensions.put(name, value);
136136
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/media/EncodingProperty.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.swagger.v3.oas.models.headers.Header;
2020

2121
import java.util.HashMap;
22+
import java.util.LinkedHashMap;
2223
import java.util.Map;
2324
import java.util.Objects;
2425

@@ -101,7 +102,7 @@ public EncodingProperty headers(Map<String, Header> headers) {
101102

102103
public EncodingProperty addHeaderObject(String name, Header header) {
103104
if (this.headers == null) {
104-
headers = new HashMap<>();
105+
headers = new LinkedHashMap<>();
105106
}
106107
headers.put(name, header);
107108
return this;
@@ -195,7 +196,7 @@ public void addExtension(String name, Object value) {
195196
return;
196197
}
197198
if (this.extensions == null) {
198-
this.extensions = new java.util.HashMap<>();
199+
this.extensions = new java.util.LinkedHashMap<>();
199200
}
200201
this.extensions.put(name, value);
201202
}

modules/swagger-models/src/main/java/io/swagger/v3/oas/models/media/MediaType.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.swagger.v3.oas.models.examples.Example;
2020

2121
import java.util.HashMap;
22+
import java.util.LinkedHashMap;
2223
import java.util.Map;
2324
import java.util.Objects;
2425

@@ -75,7 +76,7 @@ public MediaType examples(Map<String, Example> examples) {
7576

7677
public MediaType addExamples(String key, Example examplesItem) {
7778
if (this.examples == null) {
78-
this.examples = new HashMap<String, Example>();
79+
this.examples = new LinkedHashMap<>();
7980
}
8081
this.examples.put(key, examplesItem);
8182
return this;
@@ -121,7 +122,7 @@ public MediaType encoding(Map<String, Encoding> encoding) {
121122

122123
public MediaType addEncoding(String key, Encoding encodingItem) {
123124
if (this.encoding == null) {
124-
this.encoding = new HashMap<String, Encoding>();
125+
this.encoding = new LinkedHashMap<>();
125126
}
126127
this.encoding.put(key, encodingItem);
127128
return this;
@@ -157,7 +158,7 @@ public void addExtension(String name, Object value) {
157158
return;
158159
}
159160
if (this.extensions == null) {
160-
this.extensions = new java.util.HashMap<>();
161+
this.extensions = new java.util.LinkedHashMap<>();
161162
}
162163
this.extensions.put(name, value);
163164
}

0 commit comments

Comments
 (0)