diff --git a/core/src/main/java/org/openapitools/openapidiff/core/output/AsciidocRender.java b/core/src/main/java/org/openapitools/openapidiff/core/output/AsciidocRender.java index b6afc6f5..747c7e64 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/output/AsciidocRender.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/output/AsciidocRender.java @@ -14,7 +14,19 @@ import java.util.Optional; import org.apache.commons.lang3.StringUtils; import org.openapitools.openapidiff.core.exception.RendererException; -import org.openapitools.openapidiff.core.model.*; +import org.openapitools.openapidiff.core.model.ChangedApiResponse; +import org.openapitools.openapidiff.core.model.ChangedContent; +import org.openapitools.openapidiff.core.model.ChangedMediaType; +import org.openapitools.openapidiff.core.model.ChangedMetadata; +import org.openapitools.openapidiff.core.model.ChangedOpenApi; +import org.openapitools.openapidiff.core.model.ChangedOperation; +import org.openapitools.openapidiff.core.model.ChangedParameter; +import org.openapitools.openapidiff.core.model.ChangedParameters; +import org.openapitools.openapidiff.core.model.ChangedResponse; +import org.openapitools.openapidiff.core.model.ChangedSchema; +import org.openapitools.openapidiff.core.model.DiffContext; +import org.openapitools.openapidiff.core.model.DiffResult; +import org.openapitools.openapidiff.core.model.Endpoint; import org.openapitools.openapidiff.core.utils.RefPointer; import org.openapitools.openapidiff.core.utils.RefType; @@ -92,6 +104,12 @@ private void ol_changed( safelyAppend(outputStreamWriter, itemEndpoint(method, pathUrl, desc)); safelyAppend(outputStreamWriter, System.lineSeparator()); + if (result(operation.getOperationId()).isDifferent()) { + safelyAppend(outputStreamWriter, "* Operation ID:"); + safelyAppend(outputStreamWriter, System.lineSeparator()); + safelyAppend(outputStreamWriter, String.format("** Changed %s to %s", operation.getOperationId().getLeft(), operation.getOperationId().getRight())); + safelyAppend(outputStreamWriter, System.lineSeparator()); + } if (result(operation.getParameters()).isDifferent()) { safelyAppend(outputStreamWriter, "* Parameter:"); safelyAppend(outputStreamWriter, System.lineSeparator()); 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 e41f7aa9..2b860723 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 @@ -15,6 +15,7 @@ import org.apache.commons.lang3.StringUtils; import org.openapitools.openapidiff.core.exception.RendererException; import org.openapitools.openapidiff.core.model.*; +import org.openapitools.openapidiff.core.model.schema.ChangedOperationId; import org.openapitools.openapidiff.core.utils.RefPointer; import org.openapitools.openapidiff.core.utils.RefType; @@ -79,6 +80,12 @@ private void ol_changed( safelyAppend(outputStreamWriter, itemEndpoint(method, pathUrl, desc)); + if (result(operation.getOperationId()).isDifferent()) { + safelyAppend(outputStreamWriter, StringUtils.repeat(' ', 2)); + safelyAppend(outputStreamWriter, "Operation ID:"); + safelyAppend(outputStreamWriter, System.lineSeparator()); + safelyAppend(outputStreamWriter, ul_operation_id(operation.getOperationId())); + } if (result(operation.getParameters()).isDifferent()) { safelyAppend(outputStreamWriter, StringUtils.repeat(' ', 2)); safelyAppend(outputStreamWriter, "Parameter:"); @@ -301,6 +308,10 @@ private String itemEndpoint(String method, String path, String desc) { return String.format("- %s %s%n", StringUtils.rightPad(method, 6), path); } + private String ul_operation_id(ChangedOperationId operationId) { + return String.format(" - Changed %s to %s\n", operationId.getLeft(), operationId.getRight()); + } + public String renderBody(String ol_new, String ol_miss, String ol_deprec, String ol_changed) { return ol_new + ol_miss + ol_deprec + ol_changed; } 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 518f1071..1280a9ab 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 @@ -16,6 +16,7 @@ import static j2html.TagCreator.meta; import static j2html.TagCreator.ol; import static j2html.TagCreator.p; +import static j2html.TagCreator.pre; import static j2html.TagCreator.span; import static j2html.TagCreator.title; import static j2html.TagCreator.ul; @@ -33,6 +34,7 @@ import j2html.tags.specialized.HtmlTag; import j2html.tags.specialized.LiTag; import j2html.tags.specialized.OlTag; +import j2html.tags.specialized.SpanTag; import j2html.tags.specialized.UlTag; import java.io.IOException; import java.io.OutputStreamWriter; @@ -56,6 +58,7 @@ import org.openapitools.openapidiff.core.model.DiffContext; import org.openapitools.openapidiff.core.model.DiffResult; import org.openapitools.openapidiff.core.model.Endpoint; +import org.openapitools.openapidiff.core.model.schema.ChangedOperationId; import org.openapitools.openapidiff.core.utils.RefPointer; import org.openapitools.openapidiff.core.utils.RefType; @@ -202,6 +205,11 @@ private OlTag ol_changed(List changedOperations) { .orElse(""); UlTag ul_detail = ul().withClass("detail"); + if (result(changedOperation.getOperationId()).isDifferent()) { + ul_detail.with( + li().with(h3("Operation ID")).with(ul_operation_id(changedOperation.getOperationId())) + ); + } if (result(changedOperation.getParameters()).isDifferent()) { ul_detail.with( li().with(h3("Parameters")).with(ul_param(changedOperation.getParameters()))); @@ -561,4 +569,15 @@ private LiTag li_changedParam(ChangedParameter changeParam) { } return li; } + + private UlTag ul_operation_id(ChangedOperationId changedOperationId) { + return ul().withClass("change").with( + li().withText( + "Changed " + + Optional.ofNullable(changedOperationId.getLeft()).orElse("") + + " to " + + Optional.ofNullable(changedOperationId.getRight()).orElse("") + ) + ); + } } 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 73bd12cc..b7e3d6a4 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 @@ -21,6 +21,7 @@ import org.openapitools.openapidiff.core.exception.RendererException; import org.openapitools.openapidiff.core.model.*; import org.openapitools.openapidiff.core.model.schema.ChangedOneOfSchema; +import org.openapitools.openapidiff.core.model.schema.ChangedOperationId; import org.openapitools.openapidiff.core.utils.RefPointer; import org.openapitools.openapidiff.core.utils.RefType; import org.slf4j.Logger; @@ -132,6 +133,10 @@ protected void listEndpoints( operation.getHttpMethod().toString(), operation.getPathUrl(), operation.getSummary())); + if (result(operation.getOperationId()).isDifferent()) { + safelyAppend(outputStreamWriter, titleH5("Operation ID:")); + safelyAppend(outputStreamWriter, operationId(operation.getOperationId())); + } if (result(operation.getParameters()).isDifferent()) { safelyAppend(outputStreamWriter, titleH5("Parameters:")); safelyAppend(outputStreamWriter, parameters(operation.getParameters())); @@ -541,6 +546,10 @@ protected String metadata(String beginning, String name, ChangedMetadata changed } } + protected String operationId(ChangedOperationId operationId) { + return String.format("\nChanged: %s to %s\n\n", code(operationId.getLeft()), code(operationId.getRight())); + } + protected String metadata(String metadata) { return metadata("", metadata); }