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
commit 669f0d673b7869aa756a7c8c4930a5874bf792f2 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Thu Oct 22 09:25:22 2020 +0200 Add more convenience method to CamelKafkaConnectorCatalog --- .../kafkaconnector/catalog/CamelKafkaConnectorCatalog.java | 13 +++++++++++++ .../catalog/CamelKafkaConnectorCatalogTest.java | 11 +++++++++++ 2 files changed, 24 insertions(+) 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 76fae32..94f23ea 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 @@ -25,6 +25,7 @@ import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; @@ -148,6 +149,18 @@ public class CamelKafkaConnectorCatalog { public Map<String, CamelKafkaConnectorModel> getConnectorsModel() { return connectorsModel; } + + public CamelKafkaConnectorOptionModel getOptionModel(String connectorName, String optionName) { + List<CamelKafkaConnectorOptionModel> options = getConnectorsModel().get(connectorName).getOptions(); + for (Iterator iterator = options.iterator(); iterator.hasNext();) { + CamelKafkaConnectorOptionModel camelKafkaConnectorOptionModel = (CamelKafkaConnectorOptionModel) iterator + .next(); + if (camelKafkaConnectorOptionModel.getName().equals(optionName)) { + return camelKafkaConnectorOptionModel; + } + } + return null; + } /** * Register a new Connector definition in the catalog. 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 fa094c2..f285424 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 @@ -150,5 +150,16 @@ class CamelKafkaConnectorCatalogTest { assertFalse(catalog.getConnectorsName().contains(connectorName), "The connector is still present in ConnectorNames list."); assertNull(catalog.getConnectorsModel().get(connectorName), "The connector model is still present in the ConnectorsModel map."); } + + @Test + void testAws2SnsGetSingleOption() throws Exception { + Map<String, CamelKafkaConnectorModel> p = catalog.getConnectorsModel(); + CamelKafkaConnectorOptionModel existingOption = catalog.getOptionModel("camel-aws2-sns-sink", "camel.sink.path.topicNameOrArn"); + assertNotNull(existingOption); + assertEquals("true", existingOption.getRequired()); + assertEquals("Topic name or ARN", existingOption.getDescription()); + CamelKafkaConnectorOptionModel nonExistingOption = catalog.getOptionModel("camel-aws2-sns-sink", "camel.sink.path.topiNameOrAr"); + assertNull(nonExistingOption); + } }