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

acosentino pushed a commit to branch fix-component-exclusion
in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git

commit 0f957db0e22345ed85694ca717b290b4912a8e3d
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Wed Jun 17 19:07:30 2020 +0200

    Fixed component exclusion in combination with filter
---
 connectors/pom.xml                                 |  1 +
 docs/modules/ROOT/pages/connectors.adoc            |  3 ++-
 .../maven/GenerateCamelKafkaConnectorsMojo.java    | 30 +++++++++++++++++-----
 3 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/connectors/pom.xml b/connectors/pom.xml
index ea5283f..f1e9672 100644
--- a/connectors/pom.xml
+++ b/connectors/pom.xml
@@ -219,6 +219,7 @@
         <module>camel-bean-kafka-connector</module>
         <module>camel-bean-validator-kafka-connector</module>
         <module>camel-beanstalk-kafka-connector</module>
+        <module>camel-bonita-kafka-connector</module>
         <module>camel-box-kafka-connector</module>
         <module>camel-braintree-kafka-connector</module>
         <module>camel-browse-kafka-connector</module>
diff --git a/docs/modules/ROOT/pages/connectors.adoc 
b/docs/modules/ROOT/pages/connectors.adoc
index 18e7582..1ce3727 100644
--- a/docs/modules/ROOT/pages/connectors.adoc
+++ b/docs/modules/ROOT/pages/connectors.adoc
@@ -2,7 +2,7 @@
 = Supported connectors and documentation
 
 // kafka-connectors list: START
-Number of Camel Kafka connectors: 349 
+Number of Camel Kafka connectors: 350 
 
 [width="100%",cols="4,1,1,1,1,1,1",options="header"]
 |===
@@ -70,6 +70,7 @@ Number of Camel Kafka connectors: 349
 | *camel-bean-kafka-connector* | true | false | 
xref:connectors/camel-bean-kafka-sink-connector.adoc[Sink Docs] |  | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-bean-kafka-connector/0.2.0/camel-bean-kafka-connector-0.2.0-package.zip[Download
 Zip] | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-bean-kafka-connector/0.2.0/camel-bean-kafka-connector-0.2.0-package.tar.gz[Download
 Tar.gz]
 | *camel-bean-validator-kafka-connector* | true | false | 
