You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/10/12 16:24:35 UTC

[camel-kafka-connector] 03/05: Provide API to remove connector in Catalog #573

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 ed4603f1a953316f8c4a514a93004f7af23791af
Author: Aurélien Pupier <ap...@redhat.com>
AuthorDate: Mon Oct 12 15:03:30 2020 +0200

    Provide API to remove connector in Catalog #573
    
    Signed-off-by: Aurélien Pupier <ap...@redhat.com>
---
 .../catalog/CamelKafkaConnectorCatalog.java        |  8 ++++++++
 .../catalog/CamelKafkaConnectorCatalogTest.java    | 24 ++++++++++++++++++++++
 2 files changed, 32 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 65d910f..dd6a867 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
@@ -149,4 +149,12 @@ public class CamelKafkaConnectorCatalog {
         connectorsName.add(connectorName);
         connectorsModel.put(connectorName, createModel(connectorDefinitionAsJson));
     }
+
+    /**
+     * @param connectorName The connector name to remove from the Catalog
+     */
+    public void removeConnector(String connectorName) {
+        connectorsName.remove(connectorName);
+        connectorsModel.remove(connectorName);
+    }
 }
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 446bc38..98fad46 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
@@ -84,5 +84,29 @@ class CamelKafkaConnectorCatalogTest {
         assertEquals("MEDIUM", camelKafkaConnectorOptionModel.getPriority());
         assertEquals("A demo description of the component", camelKafkaConnectorOptionModel.getDescription());
     }
+    
+    @Test
+    void testRemoveConnector() throws Exception {
+        String connectorName = "my-test-to-remove-connector";
+        catalog.addConnector(connectorName, "{\n"
+                + "    \"connector\": {\n"
+                + "        \"class\": \"org.apache.camel.kafkaconnector.my-test-connector.TestDemoConnector\",\n"
+                + "        \"artifactId\": \"camel-my-test-connector-kafka-connector\",\n"
+                + "        \"groupId\": \"org.apache.camel.kafkaconnector\",\n"
+                + "        \"id\": \"my-test-to-remove-connector\",\n"
+                + "        \"type\": \"sink\",\n"
+                + "        \"version\": \"0.6.0-SNAPSHOT\"\n"
+                + "    },\n"
+                + "    \"properties\": {}\n"
+                + "}\n");
+        
+        assertTrue(catalog.getConnectorsName().contains(connectorName));
+        assertNotNull(catalog.getConnectorsModel().get(connectorName));
+        
+        catalog.removeConnector(connectorName);
+        
+        assertFalse(catalog.getConnectorsName().contains(connectorName));
+        assertNull(catalog.getConnectorsModel().get(connectorName));
+    }
 
 }