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
commit be63a9fd10b3ab3b50dc61af3fd40a8191c80104 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Tue Apr 27 18:50:52 2021 +0200 Added Camel-Kamelet-catalog getByProvider method --- .../org/apache/camel/kamelets/catalog/KameletsCatalog.java | 13 +++++++++++++ .../apache/camel/kamelets/catalog/KameletsCatalogTest.java | 9 +++++++++ 2 files changed, 22 insertions(+) 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 9671589..704ba09 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 @@ -29,6 +29,7 @@ import org.slf4j.LoggerFactory; import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; @@ -108,4 +109,16 @@ public class KameletsCatalog { return null; } } + + 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(); + } + } } 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 ff741c4..a334517 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 @@ -16,6 +16,7 @@ */ package org.apache.camel.kamelets.catalog; +import io.fabric8.camelk.v1alpha1.Kamelet; import io.fabric8.kubernetes.api.model.apiextensions.v1.JSONSchemaProps; import org.apache.camel.kamelets.catalog.model.KameletTypeEnum; import org.junit.jupiter.api.BeforeAll; @@ -75,4 +76,12 @@ public class KameletsCatalogTest { JSONSchemaProps props = catalog.getKameletDefinition("word"); assertNull(props); } + + @Test + void testGetKameletsByProvider() throws Exception { + List<Kamelet> c = catalog.getKameletByProvider("Apache Software Foundation"); + assertEquals(62, c.size()); + c = catalog.getKameletByProvider("Eclipse"); + assertEquals(0, c.size()); + } }