xref:connectors/camel-bean-validator-kafka-sink-connector.adoc[Sink Docs] |  | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-bean-validator-kafka-connector/0.2.0/camel-bean-validator-kafka-connector-0.2.0-package.zip[Download
 Zip] | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-bean-validator-kafka-connector/0.2.0/camel-bean-validator-kafka-connector-0.2.0-package.tar.gz[Do
 [...]
 | *camel-beanstalk-kafka-connector* | true | true | 
xref:connectors/camel-beanstalk-kafka-sink-connector.adoc[Sink Docs] | 
xref:connectors/camel-beanstalk-kafka-source-connector.adoc[Source Docs] | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-beanstalk-kafka-connector/0.2.0/camel-beanstalk-kafka-connector-0.2.0-package.zip[Download
 Zip] | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-beanstalk-kafka-connector/0.2.0/camel-beanstal
 [...]
+| *camel-bonita-kafka-connector* | true | false | 
xref:connectors/camel-bonita-kafka-sink-connector.adoc[Sink Docs] |  | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-bonita-kafka-connector/0.2.0/camel-bonita-kafka-connector-0.2.0-package.zip[Download
 Zip] | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-bonita-kafka-connector/0.2.0/camel-bonita-kafka-connector-0.2.0-package.tar.gz[Download
 Tar.gz]
 | *camel-box-kafka-connector* | true | true | 
xref:connectors/camel-box-kafka-sink-connector.adoc[Sink Docs] | 
xref:connectors/camel-box-kafka-source-connector.adoc[Source Docs] | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-box-kafka-connector/0.2.0/camel-box-kafka-connector-0.2.0-package.zip[Download
 Zip] | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-box-kafka-connector/0.2.0/camel-box-kafka-connector-0.2.0-package.tar.gz[Dow
 [...]
 | *camel-braintree-kafka-connector* | true | true | 
xref:connectors/camel-braintree-kafka-sink-connector.adoc[Sink Docs] | 
xref:connectors/camel-braintree-kafka-source-connector.adoc[Source Docs] | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-braintree-kafka-connector/0.2.0/camel-braintree-kafka-connector-0.2.0-package.zip[Download
 Zip] | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-braintree-kafka-connector/0.2.0/camel-braintre
 [...]
 | *camel-browse-kafka-connector* | true | true | 
xref:connectors/camel-browse-kafka-sink-connector.adoc[Sink Docs] | 
xref:connectors/camel-browse-kafka-source-connector.adoc[Source Docs] | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-browse-kafka-connector/0.2.0/camel-browse-kafka-connector-0.2.0-package.zip[Download
 Zip] | 
https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-browse-kafka-connector/0.2.0/camel-browse-kafka-connector-0.2
 [...]
diff --git 
a/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/GenerateCamelKafkaConnectorsMojo.java
 
b/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/GenerateCamelKafkaConnectorsMojo.java
index 9ad226c..de3d998 100644
--- 
a/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/GenerateCamelKafkaConnectorsMojo.java
+++ 
b/tooling/camel-kafka-connector-generator-maven-plugin/src/main/java/org/apache/camel/kafkaconnector/maven/GenerateCamelKafkaConnectorsMojo.java
@@ -18,9 +18,12 @@ package org.apache.camel.kafkaconnector.maven;
 
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Properties;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 import org.apache.camel.catalog.CamelCatalog;
@@ -76,11 +79,17 @@ public class GenerateCamelKafkaConnectorsMojo extends 
AbstractCamelKafkaConnecto
 
     @Component
     private BuildPluginManager pluginManager;
-
+    
     /**
      * The Camel Component Filter to select for which components generate the 
corresponding camel kafka connector.
      */
     @Parameter(defaultValue = "", readonly = true)
+    private String filter;
+
+    /**
+     * The Camel Component Exclusion List to select for which components must 
be skipped while generating kafka connector.
+     */
+    @Parameter(defaultValue = "", readonly = true)
     private List excludedComponents = Collections.EMPTY_LIST;
 
     @Component
@@ -98,16 +107,25 @@ public class GenerateCamelKafkaConnectorsMojo extends 
AbstractCamelKafkaConnecto
     protected void executeAll() throws MojoExecutionException, IOException, 
ResourceNotFoundException, FileResourceCreationException {
         CamelCatalog cc = new DefaultCamelCatalog();
         List<String> components;
-        //TODO: implement an exclusion mechanism
-        if (excludedComponents == null || excludedComponents.isEmpty()) {
+        List<String> filteredComponents;
+        if (filter == null || filter.isEmpty()) {
             components = cc.findComponentNames();
         } else {
-            components = cc.findComponentNames().stream().filter(componentName 
-> !excludedComponents.contains(componentName)).collect(Collectors.toList());
+            Set<String> filterComponentNames = new 
HashSet<>(Arrays.asList(filter.split(",")));
+            components = cc.findComponentNames().stream().filter(componentName 
-> filterComponentNames.contains(componentName)).collect(Collectors.toList());
+        }
+        if (excludedComponents == null || excludedComponents.isEmpty()) {
+            filteredComponents = components;
+        } else {
+            filteredComponents = components.stream().filter(componentName -> 
!excludedComponents.contains(componentName)).collect(Collectors.toList());
+        }
+        if (filter != null && !filter.isEmpty()) {
+            getLog().info("Filtered Components that will be generated: " + 
filter);
         }
-        if (!excludedComponents.isEmpty()) {
+        if (excludedComponents != null && !excludedComponents.isEmpty()) {
             getLog().info("Excluded Components that won't be generated: " + 
excludedComponents);
         }
-        getLog().info("Components found to be generated/updated: " + 
components);
+        getLog().info("Components found to be generated/updated: " + 
filteredComponents);
 
         //TODO: evaluate dataformats to include in each camel kafka connector 
generated placing them as a comma separated GAV in:
         String additionalDependencies = "";

Reply via email to