Skip to content

Commit 5e147a1

Browse files
committed
change shit
1 parent f697bd5 commit 5e147a1

File tree

76 files changed

+2032
-638
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+2032
-638
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ usage: openapi-diff <old> <new>
7676
--query <property=value> use query param for authorisation
7777
--state Only output diff state: no_changes,
7878
incompatible, compatible
79-
--fail-on-incompatible Fail only if API changes broke backward compatibility
8079
--trace be extra verbose
8180
--version print the version information and exit
8281
--warn Print warning information

build.gradle

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
dependencies {
2+
implementation 'io.swagger.parser.v3:swagger-parser-v3:2.0.13'
3+
implementation 'com.j2html:j2html:1.2.0'
4+
implementation 'org.apache.commons:commons-collections4:4.4'
5+
implementation 'commons-cli:commons-cli:1.4'
6+
implementation 'commons-httpclient:commons-httpclient:3.1'
7+
8+
testImplementation 'org.assertj:assertj-core:3.13.2'
9+
}

src/main/java/com/qdesrame/openapi/diff/OpenApiCompare.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import io.swagger.v3.parser.OpenAPIV3Parser;
77
import io.swagger.v3.parser.core.models.AuthorizationValue;
88
import io.swagger.v3.parser.core.models.ParseOptions;
9+
910
import java.io.File;
1011
import java.util.List;
1112

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.qdesrame.openapi.diff.compare
2+
3+
import com.qdesrame.openapi.diff.model.ChangedApiResponse
4+
import com.qdesrame.openapi.diff.model.ChangedExtensions
5+
import com.qdesrame.openapi.diff.model.ChangedResponse
6+
import com.qdesrame.openapi.diff.model.DiffContext
7+
import com.qdesrame.openapi.diff.utils.ChangedUtils
8+
import io.swagger.v3.oas.models.responses.ApiResponses
9+
import java.util.Optional
10+
11+
/** Created by adarsh.sharma on 04/01/18. */
12+
class ApiResponseDiff(private val openApiDiff: OpenApiDiff) {
13+
fun diff(left: ApiResponses?, right: ApiResponses?, context: DiffContext): Optional<ChangedApiResponse> {
14+
val responseMapKeyDiff = MapKeyDiff.diff(left, right)
15+
val sharedResponseCodes = responseMapKeyDiff.sharedKey
16+
val resps: MutableMap<String, ChangedResponse> = mutableMapOf()
17+
18+
for (responseCode in sharedResponseCodes) {
19+
openApiDiff
20+
.responseDiff
21+
.diff(left?.get(responseCode), right?.get(responseCode), context)
22+
.ifPresent { changedResponse: ChangedResponse -> resps[responseCode] = changedResponse }
23+
}
24+
val changedApiResponse = ChangedApiResponse(left, right, context)
25+
.setIncreased(responseMapKeyDiff.increased)
26+
.setMissing(responseMapKeyDiff.missing)
27+
.setChanged(resps)
28+
29+
openApiDiff
30+
.extensionsDiff
31+
.diff(left?.extensions, right?.extensions, context)
32+
.ifPresent { extensions: ChangedExtensions? -> changedApiResponse.extensions = extensions }
33+
return ChangedUtils.isChanged(changedApiResponse)
34+
}
35+
}

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

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

33
import com.qdesrame.openapi.diff.model.DiffContext;
4-
import lombok.Getter;
54
import org.apache.commons.lang3.builder.EqualsBuilder;
65
import org.apache.commons.lang3.builder.HashCodeBuilder;
76

