From b2ad9f7a253a5ad331574a72e0cf9d9aeb510b86 Mon Sep 17 00:00:00 2001 From: Jochen Schalanda Date: Mon, 19 Oct 2020 09:17:21 +0200 Subject: [PATCH] Fix some code issues to pass Sonar quality gate --- .../openapitools/openapidiff/cli/Main.java | 4 +- .../openapidiff/core/OpenApiCompare.java | 4 +- .../core/compare/ApiResponseDiff.java | 2 +- .../openapidiff/core/compare/Comparable.java | 6 -- .../openapidiff/core/compare/ContentDiff.java | 9 +-- .../core/compare/ExtensionsDiff.java | 14 ++--- .../openapidiff/core/compare/HeaderDiff.java | 8 +-- .../openapidiff/core/compare/HeadersDiff.java | 2 +- .../openapidiff/core/compare/MapKeyDiff.java | 2 +- .../core/compare/MetadataDiff.java | 6 +- .../core/compare/OAuthFlowDiff.java | 2 +- .../core/compare/OAuthFlowsDiff.java | 2 +- .../core/compare/OperationDiff.java | 4 +- .../core/compare/ParameterDiff.java | 8 +-- .../core/compare/ParametersDiff.java | 8 +-- .../openapidiff/core/compare/PathDiff.java | 2 +- .../openapidiff/core/compare/PathsDiff.java | 2 +- .../core/compare/ReferenceDiffCache.java | 2 +- .../core/compare/RequestBodyDiff.java | 5 +- .../core/compare/ResponseDiff.java | 8 +-- .../openapidiff/core/compare/SchemaDiff.java | 10 +-- .../core/compare/SecurityRequirementDiff.java | 48 +++++++-------- .../compare/SecurityRequirementsDiff.java | 16 +---- .../core/compare/SecuritySchemeDiff.java | 6 +- .../ComposedSchemaDiffResult.java | 2 +- .../schemadiffresult/SchemaDiffResult.java | 8 +-- .../openapidiff/core/model/ChangedSchema.java | 6 +- .../core/output/ConsoleRender.java | 61 ++++++++----------- .../openapidiff/core/output/HtmlRender.java | 7 +-- .../core/output/MarkdownRender.java | 28 +++++---- .../openapidiff/core/utils/RefPointer.java | 2 +- 31 files changed, 132 insertions(+), 162 deletions(-) delete mode 100644 core/src/main/java/org/openapitools/openapidiff/core/compare/Comparable.java diff --git a/cli/src/main/java/org/openapitools/openapidiff/cli/Main.java b/cli/src/main/java/org/openapitools/openapidiff/cli/Main.java index 7367ee0b4..04472fe76 100644 --- a/cli/src/main/java/org/openapitools/openapidiff/cli/Main.java +++ b/cli/src/main/java/org/openapitools/openapidiff/cli/Main.java @@ -2,6 +2,7 @@ import java.io.File; import java.io.IOException; +import java.nio.charset.StandardCharsets; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.DefaultParser; @@ -100,7 +101,6 @@ public static void main(String... args) { .desc("export diff as text in given file") .build()); - final String message = "Hello logging!"; // create the parser CommandLineParser parser = new DefaultParser(); try { @@ -202,7 +202,7 @@ private static void writeOutput(String output, String outputFile) { File file = new File(outputFile); logger.debug("Output file: {}", file.getAbsolutePath()); try { - FileUtils.writeStringToFile(file, output); + FileUtils.writeStringToFile(file, output, StandardCharsets.UTF_8); } catch (IOException e) { logger.error("Impossible to write output to file {}", outputFile, e); System.exit(2); diff --git a/core/src/main/java/org/openapitools/openapidiff/core/OpenApiCompare.java b/core/src/main/java/org/openapitools/openapidiff/core/OpenApiCompare.java index db5a24887..a03834dcb 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/OpenApiCompare.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/OpenApiCompare.java @@ -11,8 +11,8 @@ public class OpenApiCompare { - private static OpenAPIParser openApiParser = new OpenAPIParser(); - private static ParseOptions options = new ParseOptions(); + private static final OpenAPIParser openApiParser = new OpenAPIParser(); + private static final ParseOptions options = new ParseOptions(); static { options.setResolve(true); diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/ApiResponseDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/ApiResponseDiff.java index bc96c02fb..6c224402f 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/ApiResponseDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/ApiResponseDiff.java @@ -14,7 +14,7 @@ /** Created by adarsh.sharma on 04/01/18. */ public class ApiResponseDiff { - private OpenApiDiff openApiDiff; + private final OpenApiDiff openApiDiff; public ApiResponseDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/Comparable.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/Comparable.java deleted file mode 100644 index bfcba8fac..000000000 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/Comparable.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.openapitools.openapidiff.core.compare; - -public interface Comparable { - - boolean compare(T left, T right); -} diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/ContentDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/ContentDiff.java index 77b7df302..0c08f9e49 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/ContentDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/ContentDiff.java @@ -10,19 +10,14 @@ import org.openapitools.openapidiff.core.model.ChangedMediaType; import org.openapitools.openapidiff.core.model.DiffContext; -public class ContentDiff implements Comparable { +public class ContentDiff { - private OpenApiDiff openApiDiff; + private final OpenApiDiff openApiDiff; public ContentDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; } - @Override - public boolean compare(Content left, Content right) { - return false; - } - public Optional diff(Content left, Content right, DiffContext context) { MapKeyDiff mediaTypeDiff = MapKeyDiff.diff(left, right); diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/ExtensionsDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/ExtensionsDiff.java index dbf92972c..5bc5df6cc 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/ExtensionsDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/ExtensionsDiff.java @@ -13,20 +13,20 @@ public class ExtensionsDiff { private final OpenApiDiff openApiDiff; - private ServiceLoader extensionsLoader = ServiceLoader.load(ExtensionDiff.class); - private List extensionsDiff = new ArrayList<>(); + private final List extensionDiffs = new ArrayList<>(); public ExtensionsDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; - this.extensionsLoader.reload(); - for (ExtensionDiff anExtensionsLoader : this.extensionsLoader) { - extensionsDiff.add(anExtensionsLoader); + ServiceLoader extensionsLoader = ServiceLoader.load(ExtensionDiff.class); + extensionsLoader.reload(); + for (ExtensionDiff anExtensionsLoader : extensionsLoader) { + extensionDiffs.add(anExtensionsLoader); } } public boolean isParentApplicable( Change.Type type, Object parent, Map extensions, DiffContext context) { - if (extensions.size() == 0) { + if (extensions.isEmpty()) { return true; } return extensions.entrySet().stream() @@ -40,7 +40,7 @@ public boolean isParentApplicable( } public Optional getExtensionDiff(String name) { - return extensionsDiff.stream().filter(diff -> ("x-" + diff.getName()).equals(name)).findFirst(); + return extensionDiffs.stream().filter(diff -> ("x-" + diff.getName()).equals(name)).findFirst(); } public Optional executeExtension(String name, Function predicate) { diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/HeaderDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/HeaderDiff.java index 85f130aad..343d044f1 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/HeaderDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/HeaderDiff.java @@ -14,10 +14,10 @@ /** Created by adarsh.sharma on 28/12/17. */ public class HeaderDiff extends ReferenceDiffCache { - private static RefPointer
refPointer = new RefPointer<>(RefType.HEADERS); - private OpenApiDiff openApiDiff; - private Components leftComponents; - private Components rightComponents; + private static final RefPointer
refPointer = new RefPointer<>(RefType.HEADERS); + private final OpenApiDiff openApiDiff; + private final Components leftComponents; + private final Components rightComponents; public HeaderDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/HeadersDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/HeadersDiff.java index 09d7a94ef..f915f634d 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/HeadersDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/HeadersDiff.java @@ -13,7 +13,7 @@ /** Created by adarsh.sharma on 28/12/17. */ public class HeadersDiff { - private OpenApiDiff openApiDiff; + private final OpenApiDiff openApiDiff; public HeadersDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/MapKeyDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/MapKeyDiff.java index 592703920..f3023149e 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/MapKeyDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/MapKeyDiff.java @@ -15,7 +15,7 @@ public class MapKeyDiff { private Map increased; private Map missing; - private List sharedKey; + private final List sharedKey; private MapKeyDiff() { this.sharedKey = new ArrayList<>(); diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/MetadataDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/MetadataDiff.java index 175241399..169cc18ee 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/MetadataDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/MetadataDiff.java @@ -9,9 +9,9 @@ public class MetadataDiff { - private Components leftComponents; - private Components rightComponents; - private OpenApiDiff openApiDiff; + private final Components leftComponents; + private final Components rightComponents; + private final OpenApiDiff openApiDiff; public MetadataDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/OAuthFlowDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/OAuthFlowDiff.java index 3925cd3fd..086aa9b54 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/OAuthFlowDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/OAuthFlowDiff.java @@ -11,7 +11,7 @@ /** Created by adarsh.sharma on 12/01/18. */ public class OAuthFlowDiff { - private OpenApiDiff openApiDiff; + private final OpenApiDiff openApiDiff; public OAuthFlowDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/OAuthFlowsDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/OAuthFlowsDiff.java index c90bf7cbd..3ae728e66 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/OAuthFlowsDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/OAuthFlowsDiff.java @@ -10,7 +10,7 @@ /** Created by adarsh.sharma on 12/01/18. */ public class OAuthFlowsDiff { - private OpenApiDiff openApiDiff; + private final OpenApiDiff openApiDiff; public OAuthFlowsDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/OperationDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/OperationDiff.java index 0655438f9..038816c77 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/OperationDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/OperationDiff.java @@ -13,7 +13,7 @@ /** Created by adarsh.sharma on 04/01/18. */ public class OperationDiff { - private OpenApiDiff openApiDiff; + private final OpenApiDiff openApiDiff; public OperationDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; @@ -70,7 +70,7 @@ public Optional diff( openApiDiff .getExtensionsDiff() .diff(oldOperation.getExtensions(), newOperation.getExtensions(), context) - .ifPresent(extensions -> changedOperation.setExtensions(extensions)); + .ifPresent(changedOperation::setExtensions); return isChanged(changedOperation); } diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/ParameterDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/ParameterDiff.java index 880008543..37d769f1a 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/ParameterDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/ParameterDiff.java @@ -14,10 +14,10 @@ public class ParameterDiff extends ReferenceDiffCache { - private static RefPointer refPointer = new RefPointer<>(RefType.PARAMETERS); - private Components leftComponents; - private Components rightComponents; - private OpenApiDiff openApiDiff; + private static final RefPointer refPointer = new RefPointer<>(RefType.PARAMETERS); + private final Components leftComponents; + private final Components rightComponents; + private final OpenApiDiff openApiDiff; public ParameterDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/ParametersDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/ParametersDiff.java index aa260d9e8..f7fa573b2 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/ParametersDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/ParametersDiff.java @@ -19,11 +19,11 @@ * @author QDesrame */ public class ParametersDiff { + private static final RefPointer refPointer = new RefPointer<>(RefType.PARAMETERS); - private Components leftComponents; - private Components rightComponents; - private OpenApiDiff openApiDiff; - private static RefPointer refPointer = new RefPointer<>(RefType.PARAMETERS); + private final Components leftComponents; + private final Components rightComponents; + private final OpenApiDiff openApiDiff; public ParametersDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/PathDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/PathDiff.java index 5ddab55d7..1562dfbb4 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/PathDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/PathDiff.java @@ -11,7 +11,7 @@ import org.openapitools.openapidiff.core.model.DiffContext; public class PathDiff { - private OpenApiDiff openApiDiff; + private final OpenApiDiff openApiDiff; public PathDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/PathsDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/PathsDiff.java index a921a19da..7a453eb65 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/PathsDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/PathsDiff.java @@ -12,7 +12,7 @@ public class PathsDiff { private static final String REGEX_PATH = "\\{([^/]+)\\}"; - private OpenApiDiff openApiDiff; + private final OpenApiDiff openApiDiff; public PathsDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/ReferenceDiffCache.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/ReferenceDiffCache.java index 3e9f233df..befe8cff9 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/ReferenceDiffCache.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/ReferenceDiffCache.java @@ -8,7 +8,7 @@ /** Created by adarsh.sharma on 07/01/18. */ public abstract class ReferenceDiffCache { - private Map refDiffMap; + private final Map refDiffMap; public ReferenceDiffCache() { this.refDiffMap = new HashMap<>(); diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/RequestBodyDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/RequestBodyDiff.java index 9d793f74b..0a1d8c4a0 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/RequestBodyDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/RequestBodyDiff.java @@ -15,8 +15,9 @@ /** Created by adarsh.sharma on 28/12/17. */ public class RequestBodyDiff extends ReferenceDiffCache { - private static RefPointer refPointer = new RefPointer<>(RefType.REQUEST_BODIES); - private OpenApiDiff openApiDiff; + private static final RefPointer refPointer = + new RefPointer<>(RefType.REQUEST_BODIES); + private final OpenApiDiff openApiDiff; public RequestBodyDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/ResponseDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/ResponseDiff.java index a4c63a1d6..0a84de744 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/ResponseDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/ResponseDiff.java @@ -13,10 +13,10 @@ /** Created by adarsh.sharma on 28/12/17. */ public class ResponseDiff extends ReferenceDiffCache { - private static RefPointer refPointer = new RefPointer<>(RefType.RESPONSES); - private OpenApiDiff openApiDiff; - private Components leftComponents; - private Components rightComponents; + private static final RefPointer refPointer = new RefPointer<>(RefType.RESPONSES); + private final OpenApiDiff openApiDiff; + private final Components leftComponents; + private final Components rightComponents; public ResponseDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/SchemaDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/SchemaDiff.java index 51fbac8cd..0c25509c5 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/SchemaDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/SchemaDiff.java @@ -26,8 +26,8 @@ public class SchemaDiff extends ReferenceDiffCache { - private static RefPointer refPointer = new RefPointer<>(RefType.SCHEMAS); - private static Map, Class> + private static final RefPointer refPointer = new RefPointer<>(RefType.SCHEMAS); + private static final Map, Class> schemaDiffResultClassMap = new LinkedHashMap<>(); static { @@ -36,9 +36,9 @@ public class SchemaDiff extends ReferenceDiffCache { schemaDiffResultClassMap.put(ComposedSchema.class, ComposedSchemaDiffResult.class); } - private Components leftComponents; - private Components rightComponents; - private OpenApiDiff openApiDiff; + private final Components leftComponents; + private final Components rightComponents; + private final OpenApiDiff openApiDiff; public SchemaDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/SecurityRequirementDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/SecurityRequirementDiff.java index 7d62850bc..6c058ab07 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/SecurityRequirementDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/SecurityRequirementDiff.java @@ -7,14 +7,13 @@ import io.swagger.v3.oas.models.security.SecurityScheme; import java.util.*; import org.openapitools.openapidiff.core.model.ChangedSecurityRequirement; -import org.openapitools.openapidiff.core.model.ChangedSecurityScheme; import org.openapitools.openapidiff.core.model.DiffContext; /** Created by adarsh.sharma on 07/01/18. */ public class SecurityRequirementDiff { - private OpenApiDiff openApiDiff; - private Components leftComponents; - private Components rightComponents; + private final OpenApiDiff openApiDiff; + private final Components leftComponents; + private final Components rightComponents; public SecurityRequirementDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; @@ -30,8 +29,7 @@ public SecurityRequirementDiff(OpenApiDiff openApiDiff) { public static SecurityRequirement getCopy(LinkedHashMap> right) { SecurityRequirement newSecurityRequirement = new SecurityRequirement(); - right.entrySet().stream() - .forEach(e -> newSecurityRequirement.put(e.getKey(), new ArrayList<>(e.getValue()))); + right.forEach((key, value) -> newSecurityRequirement.put(key, new ArrayList<>(value))); return newSecurityRequirement; } @@ -68,29 +66,31 @@ public Optional diff( ChangedSecurityRequirement changedSecurityRequirement = new ChangedSecurityRequirement(left, right != null ? getCopy(right) : null); - left = left == null ? new SecurityRequirement() : left; - right = right == null ? new SecurityRequirement() : right; + SecurityRequirement leftRequirement = left == null ? new SecurityRequirement() : left; + SecurityRequirement rightRequirement = right == null ? new SecurityRequirement() : right; - for (String leftSchemeRef : left.keySet()) { - LinkedHashMap> rightSec = contains(right, leftSchemeRef); + for (Map.Entry> leftEntry : leftRequirement.entrySet()) { + LinkedHashMap> rightSec = contains(rightRequirement, leftEntry.getKey()); if (rightSec.isEmpty()) { - changedSecurityRequirement.addMissing(leftSchemeRef, left.get(leftSchemeRef)); + changedSecurityRequirement.addMissing(leftEntry.getKey(), leftEntry.getValue()); } else { - String rightSchemeRef = rightSec.keySet().stream().findFirst().get(); - right.remove(rightSchemeRef); - Optional diff = - openApiDiff - .getSecuritySchemeDiff() - .diff( - leftSchemeRef, - left.get(leftSchemeRef), - rightSchemeRef, - rightSec.get(rightSchemeRef), - context); - diff.ifPresent(changedSecurityRequirement::addChanged); + Optional rightSchemeRef = rightSec.keySet().stream().findFirst(); + rightSchemeRef.ifPresent(rightRequirement::remove); + rightSchemeRef + .flatMap( + rightScheme -> + openApiDiff + .getSecuritySchemeDiff() + .diff( + leftEntry.getKey(), + leftEntry.getValue(), + rightScheme, + rightSec.get(rightScheme), + context)) + .ifPresent(changedSecurityRequirement::addChanged); } } - right.forEach(changedSecurityRequirement::addIncreased); + rightRequirement.forEach(changedSecurityRequirement::addIncreased); return isChanged(changedSecurityRequirement); } diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/SecurityRequirementsDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/SecurityRequirementsDiff.java index ea06a45bb..cc92b48bf 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/SecurityRequirementsDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/SecurityRequirementsDiff.java @@ -15,15 +15,12 @@ import org.openapitools.openapidiff.core.model.ChangedSecurityRequirement; import org.openapitools.openapidiff.core.model.ChangedSecurityRequirements; import org.openapitools.openapidiff.core.model.DiffContext; -import org.openapitools.openapidiff.core.utils.RefPointer; -import org.openapitools.openapidiff.core.utils.RefType; /** Created by adarsh.sharma on 07/01/18. */ public class SecurityRequirementsDiff { - private OpenApiDiff openApiDiff; - private Components leftComponents; - private Components rightComponents; - private static RefPointer refPointer = new RefPointer<>(RefType.SECURITY_SCHEMES); + private final OpenApiDiff openApiDiff; + private final Components leftComponents; + private final Components rightComponents; public SecurityRequirementsDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; @@ -45,13 +42,6 @@ public Optional contains( } public boolean same(SecurityRequirement left, SecurityRequirement right) { - // List leftTypes = left.keySet().stream() - // .map(x -> leftComponents.getSecuritySchemes().get(x).getType()) - // .collect(Collectors.toList()); - // List rightTypes = right.keySet().stream() - // .map(x -> rightComponents.getSecuritySchemes().get(x).getType()) - // .collect(Collectors.toList()); - // List> leftTypes = getListOfSecuritySchemes(leftComponents, left); List> rightTypes = diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/SecuritySchemeDiff.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/SecuritySchemeDiff.java index 7cde1608e..cf11b0d12 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/SecuritySchemeDiff.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/SecuritySchemeDiff.java @@ -14,9 +14,9 @@ /** Created by adarsh.sharma on 11/01/18. */ public class SecuritySchemeDiff extends ReferenceDiffCache { - private OpenApiDiff openApiDiff; - private Components leftComponents; - private Components rightComponents; + private final OpenApiDiff openApiDiff; + private final Components leftComponents; + private final Components rightComponents; public SecuritySchemeDiff(OpenApiDiff openApiDiff) { this.openApiDiff = openApiDiff; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/schemadiffresult/ComposedSchemaDiffResult.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/schemadiffresult/ComposedSchemaDiffResult.java index 7eb90b6d8..077552e2a 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/schemadiffresult/ComposedSchemaDiffResult.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/schemadiffresult/ComposedSchemaDiffResult.java @@ -20,7 +20,7 @@ /** Created by adarsh.sharma on 20/12/17. */ public class ComposedSchemaDiffResult extends SchemaDiffResult { - private static RefPointer refPointer = new RefPointer<>(RefType.SCHEMAS); + private static final RefPointer refPointer = new RefPointer<>(RefType.SCHEMAS); public ComposedSchemaDiffResult(OpenApiDiff openApiDiff) { super(openApiDiff); diff --git a/core/src/main/java/org/openapitools/openapidiff/core/compare/schemadiffresult/SchemaDiffResult.java b/core/src/main/java/org/openapitools/openapidiff/core/compare/schemadiffresult/SchemaDiffResult.java index 1daf97097..24f178c65 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/compare/schemadiffresult/SchemaDiffResult.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/compare/schemadiffresult/SchemaDiffResult.java @@ -61,8 +61,8 @@ public , X> Optional diff( .getMetadataDiff() .diff(left.getDescription(), right.getDescription(), context) .ifPresent(changedSchema::setDescription); - Map leftProperties = null == left ? null : left.getProperties(); - Map rightProperties = null == right ? null : right.getProperties(); + Map leftProperties = left.getProperties(); + Map rightProperties = right.getProperties(); MapKeyDiff propertyDiff = MapKeyDiff.diff(leftProperties, rightProperties); for (String key : propertyDiff.getSharedKey()) { openApiDiff @@ -104,7 +104,7 @@ private Map filterProperties( .isParentApplicable( type, entry.getValue(), - ofNullable(entry.getValue().getExtensions()).orElse(new LinkedHashMap()), + ofNullable(entry.getValue().getExtensions()).orElse(new LinkedHashMap<>()), context)) { result.put(entry.getKey(), entry.getValue()); } else { @@ -128,7 +128,7 @@ private void compareAdditionalProperties( HashSet refSet, Schema leftSchema, Schema rightSchema, DiffContext context) { Object left = leftSchema.getAdditionalProperties(); Object right = rightSchema.getAdditionalProperties(); - if ((left != null && left instanceof Schema) || (right != null && right instanceof Schema)) { + if (left instanceof Schema || right instanceof Schema) { Schema leftAdditionalSchema = (Schema) left; Schema rightAdditionalSchema = (Schema) right; ChangedSchema apChangedSchema = diff --git a/core/src/main/java/org/openapitools/openapidiff/core/model/ChangedSchema.java b/core/src/main/java/org/openapitools/openapidiff/core/model/ChangedSchema.java index 09a337156..0dfd49ae5 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/model/ChangedSchema.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/model/ChangedSchema.java @@ -68,9 +68,9 @@ public DiffResult isCoreChanged() { if (!changedType && (oldSchema == null && newSchema == null || oldSchema != null && newSchema != null) && !changeFormat - && increasedProperties.size() == 0 - && missingProperties.size() == 0 - && changedProperties.values().size() == 0 + && increasedProperties.isEmpty() + && missingProperties.isEmpty() + && changedProperties.values().isEmpty() && !changeDeprecated && !discriminatorPropertyChanged) { return DiffResult.NO_CHANGES; diff --git a/core/src/main/java/org/openapitools/openapidiff/core/output/ConsoleRender.java b/core/src/main/java/org/openapitools/openapidiff/core/output/ConsoleRender.java index fb9255f3d..4ac0f2009 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/output/ConsoleRender.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/output/ConsoleRender.java @@ -20,12 +20,10 @@ public class ConsoleRender implements Render { protected static RefPointer refPointer = new RefPointer<>(RefType.SCHEMAS); protected ChangedOpenApi diff; - private StringBuilder output; - @Override public String render(ChangedOpenApi diff) { this.diff = diff; - output = new StringBuilder(); + StringBuilder output = new StringBuilder(); if (diff.isUnchanged()) { output.append("No differences. Specifications are equivalents"); } else { @@ -62,7 +60,9 @@ public String render(ChangedOpenApi diff) { } private String ol_changed(List operations) { - if (null == operations || operations.size() == 0) return ""; + if (null == operations || operations.isEmpty()) { + return ""; + } StringBuilder sb = new StringBuilder(); sb.append(title("What's Changed")); for (ChangedOperation operation : operations) { @@ -132,11 +132,11 @@ private String itemResponse(String title, String code) { } private String itemChangedResponse(String title, String contentType, ChangedResponse response) { - StringBuilder sb = new StringBuilder(); - sb.append(itemResponse(title, contentType)); - sb.append(StringUtils.repeat(' ', 6)).append("Media types:").append(System.lineSeparator()); - sb.append(ul_content(response.getContent(), false)); - return sb.toString(); + return itemResponse(title, contentType) + + StringUtils.repeat(' ', 6) + + "Media types:" + + System.lineSeparator() + + ul_content(response.getContent(), false); } private String ul_content(ChangedContent changedContent, boolean isRequest) { @@ -158,13 +158,7 @@ private String ul_content(ChangedContent changedContent, boolean isRequest) { } private String itemContent(String title, String contentType) { - StringBuilder sb = new StringBuilder(); - sb.append(StringUtils.repeat(' ', 8)) - .append("- ") - .append(title) - .append(contentType) - .append(System.lineSeparator()); - return sb.toString(); + return StringUtils.repeat(' ', 8) + "- " + title + contentType + System.lineSeparator(); } private String itemContent( @@ -204,9 +198,7 @@ private String incompatibilities(String propName, final ChangedSchema schema) { } private String items(String propName, ChangedSchema schema) { - StringBuilder sb = new StringBuilder(); - sb.append(incompatibilities(propName + "[n]", schema)); - return sb.toString(); + return incompatibilities(propName + "[n]", schema); } private String properties( @@ -269,17 +261,14 @@ private String ul_param(ChangedParameters changedParameters) { } private String itemParam(String title, Parameter param) { - StringBuilder sb = new StringBuilder(""); - sb.append(StringUtils.repeat(' ', 4)) - .append("- ") - .append(title) - .append(param.getName()) - .append(" in ") - .append(param.getIn()) - .append(System.lineSeparator()); - // .append(null == param.getDescription() ? "" - // : (" //" + param.getDescription())); - return sb.toString(); + return "" + + StringUtils.repeat(' ', 4) + + "- " + + title + + param.getName() + + " in " + + param.getIn() + + System.lineSeparator(); } private String li_changedParam(ChangedParameter changeParam) { @@ -291,7 +280,9 @@ private String li_changedParam(ChangedParameter changeParam) { } private String listEndpoints(List endpoints, String title) { - if (null == endpoints || endpoints.size() == 0) return ""; + if (null == endpoints || endpoints.isEmpty()) { + return ""; + } StringBuilder sb = new StringBuilder(); sb.append(title(title)); for (Endpoint endpoint : endpoints) { @@ -303,15 +294,11 @@ private String listEndpoints(List endpoints, String title) { } private String itemEndpoint(String method, String path, String desc) { - StringBuilder sb = new StringBuilder(); - sb.append(String.format("- %s %s%n", StringUtils.rightPad(method, 6), path)); - return sb.toString(); + return String.format("- %s %s%n", StringUtils.rightPad(method, 6), path); } public String renderBody(String ol_new, String ol_miss, String ol_deprec, String ol_changed) { - StringBuilder sb = new StringBuilder(); - sb.append(ol_new).append(ol_miss).append(ol_deprec).append(ol_changed); - return sb.toString(); + return ol_new + ol_miss + ol_deprec + ol_changed; } public String bigTitle(String title) { diff --git a/core/src/main/java/org/openapitools/openapidiff/core/output/HtmlRender.java b/core/src/main/java/org/openapitools/openapidiff/core/output/HtmlRender.java index 6b816dbd5..c3adae9be 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/output/HtmlRender.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/output/HtmlRender.java @@ -17,10 +17,10 @@ import org.openapitools.openapidiff.core.utils.RefType; public class HtmlRender implements Render { + private static final RefPointer refPointer = new RefPointer<>(RefType.SCHEMAS); - private String title; - private String linkCss; - protected static RefPointer refPointer = new RefPointer<>(RefType.SCHEMAS); + private final String title; + private final String linkCss; protected ChangedOpenApi diff; public HtmlRender() { @@ -140,7 +140,6 @@ private ContainerTag ol_changed(List changedOperations) { ul_detail.with( li().with(h3("Request")) .with(ul_request(changedOperation.getRequestBody().getContent()))); - } else { } if (changedOperation.resultApiResponses().isDifferent()) { ul_detail.with( diff --git a/core/src/main/java/org/openapitools/openapidiff/core/output/MarkdownRender.java b/core/src/main/java/org/openapitools/openapidiff/core/output/MarkdownRender.java index e1970fda9..b818d8c26 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/output/MarkdownRender.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/output/MarkdownRender.java @@ -23,7 +23,8 @@ public class MarkdownRender implements Render { public static final Logger LOGGER = LoggerFactory.getLogger(MarkdownRender.class); - protected static RefPointer refPointer = new RefPointer<>(RefType.SCHEMAS); + + protected RefPointer refPointer = new RefPointer<>(RefType.SCHEMAS); protected final String H3 = "### "; protected final String H4 = "#### "; protected final String H5 = "##### "; @@ -45,9 +46,9 @@ public MarkdownRender() {} public String render(ChangedOpenApi diff) { this.diff = diff; - return listEndpoints("What\'s New", diff.getNewEndpoints()) - + listEndpoints("What\'s Deleted", diff.getMissingEndpoints()) - + listEndpoints("What\'s Deprecated", diff.getDeprecatedEndpoints()) + return listEndpoints("What's New", diff.getNewEndpoints()) + + listEndpoints("What's Deleted", diff.getMissingEndpoints()) + + listEndpoints("What's Deprecated", diff.getDeprecatedEndpoints()) + listEndpoints(diff.getChangedOperations()); } @@ -56,7 +57,9 @@ protected String sectionTitle(String title) { } protected String listEndpoints(String title, List endpoints) { - if (null == endpoints || endpoints.size() == 0) return ""; + if (null == endpoints || endpoints.isEmpty()) { + return ""; + } StringBuilder sb = new StringBuilder(sectionTitle(title)); endpoints.stream() .map(e -> itemEndpoint(e.getMethod().toString(), e.getPathUrl(), e.getSummary())) @@ -77,8 +80,10 @@ protected String titleH5(String title) { } protected String listEndpoints(List changedOperations) { - if (null == changedOperations || changedOperations.size() == 0) return ""; - StringBuilder sb = new StringBuilder(sectionTitle("What\'s Changed")); + if (null == changedOperations || changedOperations.isEmpty()) { + return ""; + } + StringBuilder sb = new StringBuilder(sectionTitle("What's Changed")); changedOperations.stream() .map( operation -> { @@ -248,13 +253,12 @@ protected String oneOfSchema(int deepness, ChangedOneOfSchema schema, String dis .getMissing() .keySet() .forEach( - key -> - sb.append(format("%sDeleted \'%s\' %s\n", indent(deepness), key, discriminator))); + key -> sb.append(format("%sDeleted '%s' %s\n", indent(deepness), key, discriminator))); schema .getIncreased() .forEach( (key, sub) -> - sb.append(format("%sAdded \'%s\' %s:\n", indent(deepness), key, discriminator)) + sb.append(format("%sAdded '%s' %s:\n", indent(deepness), key, discriminator)) .append(schema(deepness, sub, schema.getContext()))); schema .getChanged() @@ -317,13 +321,13 @@ protected String schema(int deepness, ChangedSchema schema) { protected String schema(int deepness, ComposedSchema schema, DiffContext context) { StringBuilder sb = new StringBuilder(); - if (schema.getAllOf() != null && schema.getAllOf() != null) { + if (schema.getAllOf() != null) { LOGGER.debug("All of schema"); schema.getAllOf().stream() .map(this::resolve) .forEach(composedChild -> sb.append(schema(deepness, composedChild, context))); } - if (schema.getOneOf() != null && schema.getOneOf() != null) { + if (schema.getOneOf() != null) { LOGGER.debug("One of schema"); sb.append(format("%sOne of:\n\n", indent(deepness))); schema.getOneOf().stream() diff --git a/core/src/main/java/org/openapitools/openapidiff/core/utils/RefPointer.java b/core/src/main/java/org/openapitools/openapidiff/core/utils/RefPointer.java index 7b99d29ef..53c81e0e0 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/utils/RefPointer.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/utils/RefPointer.java @@ -6,7 +6,7 @@ /** Created by adarsh.sharma on 07/01/18. */ public class RefPointer { public static final String BASE_REF = "#/components/"; - private RefType refType; + private final RefType refType; public RefPointer(RefType refType) { this.refType = refType;