Skip to content

Commit 4a540a4

Browse files
committed
fixing callback reference resolving code
1 parent 9472428 commit 4a540a4

File tree

3 files changed

+11
-10
lines changed

3 files changed

+11
-10
lines changed

modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/processors/CallbackProcessor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public CallbackProcessor(ResolverCache cache, OpenAPI openAPI) {
3434
}
3535

3636
public void processCallback(Callback callback) {
37-
if (callback.get("$ref") != null){
37+
if (callback.get$ref() != null){
3838
processReferenceCallback(callback);
3939
}
4040
//Resolver PathItem
@@ -57,12 +57,12 @@ public void processCallback(Callback callback) {
5757
}
5858

5959
public void processReferenceCallback(Callback callback ){
60-
String $ref = callback.get("$ref").get$ref();
60+
String $ref = callback.get$ref();
6161
RefFormat refFormat = computeRefFormat($ref);
6262
if (isAnExternalRefFormat(refFormat)){
6363
final String newRef = externalRefProcessor.processRefToExternalCallback($ref, refFormat);
6464
if (newRef != null) {
65-
callback.get("$ref").set$ref("#/components/callbacks/"+newRef);
65+
callback.set$ref("#/components/callbacks/"+newRef);
6666
}
6767
}
6868
}

modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/processors/ExternalRefProcessor.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,7 @@ public String processRefToExternalCallback(String $ref, RefFormat refFormat) {
667667

668668
if (existingCallback != null) {
669669
LOGGER.debug("A model for " + existingCallback + " already exists");
670-
if(existingCallback.get("$ref").get$ref() != null) {
670+
if(existingCallback.get$ref() != null) {
671671
// use the new model
672672
existingCallback = null;
673673
}
@@ -681,13 +681,13 @@ public String processRefToExternalCallback(String $ref, RefFormat refFormat) {
681681
cache.addReferencedKey(newRef);
682682

683683
String file = $ref.split("#/")[0];
684-
if(callback.get("$ref") != null){
685-
if (callback.get("$ref").get$ref() != null) {
686-
RefFormat format = computeRefFormat(callback.get("$ref").get$ref());
684+
if(callback.get$ref() != null){
685+
if (callback.get$ref() != null) {
686+
RefFormat format = computeRefFormat(callback.get$ref());
687687
if (isAnExternalRefFormat(format)) {
688-
callback.get("$ref").set$ref(processRefToExternalCallback(callback.get("$ref").get$ref(), format));
688+
callback.set$ref(processRefToExternalCallback(callback.get$ref(), format));
689689
} else {
690-
processRefToExternalCallback(file + callback.get("$ref").get$ref(), RefFormat.RELATIVE);
690+
processRefToExternalCallback(file + callback.get$ref(), RefFormat.RELATIVE);
691691
}
692692
}
693693
}

modules/swagger-parser-v3/src/test/java/io/swagger/v3/parser/test/OpenAPIResolverTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.github.tomakehurst.wiremock.client.WireMock;
99
import com.github.tomakehurst.wiremock.core.WireMockConfiguration;
1010
import io.swagger.v3.core.util.Json;
11+
import io.swagger.v3.core.util.Yaml;
1112
import io.swagger.v3.oas.models.Components;
1213
import io.swagger.v3.oas.models.OpenAPI;
1314
import io.swagger.v3.oas.models.Operation;
@@ -347,7 +348,7 @@ public void componentsResolver() throws Exception {
347348
//callback pathItem -> operation ->requestBody
348349
assertEquals(callbacks.get("heartbeat").get("$request.query.heartbeat-url").getPost().getRequestBody().get$ref(),"#/components/requestBodies/requestBody3");
349350
//remote callback ref
350-
assertEquals(callbacks.get("remoteCallback").get$ref(),"http://localhost:" + serverPort + "/remote/callback");
351+
assertEquals(callbacks.get("remoteCallback").get$ref(),"#/components/callbacks/callback");
351352

352353
}
353354

0 commit comments

Comments
 (0)