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 2023/07/13 09:17:46 UTC
[camel-kamelets] 01/01: Switch from Fabric8 Camel K Extension to Camel K CRDS
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch crds
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
commit e38b0ea05b10cc30a5f3459c8c284860c0c097a4
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Jul 13 11:17:16 2023 +0200
Switch from Fabric8 Camel K Extension to Camel K CRDS
Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
library/camel-kamelets-catalog/pom.xml | 6 +++---
.../org/apache/camel/kamelets/catalog/KameletsCatalog.java | 9 +++++----
.../apache/camel/kamelets/catalog/KameletsCatalogTest.java | 13 +++++++------
.../camel/kamelets/maven/plugin/ValidateKameletsMojo.java | 12 ++++++++++--
pom.xml | 2 +-
5 files changed, 26 insertions(+), 16 deletions(-)
diff --git a/library/camel-kamelets-catalog/pom.xml b/library/camel-kamelets-catalog/pom.xml
index ea227540..99d2c4d3 100644
--- a/library/camel-kamelets-catalog/pom.xml
+++ b/library/camel-kamelets-catalog/pom.xml
@@ -64,9 +64,9 @@
<version>${jackson2-version}</version>
</dependency>
<dependency>
- <groupId>io.fabric8</groupId>
- <artifactId>camel-k-model-v1alpha1</artifactId>
- <version>${camel.k.extension.version}</version>
+ <groupId>org.apache.camel.k</groupId>
+ <artifactId>camel-k-crds</artifactId>
+ <version>${camel.k.crds.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
diff --git a/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java b/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
index 014c20a6..0824a5ff 100644
--- a/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
+++ b/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
@@ -30,8 +30,6 @@ import java.util.stream.Collectors;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
-import io.fabric8.camelk.v1alpha1.Kamelet;
-import io.fabric8.camelk.v1alpha1.JSONSchemaProps;
import io.github.classgraph.ClassGraph;
import io.github.classgraph.Resource;
import io.github.classgraph.ScanResult;
@@ -42,6 +40,9 @@ import org.apache.camel.kamelets.catalog.model.KameletPrefixSchemeEnum;
import org.apache.camel.kamelets.catalog.model.KameletTypeEnum;
import org.apache.camel.tooling.model.ComponentModel;
import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.v1alpha1.Kamelet;
+import org.apache.camel.v1alpha1.kameletspec.Definition;
+import org.apache.camel.v1alpha1.kameletspec.Template;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -135,7 +136,7 @@ public class KameletsCatalog {
return collect;
}
- public JSONSchemaProps getKameletDefinition(String name) {
+ public Definition getKameletDefinition(String name) {
Kamelet kamelet = kameletModels.get(name);
if (kamelet != null) {
return kamelet.getSpec().getDefinition();
@@ -188,7 +189,7 @@ public class KameletsCatalog {
}
}
- public Map<String, Object> getKameletTemplate(String name) {
+ public Template getKameletTemplate(String name) {
Kamelet kamelet = kameletModels.get(name);
if (kamelet != null) {
return kamelet.getSpec().getTemplate();
diff --git a/library/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java b/library/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
index 404a9bfe..eb7e3402 100644
--- a/library/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
+++ b/library/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
@@ -19,12 +19,13 @@ package org.apache.camel.kamelets.catalog;
import java.util.List;
import java.util.Map;
-import io.fabric8.camelk.v1alpha1.JSONSchemaProps;
-import io.fabric8.camelk.v1alpha1.Kamelet;
+
import io.github.classgraph.ClassGraph;
-import org.apache.camel.kamelets.catalog.model.KameletPrefixSchemeEnum;
import org.apache.camel.kamelets.catalog.model.KameletTypeEnum;
import org.apache.camel.tooling.model.ComponentModel;
+import org.apache.camel.v1alpha1.Kamelet;
+import org.apache.camel.v1alpha1.kameletspec.Definition;
+import org.apache.camel.v1alpha1.kameletspec.Template;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@@ -52,7 +53,7 @@ public class KameletsCatalogTest {
@Test
void testGetKameletsDefinition() throws Exception {
- JSONSchemaProps props = catalog.getKameletDefinition("aws-sqs-source");
+ Definition props = catalog.getKameletDefinition("aws-sqs-source");
assertEquals(14, props.getProperties().keySet().size());
assertTrue(props.getProperties().containsKey("queueNameOrArn"));
}
@@ -66,7 +67,7 @@ public class KameletsCatalogTest {
@Test
void testGetKameletsDefinitionNotExists() throws Exception {
- JSONSchemaProps props = catalog.getKameletDefinition("word");
+ Definition props = catalog.getKameletDefinition("word");
assertNull(props);
}
@@ -118,7 +119,7 @@ public class KameletsCatalogTest {
@Test
void testGetKameletsTemplate() throws Exception {
- Map<String, Object> template = catalog.getKameletTemplate("aws-sqs-source");
+ Template template = catalog.getKameletTemplate("aws-sqs-source");
assertNotNull(template);
}
diff --git a/library/kamelets-maven-plugin/src/main/java/org/apache/camel/kamelets/maven/plugin/ValidateKameletsMojo.java b/library/kamelets-maven-plugin/src/main/java/org/apache/camel/kamelets/maven/plugin/ValidateKameletsMojo.java
index 370df12e..b8a59393 100644
--- a/library/kamelets-maven-plugin/src/main/java/org/apache/camel/kamelets/maven/plugin/ValidateKameletsMojo.java
+++ b/library/kamelets-maven-plugin/src/main/java/org/apache/camel/kamelets/maven/plugin/ValidateKameletsMojo.java
@@ -22,9 +22,14 @@ import java.util.List;
import java.util.Map;
import java.util.function.Predicate;
import java.util.stream.Collectors;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.camel.catalog.DefaultCamelCatalog;
import org.apache.camel.kamelets.catalog.KameletsCatalog;
import org.apache.camel.tooling.model.ComponentModel;
+import org.apache.camel.v1alpha1.kameletspec.Template;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
@@ -64,9 +69,12 @@ public class ValidateKameletsMojo extends AbstractMojo {
KameletsCatalog catalog = new KameletsCatalog();
DefaultCamelCatalog cc = new DefaultCamelCatalog();
List<String> names = catalog.getKameletsName();
+ ObjectMapper om = new ObjectMapper();
for (String name: names) {
- Map<String, Object> kd = catalog.getKameletTemplate(name);
- Map<String,Object> f = (Map) kd.get("from");
+ Map<Object, Object> templateJson;
+ Template kd = catalog.getKameletTemplate(name);
+ templateJson = om.convertValue(kd, new TypeReference<Map<Object, Object>>(){});
+ Map<String,Object> f = (Map) templateJson.get("from");
Map<String,Object> p = (Map) f.get("parameters");
List<String> deps = catalog.getKameletDependencies(name).stream()
.filter(Predicate.not(bannedDepsList::contains))
diff --git a/pom.xml b/pom.xml
index 2e39f826..f2e0be2f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,7 +61,7 @@
<cyclonedx-maven-plugin-version>2.7.8</cyclonedx-maven-plugin-version>
<camel.version>4.0.0-RC1</camel.version>
- <camel.k.extension.version>6.1.1</camel.k.extension.version>
+ <camel.k.crds.version>1.12.1</camel.k.crds.version>
<!-- Versions used inside Kamelets (add them also to the dependencyManagement section and the groovy script below) -->
<!-- These properties must keep this same format "version.<groupId>.<artifactId>" -->