You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2021/11/01 05:50:29 UTC

[camel] branch main updated: CAMEL-17151: Eliminated double slash in api-doc path. (#6360)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new ccc5108  CAMEL-17151: Eliminated double slash in api-doc path. (#6360)
ccc5108 is described below

commit ccc51089f26769fe719cee01c5e26f3b81955d54
Author: Steve Storck <st...@gmail.com>
AuthorDate: Mon Nov 1 01:49:57 2021 -0400

    CAMEL-17151: Eliminated double slash in api-doc path. (#6360)
    
    CAMEL-17151: Eliminated double slash in api-doc path.
---
 .../openapi/DefaultRestDefinitionsResolver.java    |  2 +-
 .../org/apache/camel/openapi/OpenApiHelper.java    |  2 +-
 .../camel/openapi/OpenApiRestProducerFactory.java  | 15 +++++---------
 .../apache/camel/openapi/RestModelConverters.java  |  2 +-
 .../apache/camel/openapi/RestOpenApiReader.java    |  2 +-
 .../apache/camel/openapi/RestOpenApiSupport.java   | 23 +++++++++-------------
 6 files changed, 18 insertions(+), 28 deletions(-)

diff --git a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/DefaultRestDefinitionsResolver.java b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/DefaultRestDefinitionsResolver.java
index 8fe28c5..3b228c5 100644
--- a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/DefaultRestDefinitionsResolver.java
+++ b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/DefaultRestDefinitionsResolver.java
@@ -42,7 +42,7 @@ public class DefaultRestDefinitionsResolver implements RestDefinitionsResolver {
 
     @Override
     public List<String> findCamelContexts() throws Exception {
-        return Collections.EMPTY_LIST;
+        return Collections.emptyList();
     }
 
 }
diff --git a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/OpenApiHelper.java b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/OpenApiHelper.java
index 8574ef7..55b767e 100644
--- a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/OpenApiHelper.java
+++ b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/OpenApiHelper.java
@@ -93,7 +93,7 @@ public final class OpenApiHelper {
     }
 
     private static Map<HttpMethod, OasOperation> getOperationMap(OasPathItem path) {
-        Map<HttpMethod, OasOperation> result = new LinkedHashMap<HttpMethod, OasOperation>();
+        Map<HttpMethod, OasOperation> result = new LinkedHashMap<>();
 
         if (path.get != null) {
             result.put(HttpMethod.GET, path.get);
diff --git a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/OpenApiRestProducerFactory.java b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/OpenApiRestProducerFactory.java
index 0933d19..9051f10 100644
--- a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/OpenApiRestProducerFactory.java
+++ b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/OpenApiRestProducerFactory.java
@@ -92,9 +92,8 @@ public class OpenApiRestProducerFactory implements RestProducerFactory {
 
         String componentName = (String) parameters.get("componentName");
 
-        Producer producer = createHttpProducer(camelContext, openApi, operation, host, verb, path, queryParameters,
+        return createHttpProducer(camelContext, openApi, operation, host, verb, path, queryParameters,
                 produces, consumes, componentName, parameters);
-        return producer;
     }
 
     OasDocument loadOpenApiModel(CamelContext camelContext, String apiDoc) throws Exception {
@@ -168,9 +167,7 @@ public class OpenApiRestProducerFactory implements RestProducerFactory {
                     Oas30Operation oas30Operation = (Oas30Operation) operation;
                     for (OasResponse response : oas30Operation.responses.getResponses()) {
                         Oas30Response oas30Response = (Oas30Response) response;
-                        for (String ct : oas30Response.content.keySet()) {
-                            list.add(ct);
-                        }
+                        list.addAll(oas30Response.content.keySet());
                     }
 
                 }
@@ -195,9 +192,7 @@ public class OpenApiRestProducerFactory implements RestProducerFactory {
                     Oas30Operation oas30Operation = (Oas30Operation) operation;
                     if (oas30Operation.requestBody != null
                             && oas30Operation.requestBody.content != null) {
-                        for (String ct : oas30Operation.requestBody.content.keySet()) {
-                            list.add(ct);
-                        }
+                        list.addAll(oas30Operation.requestBody.content.keySet());
                     }
 
                 }
@@ -214,8 +209,8 @@ public class OpenApiRestProducerFactory implements RestProducerFactory {
                 consumes = consumesBuilder.length() == 0 ? null : consumesBuilder.toString();
             }
 
-            String basePath = null;
-            String uriTemplate = null;
+            String basePath;
+            String uriTemplate;
             if (host == null) {
 
                 //if no explicit host has been configured then use host and base path from the openApi api-doc
diff --git a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestModelConverters.java b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestModelConverters.java
index 9cc6c3e..0959922 100644
--- a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestModelConverters.java
+++ b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestModelConverters.java
@@ -97,7 +97,7 @@ public class RestModelConverters {
             oasDocument.definitions = oasDocument.createDefinitions();
         }
 
-        Map<String, Schema> swaggerModel = MODEL_CONVERTERS.getInstance().readAll(clazz);
+        Map<String, Schema> swaggerModel = ModelConverters.getInstance().readAll(clazz);
         swaggerModel.forEach((key, schema) -> {
             Oas20SchemaDefinition model = oasDocument.definitions.createSchemaDefinition(key);
             oasDocument.definitions.addDefinition(key, model);
diff --git a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
index 29ce035..e2b40dc 100644
--- a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
+++ b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiReader.java
@@ -467,7 +467,7 @@ public class RestOpenApiReader {
 
     private String buildBasePath(CamelContext camelContext, RestDefinition rest) {
         // used during gathering of apis
-        String basePath = getValue(camelContext, rest.getPath());
+        String basePath = FileUtil.stripLeadingSeparator(getValue(camelContext, rest.getPath()));
 
         // is there any context-path which we must use in base path for each rest service
         String cp = camelContext.getRestConfiguration() != null ? camelContext.getRestConfiguration().getContextPath() : null;
diff --git a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiSupport.java b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiSupport.java
index 0280614..86a89ca 100644
--- a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiSupport.java
+++ b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/RestOpenApiSupport.java
@@ -130,7 +130,7 @@ public class RestOpenApiSupport {
                     String trimmedScheme = scheme.trim();
                     if (ObjectHelper.isNotEmpty(trimmedScheme)) {
                         if (((Oas20Document) openApi).schemes == null) {
-                            ((Oas20Document) openApi).schemes = new ArrayList();
+                            ((Oas20Document) openApi).schemes = new ArrayList<>();
                         }
                         ((Oas20Document) openApi).schemes.add(trimmedScheme.toLowerCase());
                     }
@@ -159,8 +159,7 @@ public class RestOpenApiSupport {
                 String[] schemes = proto.split(",");
                 for (String schema : schemes) {
                     String trimmedScheme = schema.trim();
-                    String serverUrl = new StringBuilder().append(trimmedScheme.toLowerCase()).append("://").append(host)
-                            .append(basePath).toString();
+                    String serverUrl = String.format("%s://%s%s", trimmedScheme.toLowerCase(), host, basePath);
                     ((Oas30Document) openApi).addServer(serverUrl, null);
 
                 }
@@ -210,11 +209,8 @@ public class RestOpenApiSupport {
                         URL serverUrl = new URL(
                                 parseVariables(((Oas30Document) openapi).getServers().get(0).url,
                                         (Oas30Server) ((Oas30Document) openapi).getServers().get(0)));
-                        basePath = serverUrl.getPath();
-                        if (basePath.indexOf("//") == 0) {
-                            // strip off the first "/" if double "/" exists
-                            basePath = basePath.substring(1);
-                        }
+                        // strip off the first "/" if double "/" exists
+                        basePath = serverUrl.getPath().replaceAll("//", "/");
                         if ("/".equals(basePath)) {
                             basePath = "";
                         }
@@ -232,7 +228,7 @@ public class RestOpenApiSupport {
     }
 
     public static String parseVariables(String url, Oas30Server server) {
-        Pattern p = Pattern.compile("\\{(.*?)\\}");
+        Pattern p = Pattern.compile("\\{(.*?)}");
         Matcher m = p.matcher(url);
         while (m.find()) {
             String var = m.group(1);
@@ -286,7 +282,6 @@ public class RestOpenApiSupport {
         String contactEmail = (String) config.get("api.contact.email");
 
         if (!openApiConfig.isOpenApi3()) {
-
             setInfoOas20(openApiConfig, version, title, description, termsOfService, licenseName, licenseUrl,
                     contactName, contactUrl, contactEmail);
         } else {
@@ -396,8 +391,8 @@ public class RestOpenApiSupport {
                         .getOrDefault("api.specification.contentType.json", "application/json"));
 
                 // read the rest-dsl into openApi model
-                OasDocument openApi
-                        = reader.read(camelContext, rests, openApiConfig, camelContext.getName(), classResolver);
+                OasDocument openApi = reader.read(
+                        camelContext, rests, openApiConfig, camelContext.getName(), classResolver);
                 if (configuration.isUseXForwardHeaders()) {
                     setupXForwardedHeaders(openApi, headers);
                 }
@@ -417,8 +412,8 @@ public class RestOpenApiSupport {
                         .getOrDefault("api.specification.contentType.yaml", "text/yaml"));
 
                 // read the rest-dsl into openApi model
-                OasDocument openApi
-                        = reader.read(camelContext, rests, openApiConfig, camelContext.getName(), classResolver);
+                OasDocument openApi = reader.read(
+                        camelContext, rests, openApiConfig, camelContext.getName(), classResolver);
                 if (configuration.isUseXForwardHeaders()) {
                     setupXForwardedHeaders(openApi, headers);
                 }