You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ff...@apache.org on 2020/01/24 20:58:42 UTC

[camel] branch master updated: [CAMEL-14439]camel-openapi-java: OasInfo may miss parent pointer

This is an automated email from the ASF dual-hosted git repository.

ffang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 40d6f58  [CAMEL-14439]camel-openapi-java: OasInfo may miss parent pointer
40d6f58 is described below

commit 40d6f58d03e1e8e54ccfc0356fcdce973c5e18fd
Author: Freeman Fang <fr...@gmail.com>
AuthorDate: Fri Jan 24 15:58:27 2020 -0500

    [CAMEL-14439]camel-openapi-java: OasInfo may miss parent pointer
---
 .../src/main/java/org/apache/camel/openapi/BeanConfig.java   | 12 ++++++++++--
 .../java/org/apache/camel/openapi/RestOpenApiReaderTest.java |  6 ++++++
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/BeanConfig.java b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/BeanConfig.java
index b59b4fe..a439106 100644
--- a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/BeanConfig.java
+++ b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/BeanConfig.java
@@ -122,7 +122,11 @@ public class BeanConfig {
     }
 
     private void configureOas30(Oas30Document openApi) {
-        openApi.info = info;
+        if (info != null) {
+            openApi.info = info;
+            info._ownerDocument = openApi;
+            info._parent = openApi;
+        }
         Server server = openApi.createServer();
         String serverUrl = new StringBuilder().append(this.schemes[0]).append("://").append(this.host).append(this.basePath).toString();
         server.url = serverUrl;
@@ -138,7 +142,11 @@ public class BeanConfig {
                 openApi.schemes.add(scheme);
             }
         }
-        openApi.info = info;
+        if (info != null) {
+            openApi.info = info;
+            info._ownerDocument = openApi;
+            info._parent = openApi;
+        }
         openApi.host = host;
         openApi.basePath = basePath;
     }
diff --git a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
index 3152e0b..192ab0f 100644
--- a/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
+++ b/components/camel-openapi-java/src/test/java/org/apache/camel/openapi/RestOpenApiReaderTest.java
@@ -21,6 +21,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import io.apicurio.datamodels.Library;
 import io.apicurio.datamodels.openapi.models.OasDocument;
+import io.apicurio.datamodels.openapi.v2.models.Oas20Info;
+import io.apicurio.datamodels.openapi.v3.models.Oas30Info;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.impl.engine.DefaultClassResolver;
@@ -55,6 +57,8 @@ public class RestOpenApiReaderTest extends CamelTestSupport {
         config.setHost("localhost:8080");
         config.setSchemes(new String[] {"http"});
         config.setBasePath("/api");
+        Oas20Info info = new Oas20Info();
+        config.setInfo(info);
         config.setVersion("2.0");
         RestOpenApiReader reader = new RestOpenApiReader();
 
@@ -92,6 +96,8 @@ public class RestOpenApiReaderTest extends CamelTestSupport {
         config.setHost("localhost:8080");
         config.setSchemes(new String[] {"http"});
         config.setBasePath("/api");
+        Oas30Info info = new Oas30Info();
+        config.setInfo(info);
         RestOpenApiReader reader = new RestOpenApiReader();
 
         OasDocument openApi = reader.read(context.getRestDefinitions(), null, config, context.getName(), new DefaultClassResolver());