
com.qdesrame.openapi.diff.model.ChangedOpenApi Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of openapi-diff Show documentation
Show all versions of openapi-diff Show documentation
Utility for comparing two OpenAPI specifications.
package com.qdesrame.openapi.diff.model;
import com.qdesrame.openapi.diff.utils.EndpointUtils;
import io.swagger.v3.oas.models.OpenAPI;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
import java.util.stream.Collectors;
/**
* Created by adarsh.sharma on 22/12/17.
*/
@Getter
@Setter
public class ChangedOpenApi implements Changed {
private OpenAPI oldSpecOpenApi;
private OpenAPI newSpecOpenApi;
private List newEndpoints;
private List missingEndpoints;
private List changedOperations;
public List getDeprecatedEndpoints() {
return changedOperations.stream()
.filter(c -> c.isDeprecated())
.map(c -> EndpointUtils.convert2Endpoint(c.getPathUrl(), c.getHttpMethod(), c.getNewOperation()))
.collect(Collectors.toList());
}
@Override
public boolean isDiff() {
return newEndpoints.size() > 0
|| missingEndpoints.size() > 0
|| changedOperations.size() > 0;
}
public boolean isDiffBackwardCompatible() {
return missingEndpoints.size() == 0
&& changedOperations.stream().allMatch(c -> c.isDiffBackwardCompatible());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy