Skip to content

Commit 3e14c85

Browse files
committed
Use LinkedHashSet instead of HashSet to kept item in the same order
1 parent 4ebff86 commit 3e14c85

File tree

11 files changed

+32
-29
lines changed

11 files changed

+32
-29
lines changed

src/main/java/com/qdesrame/openapi/diff/compare/ApiResponseDiff.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import io.swagger.v3.oas.models.responses.ApiResponse;
77
import io.swagger.v3.oas.models.responses.ApiResponses;
88

9-
import java.util.HashMap;
9+
import java.util.LinkedHashMap;
1010
import java.util.List;
1111
import java.util.Map;
1212
import java.util.Optional;
@@ -29,7 +29,7 @@ public Optional<ChangedApiResponse> diff(ApiResponses left, ApiResponses right,
2929
changedApiResponse.setAddResponses(responseMapKeyDiff.getIncreased());
3030
changedApiResponse.setMissingResponses(responseMapKeyDiff.getMissing());
3131
List<String> sharedResponseCodes = responseMapKeyDiff.getSharedKey();
32-
Map<String, ChangedResponse> resps = new HashMap<>();
32+
Map<String, ChangedResponse> resps = new LinkedHashMap<>();
3333
for (String responseCode : sharedResponseCodes) {
3434
openApiDiff.getResponseDiff().diff(left.get(responseCode), right.get(responseCode), context)
3535
.ifPresent(changedResponse -> resps.put(responseCode, changedResponse));

src/main/java/com/qdesrame/openapi/diff/compare/ContentDiff.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public Optional<ChangedContent> diff(Content left, Content right, DiffContext co
3131
changedContent.setIncreased(mediaTypeDiff.getIncreased());
3232
changedContent.setMissing(mediaTypeDiff.getMissing());
3333
List<String> sharedMediaTypes = mediaTypeDiff.getSharedKey();
34-
Map<String, ChangedMediaType> changedMediaTypes = new HashMap<>();
34+
Map<String, ChangedMediaType> changedMediaTypes = new LinkedHashMap<>();
3535
for (String mediaTypeKey : sharedMediaTypes) {
3636
MediaType oldMediaType = left.get(mediaTypeKey);
3737
MediaType newMediaType = right.get(mediaTypeKey);

src/main/java/com/qdesrame/openapi/diff/compare/ExtensionsDiff.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ public ExtensionsDiff(OpenApiDiff openApiDiff) {
2222
}
2323

2424
public Optional<ChangedExtensions> diff(Map<String, Object> left, Map<String, Object> right, DiffContext context) {
25-
if (null == left) left = new HashMap<>();
26-
if (null == right) right = new HashMap<>();
27-
ChangedExtensions changedExtensions = new ChangedExtensions(left, new HashMap<>(right), context);
25+
if (null == left) left = new LinkedHashMap<>();
26+
if (null == right) right = new LinkedHashMap<>();
27+
ChangedExtensions changedExtensions = new ChangedExtensions(left, new LinkedHashMap<>(right), context);
2828
changedExtensions.getIncreased().putAll(right);
2929
for (String key : left.keySet()) {
3030
if (changedExtensions.getIncreased().containsKey(key)) {

src/main/java/com/qdesrame/openapi/diff/compare/HeadersDiff.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import com.qdesrame.openapi.diff.model.DiffContext;
66
import io.swagger.v3.oas.models.headers.Header;
77

8-
import java.util.HashMap;
8+
import java.util.LinkedHashMap;
99
import java.util.List;
1010
import java.util.Map;
1111
import java.util.Optional;
@@ -29,7 +29,7 @@ public Optional<ChangedHeaders> diff(Map<String, Header> left, Map<String, Heade
2929
changedHeaders.setMissing(headerMapDiff.getMissing());
3030
List<String> sharedHeaderKeys = headerMapDiff.getSharedKey();
3131

32-
Map<String, ChangedHeader> changed = new HashMap<>();
32+
Map<String, ChangedHeader> changed = new LinkedHashMap<>();
3333
for (String headerKey : sharedHeaderKeys) {
3434
Header oldHeader = left.get(headerKey);
3535
Header newHeader = right.get(headerKey);

src/main/java/com/qdesrame/openapi/diff/compare/MapKeyDiff.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package com.qdesrame.openapi.diff.compare;
22

3-
import java.util.*;
3+
import java.util.ArrayList;
4+
import java.util.LinkedHashMap;
5+
import java.util.List;
6+
import java.util.Map;
47
import java.util.Map.Entry;
58

69
/**
@@ -16,8 +19,8 @@ public class MapKeyDiff<K, V> {
1619

1720
private MapKeyDiff() {
1821
this.sharedKey = new ArrayList<>();
19-
this.increased = new HashMap<>();
20-
this.missing = new HashMap<>();
22+
this.increased = new LinkedHashMap<>();
23+
this.missing = new LinkedHashMap<>();
2124
}
2225

2326
public static <K, V> MapKeyDiff<K, V> diff(Map<K, V> mapLeft,

src/main/java/com/qdesrame/openapi/diff/compare/PathsDiff.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public Optional<ChangedPaths> diff(final Map<String, PathItem> left, final Map<S
4545
throw new IllegalArgumentException("Two path items have the same signature: " + template);
4646
}
4747
PathItem rightPath = changedPaths.getIncreased().remove(result.get());
48-
Map<String, String> params = new HashMap<>();
48+
Map<String, String> params = new LinkedHashMap<>();
4949
if (!url.equals(result.get())) {
5050
List<String> oldParams = extractParameters(url);
5151
List<String> newParams = extractParameters(result.get());

src/main/java/com/qdesrame/openapi/diff/compare/SchemaDiff.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class SchemaDiff extends ReferenceDiffCache<Schema, ChangedSchema> {
2121
private OpenApiDiff openApiDiff;
2222
private static RefPointer<Schema> refPointer = new RefPointer<>(RefType.SCHEMAS);
2323

24-
private static Map<Class<? extends Schema>, Class<? extends SchemaDiffResult>> schemaDiffResultClassMap = new HashMap<>();
24+
private static Map<Class<? extends Schema>, Class<? extends SchemaDiffResult>> schemaDiffResultClassMap = new LinkedHashMap<>();
2525

2626
static {
2727
schemaDiffResultClassMap.put(Schema.class, SchemaDiffResult.class);

src/main/java/com/qdesrame/openapi/diff/compare/schemadiffresult/ComposedSchemaDiffResult.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
import io.swagger.v3.oas.models.media.Schema;
1414
import org.apache.commons.collections4.CollectionUtils;
1515

16-
import java.util.HashMap;
1716
import java.util.HashSet;
17+
import java.util.LinkedHashMap;
1818
import java.util.Map;
1919
import java.util.Optional;
2020
import java.util.stream.Collectors;
@@ -59,7 +59,7 @@ public Optional<ChangedSchema> diff(HashSet<String> refSet, Components leftCompo
5959
changedOneOfSchema.setIncreasedMapping(mappingDiff.getIncreased());
6060
changedOneOfSchema.setMissingMapping(mappingDiff.getMissing());
6161

62-
Map<String, ChangedSchema> changedMapping = new HashMap<>();
62+
Map<String, ChangedSchema> changedMapping = new LinkedHashMap<>();
6363
changedOneOfSchema.setChangedMapping(changedMapping);
6464

6565
for (String key : mappingDiff.getSharedKey()) {
@@ -79,13 +79,13 @@ public Optional<ChangedSchema> diff(HashSet<String> refSet, Components leftCompo
7979
}
8080

8181
private Map<String, Schema> getSchema(Components components, Map<String, String> mapping) {
82-
Map<String, Schema> result = new HashMap<>();
82+
Map<String, Schema> result = new LinkedHashMap<>();
8383
mapping.forEach((key, value) -> result.put(key, refPointer.resolveRef(components, new Schema(), value)));
8484
return result;
8585
}
8686

8787
private Map<String, String> getMapping(ComposedSchema composedSchema) {
88-
Map<String, String> reverseMapping = new HashMap<>();
88+
Map<String, String> reverseMapping = new LinkedHashMap<>();
8989
for (Schema schema : composedSchema.getOneOf()) {
9090
String ref = schema.get$ref();
9191
if (ref == null) {

src/main/java/com/qdesrame/openapi/diff/model/ChangedApiResponse.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import lombok.Getter;
66
import lombok.Setter;
77

8-
import java.util.HashMap;
8+
import java.util.LinkedHashMap;
99
import java.util.Map;
1010

1111
/**
@@ -25,9 +25,9 @@ public ChangedApiResponse(ApiResponses oldApiResponses, ApiResponses newApiRespo
2525
this.oldApiResponses = oldApiResponses;
2626
this.newApiResponses = newApiResponses;
2727
this.context = context;
28-
this.missingResponses = new HashMap<>();
29-
this.addResponses = new HashMap<>();
30-
this.changedResponses = new HashMap<>();
28+
this.missingResponses = new LinkedHashMap<>();
29+
this.addResponses = new LinkedHashMap<>();
30+
this.changedResponses = new LinkedHashMap<>();
3131
}
3232

3333
@Override

src/main/java/com/qdesrame/openapi/diff/model/ChangedContent.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import lombok.Getter;
66
import lombok.Setter;
77

8-
import java.util.HashMap;
8+
import java.util.LinkedHashMap;
99
import java.util.Map;
1010

1111
/**
@@ -26,9 +26,9 @@ public ChangedContent(Content oldContent, Content newContent, DiffContext contex
2626
this.oldContent = oldContent;
2727
this.newContent = newContent;
2828
this.context = context;
29-
this.increased = new HashMap<>();
30-
this.missing = new HashMap<>();
31-
this.changed = new HashMap<>();
29+
this.increased = new LinkedHashMap<>();
30+
this.missing = new LinkedHashMap<>();
31+
this.changed = new LinkedHashMap<>();
3232
}
3333

3434
@Override

src/main/java/com/qdesrame/openapi/diff/model/ChangedSchema.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import lombok.Setter;
1010
import org.apache.commons.collections4.CollectionUtils;
1111

12-
import java.util.HashMap;
12+
import java.util.LinkedHashMap;
1313
import java.util.Map;
1414

1515
/**
@@ -43,9 +43,9 @@ public class ChangedSchema implements Changed {
4343
protected ChangedExtensions changedExtensions;
4444

4545
public ChangedSchema() {
46-
increasedProperties = new HashMap<>();
47-
missingProperties = new HashMap<>();
48-
changedProperties = new HashMap<>();
46+
increasedProperties = new LinkedHashMap<>();
47+
missingProperties = new LinkedHashMap<>();
48+
changedProperties = new LinkedHashMap<>();
4949
}
5050

5151
@Override

0 commit comments

Comments
 (0)