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 2023/10/25 17:57:45 UTC

[camel] branch main updated: CAMEL-20036: camel-endpointdsl - Add static builders for alias scheme… (#11839)

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 b3f38eb9c19 CAMEL-20036: camel-endpointdsl - Add static builders for alias scheme… (#11839)
b3f38eb9c19 is described below

commit b3f38eb9c193751f1834b68e574317045661767d
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Oct 25 19:57:38 2023 +0200

    CAMEL-20036: camel-endpointdsl - Add static builders for alias scheme… (#11839)
    
    * CAMEL-20036: camel-endpointdsl - Add static builders for alias schemes such as https
    
    * CAMEL-20036: camel-endpointdsl - Add static builders for alias schemes such as https
---
 .../builder/endpoint/StaticEndpointBuilders.java   | 261 ++++++++++++++++++++-
 .../endpoint/dsl/AWS2S3EndpointBuilderFactory.java |   4 +-
 .../dsl/EventbridgeEndpointBuilderFactory.java     |   4 +-
 .../endpoint/dsl/HttpEndpointBuilderFactory.java   |   6 +-
 .../apache/camel/builder/endpoint/HttpsTest.java   |  54 +++++
 .../camel/maven/packaging/EndpointDslMojo.java     |  37 ++-
 .../maven/packaging/generics/JavadocUtil.java      |  13 +-
 7 files changed, 342 insertions(+), 37 deletions(-)

diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index 6459890cd79..3b64cddb62c 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -738,7 +738,7 @@ public class StaticEndpointBuilders {
      * Path parameter: eventbusNameOrArn (required)
      * Event bus name or ARN
      * 
-     * @param path //eventbusNameOrArn
+     * @param path eventbusNameOrArn
      * @return the dsl builder
      */
     public static org.apache.camel.builder.endpoint.dsl.EventbridgeEndpointBuilderFactory.EventbridgeEndpointBuilder aws2Eventbridge(
@@ -760,7 +760,7 @@ public class StaticEndpointBuilders {
      * 
      * @param componentName to use a custom component name for the endpoint
      * instead of the default name
-     * @param path //eventbusNameOrArn
+     * @param path eventbusNameOrArn
      * @return the dsl builder
      */
     public static org.apache.camel.builder.endpoint.dsl.EventbridgeEndpointBuilderFactory.EventbridgeEndpointBuilder aws2Eventbridge(
@@ -1125,7 +1125,7 @@ public class StaticEndpointBuilders {
      * Path parameter: bucketNameOrArn (required)
      * Bucket name or ARN
      * 
-     * @param path //bucketNameOrArn
+     * @param path bucketNameOrArn
      * @return the dsl builder
      */
     public static org.apache.camel.builder.endpoint.dsl.AWS2S3EndpointBuilderFactory.AWS2S3EndpointBuilder aws2S3(
@@ -1147,7 +1147,7 @@ public class StaticEndpointBuilders {
      * 
      * @param componentName to use a custom component name for the endpoint
      * instead of the default name
-     * @param path //bucketNameOrArn
+     * @param path bucketNameOrArn
      * @return the dsl builder
      */
     public static org.apache.camel.builder.endpoint.dsl.AWS2S3EndpointBuilderFactory.AWS2S3EndpointBuilder aws2S3(
@@ -2591,6 +2591,66 @@ public class StaticEndpointBuilders {
             String path) {
         return org.apache.camel.builder.endpoint.dsl.CoAPEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
+    /**
+     * CoAP (Secure) (camel-coap)
+     * Send and receive messages to/from COAP capable devices.
+     * 
+     * Category: iot
+     * Since: 2.16
+     * Maven coordinates: org.apache.camel:camel-coap
+     * 
+     * Syntax: <code>coaps:uri</code>
+     * 
+     * Path parameter: uri
+     * The URI for the CoAP endpoint
+     * 
+     * @param path uri
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.CoAPEndpointBuilderFactory.CoAPEndpointBuilder coaps(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.CoAPEndpointBuilderFactory.endpointBuilder("coaps", path);
+    }
+    /**
+     * CoAP (camel-coap)
+     * Send and receive messages to/from COAP capable devices.
+     * 
+     * Category: iot
+     * Since: 2.16
+     * Maven coordinates: org.apache.camel:camel-coap
+     * 
+     * Syntax: <code>coaps+tcp:uri</code>
+     * 
+     * Path parameter: uri
+     * The URI for the CoAP endpoint
+     * 
+     * @param path uri
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.CoAPEndpointBuilderFactory.CoAPEndpointBuilder coapsTcp(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.CoAPEndpointBuilderFactory.endpointBuilder("coaps+tcp", path);
+    }
+    /**
+     * CoAP (camel-coap)
+     * Send and receive messages to/from COAP capable devices.
+     * 
+     * Category: iot
+     * Since: 2.16
+     * Maven coordinates: org.apache.camel:camel-coap
+     * 
+     * Syntax: <code>coap+tcp:uri</code>
+     * 
+     * Path parameter: uri
+     * The URI for the CoAP endpoint
+     * 
+     * @param path uri
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.CoAPEndpointBuilderFactory.CoAPEndpointBuilder coapTcp(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.CoAPEndpointBuilderFactory.endpointBuilder("coap+tcp", path);
+    }
     /**
      * CometD (camel-cometd)
      * Offers publish/subscribe, peer-to-peer (via a server), and RPC style
@@ -2650,6 +2710,34 @@ public class StaticEndpointBuilders {
             String path) {
         return org.apache.camel.builder.endpoint.dsl.CometdEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
+    /**
+     * CometD (Secure) (camel-cometd)
+     * Offers publish/subscribe, peer-to-peer (via a server), and RPC style
+     * messaging using the CometD/Bayeux protocol.
+     * 
+     * Category: networking,messaging
+     * Since: 2.0
+     * Maven coordinates: org.apache.camel:camel-cometd
+     * 
+     * Syntax: <code>cometds:host:port/channelName</code>
+     * 
+     * Path parameter: host (required)
+     * Hostname
+     * 
+     * Path parameter: port (required)
+     * Host port number
+     * 
+     * Path parameter: channelName (required)
+     * The channelName represents a topic that can be subscribed to by the Camel
+     * endpoints.
+     * 
+     * @param path host:port/channelName
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.CometdEndpointBuilderFactory.CometdEndpointBuilder cometds(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.CometdEndpointBuilderFactory.endpointBuilder("cometds", path);
+    }
     /**
      * Consul (camel-consul)
      * Integrate with Consul service discovery and configuration store.
@@ -6377,7 +6465,7 @@ public class StaticEndpointBuilders {
      * Path parameter: httpUri (required)
      * The url of the HTTP endpoint to call.
      * 
-     * @param path //httpUri
+     * @param path httpUri
      * @return the dsl builder
      */
     public static org.apache.camel.builder.endpoint.dsl.HttpEndpointBuilderFactory.HttpEndpointBuilder http(
@@ -6399,7 +6487,7 @@ public class StaticEndpointBuilders {
      * 
      * @param componentName to use a custom component name for the endpoint
      * instead of the default name
-     * @param path //httpUri
+     * @param path httpUri
      * @return the dsl builder
      */
     public static org.apache.camel.builder.endpoint.dsl.HttpEndpointBuilderFactory.HttpEndpointBuilder http(
@@ -6407,6 +6495,26 @@ public class StaticEndpointBuilders {
             String path) {
         return org.apache.camel.builder.endpoint.dsl.HttpEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
+    /**
+     * HTTPS (Secure) (camel-http)
+     * Send requests to external HTTP servers using Apache HTTP Client 5.x.
+     * 
+     * Category: http
+     * Since: 2.3
+     * Maven coordinates: org.apache.camel:camel-http
+     * 
+     * Syntax: <code>https://httpUri</code>
+     * 
+     * Path parameter: httpUri (required)
+     * The url of the HTTP endpoint to call.
+     * 
+     * @param path httpUri
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.HttpEndpointBuilderFactory.HttpEndpointBuilder https(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.HttpEndpointBuilderFactory.endpointBuilder("https", path);
+    }
     /**
      * Huawei Distributed Message Service (DMS) (camel-huaweicloud-dms)
      * To integrate with a fully managed, high-performance message queuing
@@ -7164,6 +7272,29 @@ public class StaticEndpointBuilders {
             String path) {
         return org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
+    /**
+     * IMAPS (Secure) (camel-mail)
+     * Send and receive emails using imap, pop3 and smtp protocols.
+     * 
+     * Category: mail
+     * Since: 1.0
+     * Maven coordinates: org.apache.camel:camel-mail
+     * 
+     * Syntax: <code>imaps:host:port</code>
+     * 
+     * Path parameter: host (required)
+     * The mail server host name
+     * 
+     * Path parameter: port
+     * The port number of the mail server
+     * 
+     * @param path host:port
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.MailEndpointBuilder imaps(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.endpointBuilder("imaps", path);
+    }
     /**
      * Infinispan (camel-infinispan)
      * Read and write from/to Infinispan distributed key/value store and data
@@ -11497,6 +11628,52 @@ public class StaticEndpointBuilders {
             String path) {
         return org.apache.camel.builder.endpoint.dsl.Plc4XEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
+    /**
+     * POP3 (camel-mail)
+     * Send and receive emails using imap, pop3 and smtp protocols.
+     * 
+     * Category: mail
+     * Since: 1.0
+     * Maven coordinates: org.apache.camel:camel-mail
+     * 
+     * Syntax: <code>pop3:host:port</code>
+     * 
+     * Path parameter: host (required)
+     * The mail server host name
+     * 
+     * Path parameter: port
+     * The port number of the mail server
+     * 
+     * @param path host:port
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.MailEndpointBuilder pop3(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.endpointBuilder("pop3", path);
+    }
+    /**
+     * POP3S (camel-mail)
+     * Send and receive emails using imap, pop3 and smtp protocols.
+     * 
+     * Category: mail
+     * Since: 1.0
+     * Maven coordinates: org.apache.camel:camel-mail
+     * 
+     * Syntax: <code>pop3s:host:port</code>
+     * 
+     * Path parameter: host (required)
+     * The mail server host name
+     * 
+     * Path parameter: port
+     * The port number of the mail server
+     * 
+     * @param path host:port
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.MailEndpointBuilder pop3s(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.endpointBuilder("pop3s", path);
+    }
     /**
      * PubNub (camel-pubnub)
      * Send and receive messages to/from PubNub data stream network for
@@ -12902,6 +13079,78 @@ public class StaticEndpointBuilders {
             String path) {
         return org.apache.camel.builder.endpoint.dsl.SmppEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
+    /**
+     * SMPP (Secure) (camel-smpp)
+     * Send and receive SMS messages using a SMSC (Short Message Service
+     * Center).
+     * 
+     * Category: mobile
+     * Since: 2.2
+     * Maven coordinates: org.apache.camel:camel-smpp
+     * 
+     * Syntax: <code>smpps:host:port</code>
+     * 
+     * Path parameter: host
+     * Hostname for the SMSC server to use.
+     * Default value: localhost
+     * 
+     * Path parameter: port
+     * Port number for the SMSC server to use.
+     * Default value: 2775
+     * 
+     * @param path host:port
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.SmppEndpointBuilderFactory.SmppEndpointBuilder smpps(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.SmppEndpointBuilderFactory.endpointBuilder("smpps", path);
+    }
+    /**
+     * SMTP (camel-mail)
+     * Send and receive emails using imap, pop3 and smtp protocols.
+     * 
+     * Category: mail
+     * Since: 1.0
+     * Maven coordinates: org.apache.camel:camel-mail
+     * 
+     * Syntax: <code>smtp:host:port</code>
+     * 
+     * Path parameter: host (required)
+     * The mail server host name
+     * 
+     * Path parameter: port
+     * The port number of the mail server
+     * 
+     * @param path host:port
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.MailEndpointBuilder smtp(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.endpointBuilder("smtp", path);
+    }
+    /**
+     * SMTPS (camel-mail)
+     * Send and receive emails using imap, pop3 and smtp protocols.
+     * 
+     * Category: mail
+     * Since: 1.0
+     * Maven coordinates: org.apache.camel:camel-mail
+     * 
+     * Syntax: <code>smtps:host:port</code>
+     * 
+     * Path parameter: host (required)
+     * The mail server host name
+     * 
+     * Path parameter: port
+     * The port number of the mail server
+     * 
+     * @param path host:port
+     * @return the dsl builder
+     */
+    public static org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.MailEndpointBuilder smtps(
+            String path) {
+        return org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.endpointBuilder("smtps", path);
+    }
     /**
      * SNMP (camel-snmp)
      * Receive traps and poll SNMP (Simple Network Management Protocol) capable
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AWS2S3EndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AWS2S3EndpointBuilderFactory.java
index 4e1561914c6..1700d1387cb 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AWS2S3EndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AWS2S3EndpointBuilderFactory.java
@@ -3421,7 +3421,7 @@ public interface AWS2S3EndpointBuilderFactory {
          * Path parameter: bucketNameOrArn (required)
          * Bucket name or ARN
          * 
-         * @param path //bucketNameOrArn
+         * @param path bucketNameOrArn
          * @return the dsl builder
          */
         default AWS2S3EndpointBuilder aws2S3(String path) {
@@ -3442,7 +3442,7 @@ public interface AWS2S3EndpointBuilderFactory {
          * 
          * @param componentName to use a custom component name for the endpoint
          * instead of the default name
-         * @param path //bucketNameOrArn
+         * @param path bucketNameOrArn
          * @return the dsl builder
          */
         default AWS2S3EndpointBuilder aws2S3(String componentName, String path) {
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EventbridgeEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EventbridgeEndpointBuilderFactory.java
index 64492f91393..3b46400b867 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EventbridgeEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EventbridgeEndpointBuilderFactory.java
@@ -543,7 +543,7 @@ public interface EventbridgeEndpointBuilderFactory {
          * Path parameter: eventbusNameOrArn (required)
          * Event bus name or ARN
          * 
-         * @param path //eventbusNameOrArn
+         * @param path eventbusNameOrArn
          * @return the dsl builder
          */
         default EventbridgeEndpointBuilder aws2Eventbridge(String path) {
@@ -564,7 +564,7 @@ public interface EventbridgeEndpointBuilderFactory {
          * 
          * @param componentName to use a custom component name for the endpoint
          * instead of the default name
-         * @param path //eventbusNameOrArn
+         * @param path eventbusNameOrArn
          * @return the dsl builder
          */
         default EventbridgeEndpointBuilder aws2Eventbridge(
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java
index a63a467f03b..5a1527924ce 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java
@@ -1580,7 +1580,7 @@ public interface HttpEndpointBuilderFactory {
          * Path parameter: httpUri (required)
          * The url of the HTTP endpoint to call.
          * 
-         * @param path //httpUri
+         * @param path httpUri
          * @return the dsl builder
          */
         default HttpEndpointBuilder http(String path) {
@@ -1601,7 +1601,7 @@ public interface HttpEndpointBuilderFactory {
          * 
          * @param componentName to use a custom component name for the endpoint
          * instead of the default name
-         * @param path //httpUri
+         * @param path httpUri
          * @return the dsl builder
          */
         default HttpEndpointBuilder http(String componentName, String path) {
@@ -1620,7 +1620,7 @@ public interface HttpEndpointBuilderFactory {
          * Path parameter: httpUri (required)
          * The url of the HTTP endpoint to call.
          * 
-         * @param path //httpUri
+         * @param path httpUri
          * @return the dsl builder
          */
         default HttpEndpointBuilder https(String path) {
diff --git a/dsl/camel-endpointdsl/src/test/java/org/apache/camel/builder/endpoint/HttpsTest.java b/dsl/camel-endpointdsl/src/test/java/org/apache/camel/builder/endpoint/HttpsTest.java
new file mode 100644
index 00000000000..26888c861ee
--- /dev/null
+++ b/dsl/camel-endpointdsl/src/test/java/org/apache/camel/builder/endpoint/HttpsTest.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.endpoint;
+
+import org.apache.camel.Endpoint;
+import org.apache.camel.builder.endpoint.dsl.HttpEndpointBuilderFactory;
+import org.apache.camel.component.http.HttpEndpoint;
+import org.junit.jupiter.api.Test;
+
+import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+public class HttpsTest extends BaseEndpointDslTest {
+
+    @Override
+    public boolean isUseRouteBuilder() {
+        return false;
+    }
+
+    @Test
+    public void testHttps() throws Exception {
+        context.start();
+
+        context.addRoutes(new EndpointRouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                HttpEndpointBuilderFactory.HttpEndpointBuilder builder
+                        = https("mysecurehost.com/foo");
+                Endpoint endpoint = builder.resolve(context);
+                assertNotNull(endpoint);
+                HttpEndpoint he = assertIsInstanceOf(HttpEndpoint.class, endpoint);
+                assertEquals("https://mysecurehost.com/foo", he.getHttpUri().toString());
+            }
+        });
+
+        context.stop();
+    }
+
+}
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
index 55bc352194a..b25de2feb00 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
@@ -469,16 +469,13 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
                 method.addAnnotation(Deprecated.class);
             }
 
-            // we only want the first alias (master scheme) as static builders
-            if (firstAlias) {
-                // copy method for the static builders (which allows to use the endpoint-dsl from outside EndpointRouteBuilder)
-                method = method.copy();
-                method.setPublic().setStatic();
-                method.setReturnType(builderClass.getCanonicalName().replace('$', '.'));
-                method.setBodyF("return %s.%s(%s);", javaClass.getCanonicalName(), "endpointBuilder",
-                        "\"" + componentModel.getScheme() + "\", path");
-                staticBuilders.add(method);
-            }
+            // copy method for the static builders (which allows to use the endpoint-dsl from outside EndpointRouteBuilder)
+            method = method.copy();
+            method.setPublic().setStatic();
+            method.setReturnType(builderClass.getCanonicalName().replace('$', '.'));
+            method.setBodyF("return %s.%s(%s);", javaClass.getCanonicalName(), "endpointBuilder",
+                    "\"" + componentModel.getScheme() + "\", path");
+            staticBuilders.add(method);
 
             // we only want first alias for variation with custom component name
             if (firstAlias) {
@@ -497,20 +494,16 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
                 if (componentModel.isDeprecated()) {
                     method.addAnnotation(Deprecated.class);
                 }
+                firstAlias = false;
             }
 
-            // we only want the first alias (master scheme) as static builders
-            if (firstAlias) {
-                // copy method for the static builders (which allows to use the endpoint-dsl from outside EndpointRouteBuilder)
-                method = method.copy();
-                method.setPublic().setStatic();
-                method.setReturnType(builderClass.getCanonicalName().replace('$', '.'));
-                method.setBodyF("return %s.%s(%s);", javaClass.getCanonicalName(), "endpointBuilder",
-                        "componentName, path");
-                staticBuilders.add(method);
-            }
-
-            firstAlias = false;
+            // copy method for the static builders (which allows to use the endpoint-dsl from outside EndpointRouteBuilder)
+            method = method.copy();
+            method.setPublic().setStatic();
+            method.setReturnType(builderClass.getCanonicalName().replace('$', '.'));
+            method.setBodyF("return %s.%s(%s);", javaClass.getCanonicalName(), "endpointBuilder",
+                    "componentName, path");
+            staticBuilders.add(method);
         }
     }
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/JavadocUtil.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/JavadocUtil.java
index 00605347f1a..3a785d83cbe 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/JavadocUtil.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/generics/JavadocUtil.java
@@ -93,12 +93,21 @@ public final class JavadocUtil {
     }
 
     public static String pathParameterJavaDoc(ComponentModel model) {
+        String doc = null;
         int pos = model.getSyntax().indexOf(':');
         if (pos != -1) {
-            return model.getSyntax().substring(pos + 1);
+            doc = model.getSyntax().substring(pos + 1);
         } else {
-            return model.getSyntax();
+            doc = model.getSyntax();
         }
+
+        // remove leading non alpha symbols
+        char ch = doc.charAt(0);
+        while (!Character.isAlphabetic(ch)) {
+            doc = doc.substring(1);
+            ch = doc.charAt(0);
+        }
+        return doc;
     }
 
     public static String extractJavaDoc(String sourceCode, MethodSource<?> ms) throws IOException {