8-
@Getter
97
public final class CacheKey {
108
private final String left;
119
private final String right;
@@ -36,4 +34,16 @@ public boolean equals(Object o) {
3634
public int hashCode() {
3735
return new HashCodeBuilder(17, 37).append(left).append(right).append(context).toHashCode();
3836
}
37+
38+
public String getLeft() {
39+
return this.left;
40+
}
41+
42+
public String getRight() {
43+
return this.right;
44+
}
45+
46+
public DiffContext getContext() {
47+
return this.context;
48+
}
3949
}

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

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

3-
import static com.qdesrame.openapi.diff.utils.ChangedUtils.isChanged;
4-
import static com.qdesrame.openapi.diff.utils.ChangedUtils.isUnchanged;
5-
63
import com.qdesrame.openapi.diff.model.ChangedContent;
74
import com.qdesrame.openapi.diff.model.ChangedMediaType;
85
import com.qdesrame.openapi.diff.model.DiffContext;
96
import io.swagger.v3.oas.models.media.Content;
107
import io.swagger.v3.oas.models.media.MediaType;
11-
import java.util.*;
8+
9+
import java.util.HashSet;
10+
import java.util.LinkedHashMap;
11+
import java.util.List;
12+
import java.util.Map;
13+
import java.util.Optional;
14+
15+
import static com.qdesrame.openapi.diff.utils.ChangedUtils.isChanged;
16+
import static com.qdesrame.openapi.diff.utils.ChangedUtils.isUnchanged;
1217

1318
public class ContentDiff implements Comparable<Content> {
1419

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

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

3-
import static com.qdesrame.openapi.diff.utils.ChangedUtils.isChanged;
4-
import static com.qdesrame.openapi.diff.utils.Copy.copyMap;
5-
63
import com.qdesrame.openapi.diff.model.Change;
74
import com.qdesrame.openapi.diff.model.Changed;
85
import com.qdesrame.openapi.diff.model.ChangedExtensions;
96
import com.qdesrame.openapi.diff.model.DiffContext;
10-
import java.util.*;
7+
8+
import java.util.ArrayList;
9+
import java.util.List;
10+
import java.util.Map;
11+
import java.util.Optional;
12+
import java.util.ServiceLoader;
1113
import java.util.function.Function;
1214

15+
import static com.qdesrame.openapi.diff.utils.ChangedUtils.isChanged;
16+
import static com.qdesrame.openapi.diff.utils.Copy.copyMap;
17+
1318
public class ExtensionsDiff {
1419
private final OpenApiDiff openApiDiff;
1520

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

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

3-
import static com.qdesrame.openapi.diff.utils.ChangedUtils.isChanged;
4-
53
import com.qdesrame.openapi.diff.model.ChangedHeader;
64
import com.qdesrame.openapi.diff.model.DiffContext;
75
import com.qdesrame.openapi.diff.utils.RefPointer;
86
import com.qdesrame.openapi.diff.utils.RefType;
97
import io.swagger.v3.oas.models.Components;
108
import io.swagger.v3.oas.models.headers.Header;
9+
1110
import java.util.HashSet;
1211
import java.util.Objects;
1312
import java.util.Optional;
1413

14+
import static com.qdesrame.openapi.diff.utils.ChangedUtils.isChanged;
15+
1516
/** Created by adarsh.sharma on 28/12/17. */
1617
public class HeaderDiff extends ReferenceDiffCache<Header, ChangedHeader> {
1718
private static RefPointer<Header> refPointer = new RefPointer<>(RefType.HEADERS);

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

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

3-
import static com.qdesrame.openapi.diff.utils.ChangedUtils.isChanged;
4-
53
import com.qdesrame.openapi.diff.model.ChangedHeader;
64
import com.qdesrame.openapi.diff.model.ChangedHeaders;
75
import com.qdesrame.openapi.diff.model.DiffContext;
86
import io.swagger.v3.oas.models.headers.Header;
7+
98
import java.util.LinkedHashMap;
109
import java.util.List;
1110
import java.util.Map;
1211
import java.util.Optional;
1312

13+
import static com.qdesrame.openapi.diff.utils.ChangedUtils.isChanged;
14+
1415
/** Created by adarsh.sharma on 28/12/17. */
1516
public class HeadersDiff {
1617
private OpenApiDiff openApiDiff;

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

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

33
import com.qdesrame.openapi.diff.model.ChangedList;
4-
import lombok.Getter;
54

6-
@Getter
75
public class ListDiff {
86

97
public static <K extends ChangedList<X>, X> K diff(K instance) {

0 commit comments

Comments
 (0)