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

acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git


The following commit(s) were added to refs/heads/main by this push:
     new a9ead6d  Camel-Kamelets-Catalog: Added kamelet dependencies method
a9ead6d is described below

commit a9ead6d5aed93280331fc2efd674c326233da973
Author: Andrea Cosentino <[email protected]>
AuthorDate: Wed Apr 28 11:27:17 2021 +0200

    Camel-Kamelets-Catalog: Added kamelet dependencies method
---
 .../camel/kamelets/catalog/KameletsCatalog.java    | 25 +++++++++++++++-------
 .../kamelets/catalog/KameletsCatalogTest.java      |  9 ++++++++
 2 files changed, 26 insertions(+), 8 deletions(-)

diff --git 
a/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
 
b/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
index 704ba09..9cdd82c 100644
--- 
a/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
+++ 
b/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
@@ -101,6 +101,18 @@ public class KameletsCatalog {
         }
     }
 
+    public List<Kamelet> getKameletByProvider(String provider) {
+        List<Kamelet> collect = kameletModels.entrySet().stream()
+                .filter(x -> 
x.getValue().getMetadata().getAnnotations().get("camel.apache.org/provider").equalsIgnoreCase(provider))
+                .map(Map.Entry::getValue)
+                .collect(Collectors.toList());
+        if (!collect.isEmpty()) {
+            return collect;
+        } else {
+            return Collections.emptyList();
+        }
+    }
+
     public List<String> getKameletRequiredProperties(String name) {
         Kamelet kamelet = kameletModels.get(name);
         if (kamelet != null) {
@@ -110,15 +122,12 @@ public class KameletsCatalog {
         }
     }
 
-    public List<Kamelet> getKameletByProvider(String provider) {
-        List<Kamelet> collect = kameletModels.entrySet().stream()
-                .filter(x -> 
x.getValue().getMetadata().getAnnotations().get("camel.apache.org/provider").equalsIgnoreCase(provider))
-                .map(Map.Entry::getValue)
-                .collect(Collectors.toList());
-        if (!collect.isEmpty()) {
-            return collect;
+    public List<String> getKameletDependencies(String name) {
+        Kamelet kamelet = kameletModels.get(name);
+        if (kamelet != null) {
+            return kamelet.getSpec().getDependencies();
         } else {
-            return Collections.emptyList();
+            return null;
         }
     }
 }
diff --git 
a/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
 
b/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
index a334517..dce0c52 100644
--- 
a/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
+++ 
b/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
@@ -84,4 +84,13 @@ public class KameletsCatalogTest {
         c = catalog.getKameletByProvider("Eclipse");
         assertEquals(0, c.size());
     }
+
+    @Test
+    void testGetKameletsDependencies() throws Exception {
+        List<String> deps = catalog.getKameletDependencies("aws-sqs-source");
+        assertEquals(0, deps.size());
+        deps = catalog.getKameletDependencies("cassandra-sink");
+        assertEquals(1, deps.size());
+        assertEquals("camel:jackson", deps.get(0));
+    }
 }

Reply via email to