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/12/22 08:36:24 UTC

[camel] branch main updated (8e2dc54 -> cb89cba)

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

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


    from 8e2dc54  Upgrade AWS SDK v2 to version 2.17.102
     new e172063  CAMEL-17194: componentdsl - Prepare for generate only once during project build.
     new b7c6ec1  CAMEL-17194: endpointdsl - Prepare for generate only once during project build.
     new 2f6bdfd  CAMEL-17194: endpointdsl - Prepare for generate only once during project build.
     new cb89cba  CAMEL-17194: endpointdsl - Prepare for generate only once during project build.

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../builder/endpoint/StaticEndpointBuilders.java   | 151 ---------------------
 .../endpoint/dsl/CoAPEndpointBuilderFactory.java   |  16 +--
 .../endpoint/dsl/SolrEndpointBuilderFactory.java   |  16 +--
 .../camel/maven/packaging/ComponentDslMojo.java    |  73 +++-------
 .../camel/maven/packaging/EndpointDslMojo.java     | 114 +++++-----------
 5 files changed, 69 insertions(+), 301 deletions(-)

[camel] 02/04: CAMEL-17194: endpointdsl - Prepare for generate only once during project build.

Posted by da...@apache.org.
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

commit b7c6ec183eb7fe9a1d0989db769eda34988b36ff
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Dec 22 09:07:11 2021 +0100

    CAMEL-17194: endpointdsl - Prepare for generate only once during project build.
---
 .../camel/maven/packaging/EndpointDslMojo.java     | 97 ++++------------------
 1 file changed, 18 insertions(+), 79 deletions(-)

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 1534970..4f6da63 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
@@ -27,11 +27,6 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
-import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
 import javax.annotation.Generated;
@@ -41,7 +36,6 @@ import org.apache.camel.tooling.model.ComponentModel;
 import org.apache.camel.tooling.model.ComponentModel.EndpointOptionModel;
 import org.apache.camel.tooling.model.JsonMapper;
 import org.apache.camel.tooling.util.JavadocHelper;
-import org.apache.camel.tooling.util.PackageHelper;
 import org.apache.camel.tooling.util.Strings;
 import org.apache.camel.tooling.util.srcgen.GenericType;
 import org.apache.camel.tooling.util.srcgen.JavaClass;
@@ -62,7 +56,6 @@ import org.jboss.forge.roaster.model.source.MethodSource;
 import org.jboss.forge.roaster.model.source.ParameterSource;
 import org.sonatype.plexus.build.incremental.BuildContext;
 
-import static org.apache.camel.maven.packaging.MojoHelper.getComponentPath;
 import static org.apache.camel.tooling.util.PackageHelper.findCamelDirectory;
 import static org.apache.camel.tooling.util.PackageHelper.loadText;
 
