Skip to content

ExtensionDiff for operations #48

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
jmini opened this issue Jun 5, 2018 · 3 comments
Closed

ExtensionDiff for operations #48

jmini opened this issue Jun 5, 2018 · 3 comments
Assignees
Milestone

Comments

@jmini
Copy link
Member

jmini commented Jun 5, 2018

I wanted to try com.qdesrame.openapi.diff.compare.ExtensionDiff introduced with #44.

We are using custom extensions in Operations, but it seems to me that com.qdesrame.openapi.diff.compare.ExtensionsDiff.diff(Map<String, Object>, Map<String, Object>, DiffContext) is only called in SchemaDiffResult.


Could the mechanism be extended to be called for other items supporting extensions:

(the list I found so far):

io.swagger.v3.oas.models.callbacks.Callback
io.swagger.v3.oas.models.examples.Example
io.swagger.v3.oas.models.headers.Header
io.swagger.v3.oas.models.info.Contact
io.swagger.v3.oas.models.info.Info
io.swagger.v3.oas.models.info.License
io.swagger.v3.oas.models.links.Link
io.swagger.v3.oas.models.links.LinkParameter
io.swagger.v3.oas.models.media.Encoding
io.swagger.v3.oas.models.media.EncodingProperty
io.swagger.v3.oas.models.media.MediaType
io.swagger.v3.oas.models.media.Schema
io.swagger.v3.oas.models.media.XML
io.swagger.v3.oas.models.parameters.Parameter
io.swagger.v3.oas.models.parameters.RequestBody
io.swagger.v3.oas.models.responses.ApiResponse
io.swagger.v3.oas.models.responses.ApiResponses
io.swagger.v3.oas.models.security.OAuthFlow
io.swagger.v3.oas.models.security.OAuthFlows
io.swagger.v3.oas.models.security.Scopes
io.swagger.v3.oas.models.security.SecurityScheme
io.swagger.v3.oas.models.servers.Server
io.swagger.v3.oas.models.servers.ServerVariable
io.swagger.v3.oas.models.servers.ServerVariables
io.swagger.v3.oas.models.tags.Tag
io.swagger.v3.oas.models.Components
io.swagger.v3.oas.models.ExternalDocumentation
io.swagger.v3.oas.models.OpenAPI
io.swagger.v3.oas.models.Operation
io.swagger.v3.oas.models.PathItem
io.swagger.v3.oas.models.Paths

Maybe we can start with:

  • io.swagger.v3.oas.models.Operation
  • io.swagger.v3.oas.models.PathItem
  • io.swagger.v3.oas.models.parameters.RequestBody
  • io.swagger.v3.oas.models.parameters.Parameter
  • ..
@quen2404
Copy link
Member

quen2404 commented Jun 7, 2018

Yes of course, it should be extended to all classes that can handle extensions...
It's only called in SchemaDiffResult currently because it was my only use case. Sorry for that !

@jmini
Copy link
Member Author

jmini commented Jun 7, 2018

I had a quick look and I was wondering why it is called in SchemaDiffResult and not in SchemaDiff#diff(..).

Because there is no OperationDiffResult, I had no clue where it should be added.

@quen2404
Copy link
Member

Hi @jmini, i'm currently working on it !
it's on the PR #50

@quen2404 quen2404 added this to the Release 2.0.0 milestone Jul 12, 2018
@quen2404 quen2404 self-assigned this Jul 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants