This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git
The following commit(s) were added to refs/heads/master by this push:
new fde7f8f Provide API to retrieve Basic configuration #679
fde7f8f is described below
commit fde7f8f4683e93baf6267543180b02ebb39f9e07
Author: Aurélien Pupier <[email protected]>
AuthorDate: Thu Nov 5 16:18:37 2020 +0100
Provide API to retrieve Basic configuration #679
- it is exposing Camel Kafka APIs
- it requires then to add explicitly dependencies on kafka-clients and
connect-api as they are marked as "provided" for camel-kafka-connector
Signed-off-by: Aurélien Pupier <[email protected]>
---
camel-kafka-connector-catalog/pom.xml | 13 ++++++++++++
.../catalog/CamelKafkaConnectorCatalog.java | 11 +++++++++++
.../catalog/CamelKafkaConnectorCatalogTest.java | 23 ++++++++++++++++++++++
3 files changed, 47 insertions(+)
diff --git a/camel-kafka-connector-catalog/pom.xml
b/camel-kafka-connector-catalog/pom.xml
index a1ac9c9..e92b491 100644
--- a/camel-kafka-connector-catalog/pom.xml
+++ b/camel-kafka-connector-catalog/pom.xml
@@ -51,6 +51,11 @@
</dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
+ <artifactId>camel-kafka-connector</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>connectors</artifactId>
<version>${project.version}</version>
<type>pom</type>
@@ -60,6 +65,14 @@
<artifactId>camel-core-catalog</artifactId>
<version>${camel.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.kafka</groupId>
+ <artifactId>kafka-clients</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.kafka</groupId>
+ <artifactId>connect-api</artifactId>
+ </dependency>
<!-- logging -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
diff --git
a/camel-kafka-connector-catalog/src/main/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalog.java
b/camel-kafka-connector-catalog/src/main/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalog.java
index 7b28a69..d11bf5a 100644
---
a/camel-kafka-connector-catalog/src/main/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalog.java
+++
b/camel-kafka-connector-catalog/src/main/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalog.java
@@ -31,10 +31,13 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.camel.kafkaconnector.CamelSourceConnectorConfig;
import org.apache.camel.kafkaconnector.model.CamelKafkaConnectorModel;
import org.apache.camel.kafkaconnector.model.CamelKafkaConnectorOptionModel;
import org.apache.camel.tooling.model.JsonMapper;
import org.apache.camel.util.json.JsonObject;
+import org.apache.kafka.common.config.ConfigDef;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -181,4 +184,12 @@ public class CamelKafkaConnectorCatalog {
connectorsName.remove(connectorName);
connectorsModel.remove(connectorName);
}
+
+ public ConfigDef getBasicConfigurationForSink() {
+ return CamelSinkConnectorConfig.conf();
+ }
+
+ public ConfigDef getBasicConfigurationForSource() {
+ return CamelSourceConnectorConfig.conf();
+ }
}
diff --git
a/camel-kafka-connector-catalog/src/test/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalogTest.java
b/camel-kafka-connector-catalog/src/test/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalogTest.java
index 175e131..50157ac 100644
---
a/camel-kafka-connector-catalog/src/test/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalogTest.java
+++
b/camel-kafka-connector-catalog/src/test/java/org/apache/camel/kafkaconnector/catalog/CamelKafkaConnectorCatalogTest.java
@@ -19,8 +19,13 @@ package org.apache.camel.kafkaconnector.catalog;
import java.util.List;
import java.util.Map;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.camel.kafkaconnector.CamelSourceConnectorConfig;
import org.apache.camel.kafkaconnector.model.CamelKafkaConnectorModel;
import org.apache.camel.kafkaconnector.model.CamelKafkaConnectorOptionModel;
+import org.apache.kafka.common.config.ConfigDef;
+import org.apache.kafka.common.config.ConfigDef.ConfigKey;
+import org.apache.kafka.common.config.ConfigDef.Type;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@@ -168,5 +173,23 @@ class CamelKafkaConnectorCatalogTest {
CamelKafkaConnectorModel model = p.get("camel-aws2-s3-sink");
assertEquals("Store and retrieve objects from AWS S3 Storage Service
using AWS SDK version 2.x.", model.getDescription());
}
+
+ @Test
+ void testBasicConfigurationForSink() throws Exception {
+ ConfigDef sinkConfigDef = catalog.getBasicConfigurationForSink();
+ ConfigKey marshalConfigKey =
sinkConfigDef.configKeys().get(CamelSinkConnectorConfig.CAMEL_SINK_MARSHAL_CONF);
+ assertEquals(CamelSinkConnectorConfig.CAMEL_SINK_MARSHAL_CONF,
marshalConfigKey.name);
+ assertEquals(CamelSinkConnectorConfig.CAMEL_SINK_MARSHAL_DOC,
marshalConfigKey.documentation);
+ assertEquals(Type.STRING, marshalConfigKey.type);
+ }
+
+ @Test
+ void testBasicConfigurationForSource() throws Exception {
+ ConfigDef sourceConfigDef = catalog.getBasicConfigurationForSource();
+ ConfigKey marshalConfigKey =
sourceConfigDef.configKeys().get(CamelSourceConnectorConfig.CAMEL_SOURCE_MARSHAL_CONF);
+ assertEquals(CamelSourceConnectorConfig.CAMEL_SOURCE_MARSHAL_CONF,
marshalConfigKey.name);
+ assertEquals(CamelSourceConnectorConfig.CAMEL_SOURCE_MARSHAL_DOC,
marshalConfigKey.documentation);
+ assertEquals(Type.STRING, marshalConfigKey.type);
+ }
}