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);
+    }
 
 }

Reply via email to