@@ -73,8 +66,6 @@ import static org.apache.camel.tooling.util.PackageHelper.loadText;
       defaultPhase = LifecyclePhase.PROCESS_CLASSES)
 public class EndpointDslMojo extends AbstractGeneratorMojo {
 
-    private static final Map<Path, Lock> LOCKS = new ConcurrentHashMap<>();
-
     /**
      * The project build directory
      */
@@ -118,10 +109,12 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
     protected File outputResourcesDir;
 
     /**
-     * The components directory where all the Apache Camel components are
+     * The catalog directory where the component json files are
      */
-    @Parameter(defaultValue = "${project.build.directory}/../../../components")
-    protected File componentsDir;
+    @Parameter(defaultValue = "${project.build.directory}/../../../catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components")
+    protected File jsonDir;
+
+    private transient String licenseHeader;
 
     @Override
     public void execute(MavenProject project, MavenProjectHelper projectHelper, BuildContext buildContext)
@@ -153,35 +146,14 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
 
         List<ComponentModel> models = new ArrayList<>();
 
-        for (File dir : componentsDir.listFiles()) {
-            List<Path> subs = getComponentPath(dir.toPath());
-            for (Path sub : subs) {
-                sub = sub.resolve("src/generated/resources/");
-                PackageHelper.walk(sub).forEach(p -> {
-                    String f = p.getFileName().toString();
-                    if (f.endsWith(PackageHelper.JSON_SUFIX)) {
-                        try {
-                            BaseModel<?> model = JsonMapper.generateModel(p);
-                            if (model instanceof ComponentModel) {
-                                models.add((ComponentModel) model);
-                            }
-                        } catch (Exception e) {
-                            // ignore as its not a camel model
-                        }
-                    }
-                });
-            }
+        for (File file : jsonDir.listFiles()) {
+            BaseModel<?> model = JsonMapper.generateModel(file.toPath());
+            models.add((ComponentModel) model);
         }
         models.sort((o1, o2) -> o1.getScheme().compareToIgnoreCase(o2.getScheme()));
 
         // generate component endpoint DSL files and write them
-        Lock lock = LOCKS.computeIfAbsent(root, d -> new ReentrantLock());
-        lock.lock();
-        try {
-            executeComponent(models);
-        } finally {
-            lock.unlock();
-        }
+        executeComponent(models);
     }
 
     private void executeComponent(List<ComponentModel> allModels) throws MojoFailureException {
@@ -191,6 +163,14 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
             // Group the models by implementing classes
             Map<String, List<ComponentModel>> grModels
                     = allModels.stream().collect(Collectors.groupingBy(ComponentModel::getJavaType));
+
+            // load license header
+            try (InputStream is = getClass().getClassLoader().getResourceAsStream("license-header-java.txt")) {
+                this.licenseHeader = loadText(is);
+            } catch (Exception e) {
+                throw new MojoFailureException("Error loading license-header-java.txt file", e);
+            }
+
             for (List<ComponentModel> compModels : grModels.values()) {
                 ComponentModel model = compModels.get(0); // They should be equivalent
                 List<String> aliases = compModels.stream().map(ComponentModel::getScheme).sorted().collect(Collectors.toList());
@@ -941,43 +921,6 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
         return getProjectClassLoader().generateDummyClass(clazzName);
     }
 
-    private static String loadComponentJson(Map<File, Supplier<String>> jsonFiles, String componentName) {
-        return loadJsonOfType(jsonFiles, componentName, "component");
-    }
-
-    private static String loadJsonOfType(Map<File, Supplier<String>> jsonFiles, String modelName, String type) {
-        for (Map.Entry<File, Supplier<String>> entry : jsonFiles.entrySet()) {
-            if (entry.getKey().getName().equals(modelName + PackageHelper.JSON_SUFIX)) {
-                String json = entry.getValue().get();
-                if (type.equals(PackageHelper.getSchemaKind(json))) {
-                    return json;
-                }
-            }
-        }
-        return null;
-    }
-
-    private void findComponentNames(File dir, Set<String> componentNames) {
-        File f = new File(dir, "classes/META-INF/services/org/apache/camel/component");
-
-        if (f.exists() && f.isDirectory()) {
-            File[] files = f.listFiles();
-            if (files != null) {
-                for (File file : files) {
-                    // skip directories as there may be a sub .resolver
-                    // directory
-                    if (file.isDirectory()) {
-                        continue;
-                    }
-                    String name = file.getName();
-                    if (name.charAt(0) != '.') {
-                        componentNames.add(name);
-                    }
-                }
-            }
-        }
-    }
-
     private boolean writeSourceIfChanged(JavaClass source, String filePath, String fileName, boolean innerClassesLast)
             throws MojoFailureException {
         return writeSourceIfChanged(source.printClass(innerClassesLast), filePath, fileName);
@@ -985,11 +928,7 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
 
     private boolean writeSourceIfChanged(String source, String filePath, String fileName) throws MojoFailureException {
         try {
-            String header;
-            try (InputStream is = getClass().getClassLoader().getResourceAsStream("license-header-java.txt")) {
-                header = loadText(is);
-            }
-            String code = header + source;
+            String code = licenseHeader + source;
             getLog().debug("Source code generated:\n" + code);
 
             return updateResource(sourcesOutputDir.toPath(), filePath + "/" + fileName, code);

[camel] 01/04: CAMEL-17194: componentdsl - Prepare for generate only once during project build.

Posted by da...@apache.org.
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

commit e17206379d6597982ddcbac074aa687eed06cccf
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Dec 22 09:02:28 2021 +0100

    CAMEL-17194: componentdsl - Prepare for generate only once during project build.
---
 .../camel/maven/packaging/ComponentDslMojo.java    | 60 +++++++---------------
 1 file changed, 19 insertions(+), 41 deletions(-)

diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java
index 08a9c8a..33e9ce8 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java
@@ -25,9 +25,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
 import java.util.stream.Collectors;
 
 import org.apache.camel.maven.packaging.dsl.component.ComponentDslBuilderFactoryGenerator;
@@ -36,7 +33,6 @@ import org.apache.camel.maven.packaging.dsl.component.ComponentsDslMetadataRegis
 import org.apache.camel.tooling.model.BaseModel;
 import org.apache.camel.tooling.model.ComponentModel;
 import org.apache.camel.tooling.model.JsonMapper;
-import org.apache.camel.tooling.util.PackageHelper;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugins.annotations.LifecyclePhase;
@@ -47,7 +43,6 @@ import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
 
-import static org.apache.camel.maven.packaging.MojoHelper.getComponentPath;
 import static org.apache.camel.tooling.util.PackageHelper.findCamelDirectory;
 import static org.apache.camel.tooling.util.PackageHelper.loadText;
 
@@ -58,8 +53,6 @@ import static org.apache.camel.tooling.util.PackageHelper.loadText;
       defaultPhase = LifecyclePhase.PROCESS_CLASSES)
 public class ComponentDslMojo extends AbstractGeneratorMojo {
 
-    private static final Map<Path, Lock> LOCKS = new ConcurrentHashMap<>();
-
     /**
      * The project build directory
      */
@@ -103,10 +96,12 @@ public class ComponentDslMojo extends AbstractGeneratorMojo {
     protected String componentsDslFactoriesPackageName;
 
     /**
-     * The components directory where all the Apache Camel components are
+     * The catalog directory where the component json files are
      */
-    @Parameter(defaultValue = "${project.build.directory}/../../../components")
-    protected File componentsDir;
+    @Parameter(defaultValue = "${project.build.directory}/../../../catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components")
+    protected File jsonDir;
+
+    private transient String licenseHeader;
 
     @Override
     public void execute(MavenProject project, MavenProjectHelper projectHelper, BuildContext buildContext)
@@ -138,34 +133,13 @@ public class ComponentDslMojo extends AbstractGeneratorMojo {
 
         List<ComponentModel> models = new ArrayList<>();
 
-        for (File dir : componentsDir.listFiles()) {
-            List<Path> subs = getComponentPath(dir.toPath());
-            for (Path sub : subs) {
-                sub = sub.resolve("src/generated/resources/");
-                PackageHelper.walk(sub).forEach(p -> {
-                    String f = p.getFileName().toString();
-                    if (f.endsWith(PackageHelper.JSON_SUFIX)) {
-                        try {
-                            BaseModel<?> model = JsonMapper.generateModel(p);
-                            if (model instanceof ComponentModel) {
-                                models.add((ComponentModel) model);
-                            }
-                        } catch (Exception e) {
-                            // ignore as its not a camel model
-                        }
-                    }
-                });
-            }
+        for (File file : jsonDir.listFiles()) {
+            BaseModel<?> model = JsonMapper.generateModel(file.toPath());
+            models.add((ComponentModel) model);
         }
         models.sort((o1, o2) -> o1.getScheme().compareToIgnoreCase(o2.getScheme()));
 
-        Lock lock = LOCKS.computeIfAbsent(root, d -> new ReentrantLock());
-        lock.lock();
-        try {
-            executeComponent(models);
-        } finally {
-            lock.unlock();
-        }
+        executeComponent(models);
     }
 
     private void executeComponent(List<ComponentModel> allModels) throws MojoExecutionException, MojoFailureException {
@@ -175,6 +149,14 @@ public class ComponentDslMojo extends AbstractGeneratorMojo {
             // Group the models by implementing classes
             Map<String, List<ComponentModel>> grModels
                     = allModels.stream().collect(Collectors.groupingBy(ComponentModel::getJavaType));
+
+            // load license header
+            try (InputStream is = getClass().getClassLoader().getResourceAsStream("license-header-java.txt")) {
+                this.licenseHeader = loadText(is);
+            } catch (Exception e) {
+                throw new MojoFailureException("Error loading license-header-java.txt file", e);
+            }
+
             for (List<ComponentModel> compModels : grModels.values()) {
                 for (ComponentModel model : compModels) {
                     // if more than one, we have a component class with multiple components aliases
@@ -184,7 +166,7 @@ public class ComponentDslMojo extends AbstractGeneratorMojo {
         }
     }
 
-    private void createComponentDsl(final ComponentModel model) throws MojoExecutionException, MojoFailureException {
+    private void createComponentDsl(final ComponentModel model) throws MojoFailureException {
         // Create components DSL factories
         final ComponentDslBuilderFactoryGenerator componentDslBuilderFactoryGenerator
                 = syncAndGenerateSpecificComponentsBuilderFactories(model);
@@ -249,11 +231,7 @@ public class ComponentDslMojo extends AbstractGeneratorMojo {
         Path target = outputDir.toPath().resolve(filePath).resolve(fileName);
 
         try {
-            String header;
-            try (InputStream is = getClass().getClassLoader().getResourceAsStream("license-header-java.txt")) {
-                header = loadText(is);
-            }
-            String code = header + source;
+            String code = licenseHeader + source;
             getLog().debug("Source code generated:\n" + code);
 
             return updateResource(buildContext, target, code);

[camel] 03/04: CAMEL-17194: endpointdsl - Prepare for generate only once during project build.

Posted by da...@apache.org.
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

commit 2f6bdfd24f496afa8ae9f2877533c64c84bfd28e
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Dec 22 09:28:51 2021 +0100

    CAMEL-17194: endpointdsl - Prepare for generate only once during project build.
---
 .../apache/camel/maven/packaging/ComponentDslMojo.java  | 15 +++------------
 .../apache/camel/maven/packaging/EndpointDslMojo.java   | 17 ++++++++++++++---
 2 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java
index 33e9ce8..761c415a 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ComponentDslMojo.java
@@ -22,10 +22,8 @@ import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
-import java.util.stream.Collectors;
 
 import org.apache.camel.maven.packaging.dsl.component.ComponentDslBuilderFactoryGenerator;
 import org.apache.camel.maven.packaging.dsl.component.ComponentsBuilderFactoryGenerator;
@@ -142,14 +140,10 @@ public class ComponentDslMojo extends AbstractGeneratorMojo {
         executeComponent(models);
     }
 
-    private void executeComponent(List<ComponentModel> allModels) throws MojoExecutionException, MojoFailureException {
+    private void executeComponent(List<ComponentModel> allModels) throws MojoFailureException {
         if (!allModels.isEmpty()) {
             getLog().debug("Found " + allModels.size() + " components");
 
-            // Group the models by implementing classes
-            Map<String, List<ComponentModel>> grModels
-                    = allModels.stream().collect(Collectors.groupingBy(ComponentModel::getJavaType));
-
             // load license header
             try (InputStream is = getClass().getClassLoader().getResourceAsStream("license-header-java.txt")) {
                 this.licenseHeader = loadText(is);
@@ -157,11 +151,8 @@ public class ComponentDslMojo extends AbstractGeneratorMojo {
                 throw new MojoFailureException("Error loading license-header-java.txt file", e);
             }
 
-            for (List<ComponentModel> compModels : grModels.values()) {
-                for (ComponentModel model : compModels) {
-                    // if more than one, we have a component class with multiple components aliases
-                    createComponentDsl(model);
-                }
+            for (ComponentModel model : allModels) {
+                createComponentDsl(model);
             }
         }
     }
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 4f6da63..1fb1a0e 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
@@ -150,7 +150,6 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
             BaseModel<?> model = JsonMapper.generateModel(file.toPath());
             models.add((ComponentModel) model);
         }
-        models.sort((o1, o2) -> o1.getScheme().compareToIgnoreCase(o2.getScheme()));
 
         // generate component endpoint DSL files and write them
         executeComponent(models);
@@ -172,8 +171,20 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
             }
 
             for (List<ComponentModel> compModels : grModels.values()) {
-                ComponentModel model = compModels.get(0); // They should be equivalent
-                List<String> aliases = compModels.stream().map(ComponentModel::getScheme).sorted().collect(Collectors.toList());
+                // if there are alias then we need to sort scheme according to the alternative schemes position
+                if (compModels.size() > 1) {
+                    compModels.sort((o1, o2) -> {
+                        String s1 = o1.getScheme();
+                        String s2 = o2.getScheme();
+                        String as = o1.getAlternativeSchemes();
+                        int i1 = as.indexOf(s1);
+                        int i2 = as.indexOf(s2);
+                        return Integer.compare(i1, i2);
+                    });
+                }
+
+                ComponentModel model = compModels.get(0); // master component
+                List<String> aliases = compModels.stream().map(ComponentModel::getScheme).collect(Collectors.toList());
 
                 String overrideComponentName = null;
                 if (aliases.size() > 1) {

[camel] 04/04: CAMEL-17194: endpointdsl - Prepare for generate only once during project build.

Posted by da...@apache.org.
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

commit cb89cba3212d219268ba6609980eb7d98433dd4f
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Dec 22 09:35:45 2021 +0100

    CAMEL-17194: endpointdsl - Prepare for generate only once during project build.
---
 .../builder/endpoint/StaticEndpointBuilders.java   | 151 ---------------------
 .../endpoint/dsl/CoAPEndpointBuilderFactory.java   |  16 +--
 .../endpoint/dsl/SolrEndpointBuilderFactory.java   |  16 +--
 3 files changed, 16 insertions(+), 167 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 94cb38a..7c73871 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
@@ -169,49 +169,6 @@ public class StaticEndpointBuilders {
         return org.apache.camel.builder.endpoint.dsl.WsEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
     /**
-     * Async HTTP Client (AHC) Secure Websocket (Secure) (camel-ahc-ws)
-     * Exchange data with external Websocket servers using Async Http Client.
-     * 
-     * Category: websocket
-     * Since: 2.14
-     * Maven coordinates: org.apache.camel:camel-ahc-ws
-     * 
-     * Syntax: <code>ahc-wss:httpUri</code>
-     * 
-     * Path parameter: httpUri (required)
-     * The URI to use such as http://hostname:port/path
-     * 
-     * @param path httpUri
-     * @return the dsl builder
-     */
-    public static org.apache.camel.builder.endpoint.dsl.WsEndpointBuilderFactory.WsEndpointBuilder ahcWss(
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.WsEndpointBuilderFactory.endpointBuilder("ahc-wss", path);
-    }
-    /**
-     * Async HTTP Client (AHC) Secure Websocket (Secure) (camel-ahc-ws)
-     * Exchange data with external Websocket servers using Async Http Client.
-     * 
-     * Category: websocket
-     * Since: 2.14
-     * Maven coordinates: org.apache.camel:camel-ahc-ws
-     * 
-     * Syntax: <code>ahc-wss:httpUri</code>
-     * 
-     * Path parameter: httpUri (required)
-     * The URI to use such as http://hostname:port/path
-     * 
-     * @param componentName to use a custom component name for the endpoint
-     * instead of the default name
-     * @param path httpUri
-     * @return the dsl builder
-     */
-    public static org.apache.camel.builder.endpoint.dsl.WsEndpointBuilderFactory.WsEndpointBuilder ahcWss(
-            String componentName,
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.WsEndpointBuilderFactory.endpointBuilder(componentName, path);
-    }
-    /**
      * AMQP (camel-amqp)
      * Messaging with AMQP protocol using Apache QPid Client.
      * 
@@ -2953,65 +2910,6 @@ public class StaticEndpointBuilders {
         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: websocket
-     * 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);
-    }
-    /**
-     * CometD (Secure) (camel-cometd)
-     * Offers publish/subscribe, peer-to-peer (via a server), and RPC style
-     * messaging using the CometD/Bayeux protocol.
-     * 
-     * Category: websocket
-     * 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 componentName to use a custom component name for the endpoint
-     * instead of the default name
-     * @param path host:port/channelName
-     * @return the dsl builder
-     */
-    public static org.apache.camel.builder.endpoint.dsl.CometdEndpointBuilderFactory.CometdEndpointBuilder cometds(
-            String componentName,
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.CometdEndpointBuilderFactory.endpointBuilder(componentName, path);
-    }
-    /**
      * Consul (camel-consul)
      * Integrate with Consul service discovery and configuration store.
      * 
@@ -12140,55 +12038,6 @@ public class StaticEndpointBuilders {
         return org.apache.camel.builder.endpoint.dsl.PlatformHttpEndpointBuilderFactory.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);
-    }
-    /**
-     * 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 componentName to use a custom component name for the endpoint
-     * instead of the default name
-     * @param path host:port
-     * @return the dsl builder
-     */
-    public static org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.MailEndpointBuilder pop3(
-            String componentName,
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.MailEndpointBuilderFactory.endpointBuilder(componentName, path);
-    }
-    /**
      * PubNub (camel-pubnub)
      * Send and receive messages to/from PubNub data stream network for
      * connected devices.
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
index 92295af..87abc4e 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CoAPEndpointBuilderFactory.java
@@ -1084,14 +1084,14 @@ public interface CoAPEndpointBuilderFactory {
             return CoAPEndpointBuilderFactory.endpointBuilder(componentName, path);
         }
         /**
-         * CoAP (camel-coap)
+         * 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>coap+tcp:uri</code>
+         * Syntax: <code>coaps:uri</code>
          * 
          * Path parameter: uri
          * The URI for the CoAP endpoint
@@ -1099,18 +1099,18 @@ public interface CoAPEndpointBuilderFactory {
          * @param path uri
          * @return the dsl builder
          */
-        default CoAPEndpointBuilder coapTcp(String path) {
-            return CoAPEndpointBuilderFactory.endpointBuilder("coap+tcp", path);
+        default CoAPEndpointBuilder coaps(String path) {
+            return CoAPEndpointBuilderFactory.endpointBuilder("coaps", path);
         }
         /**
-         * CoAP (Secure) (camel-coap)
+         * 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:uri</code>
+         * Syntax: <code>coap+tcp:uri</code>
          * 
          * Path parameter: uri
          * The URI for the CoAP endpoint
@@ -1118,8 +1118,8 @@ public interface CoAPEndpointBuilderFactory {
          * @param path uri
          * @return the dsl builder
          */
-        default CoAPEndpointBuilder coaps(String path) {
-            return CoAPEndpointBuilderFactory.endpointBuilder("coaps", path);
+        default CoAPEndpointBuilder coapTcp(String path) {
+            return CoAPEndpointBuilderFactory.endpointBuilder("coap+tcp", path);
         }
         /**
          * CoAP (camel-coap)
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SolrEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SolrEndpointBuilderFactory.java
index 6841a1a..c5fbae7 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SolrEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SolrEndpointBuilderFactory.java
@@ -622,14 +622,14 @@ public interface SolrEndpointBuilderFactory {
             return SolrEndpointBuilderFactory.endpointBuilder(componentName, path);
         }
         /**
-         * Solr (camel-solr)
+         * Solr (Secure) (camel-solr)
          * Perform operations against Apache Lucene Solr.
          * 
          * Category: monitoring,search
          * Since: 2.9
          * Maven coordinates: org.apache.camel:camel-solr
          * 
-         * Syntax: <code>solrCloud:url</code>
+         * Syntax: <code>solrs:url</code>
          * 
          * Path parameter: url (required)
          * Hostname and port for the Solr server(s). Multiple hosts can be
@@ -639,18 +639,18 @@ public interface SolrEndpointBuilderFactory {
          * @param path url
          * @return the dsl builder
          */
-        default SolrEndpointBuilder solrCloud(String path) {
-            return SolrEndpointBuilderFactory.endpointBuilder("solrCloud", path);
+        default SolrEndpointBuilder solrs(String path) {
+            return SolrEndpointBuilderFactory.endpointBuilder("solrs", path);
         }
         /**
-         * Solr (Secure) (camel-solr)
+         * Solr (camel-solr)
          * Perform operations against Apache Lucene Solr.
          * 
          * Category: monitoring,search
          * Since: 2.9
          * Maven coordinates: org.apache.camel:camel-solr
          * 
-         * Syntax: <code>solrs:url</code>
+         * Syntax: <code>solrCloud:url</code>
          * 
          * Path parameter: url (required)
          * Hostname and port for the Solr server(s). Multiple hosts can be
@@ -660,8 +660,8 @@ public interface SolrEndpointBuilderFactory {
          * @param path url
          * @return the dsl builder
          */
-        default SolrEndpointBuilder solrs(String path) {
-            return SolrEndpointBuilderFactory.endpointBuilder("solrs", path);
+        default SolrEndpointBuilder solrCloud(String path) {
+            return SolrEndpointBuilderFactory.endpointBuilder("solrCloud", path);
         }
     }
     static SolrEndpointBuilder endpointBuilder(String componentName, String path) {