Skip to content

Commit

Permalink
Switch from Fabric8 Camel K Extension to Camel K CRDS
Browse files Browse the repository at this point in the history
Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
  • Loading branch information
oscerd committed Jul 13, 2023
1 parent fc13a94 commit 1167d43
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 16 deletions.
6 changes: 3 additions & 3 deletions library/camel-kamelets-catalog/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@
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;
Expand All @@ -42,6 +40,9 @@
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;

Expand Down Expand Up @@ -135,7 +136,7 @@ public List<Kamelet> getKameletsByGroups(String group) {
return collect;
}

public JSONSchemaProps getKameletDefinition(String name) {
public Definition getKameletDefinition(String name) {
Kamelet kamelet = kameletModels.get(name);
if (kamelet != null) {
return kamelet.getSpec().getDefinition();
Expand Down Expand Up @@ -188,7 +189,7 @@ public void getAllKameletDependencies() {
}
}

public Map<String, Object> getKameletTemplate(String name) {
public Template getKameletTemplate(String name) {
Kamelet kamelet = kameletModels.get(name);
if (kamelet != null) {
return kamelet.getSpec().getTemplate();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,13 @@
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;

Expand Down Expand Up @@ -52,7 +53,7 @@ void testGetKamelets() throws Exception {

@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"));
}
Expand All @@ -66,7 +67,7 @@ void testGetKameletsRequiredProperties() throws Exception {

@Test
void testGetKameletsDefinitionNotExists() throws Exception {
JSONSchemaProps props = catalog.getKameletDefinition("word");
Definition props = catalog.getKameletDefinition("word");
assertNull(props);
}

Expand Down Expand Up @@ -118,7 +119,7 @@ void testGetKameletsDependencies() throws Exception {

@Test
void testGetKameletsTemplate() throws Exception {
Map<String, Object> template = catalog.getKameletTemplate("aws-sqs-source");
Template template = catalog.getKameletTemplate("aws-sqs-source");
assertNotNull(template);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,14 @@
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;
Expand Down Expand Up @@ -64,9 +69,12 @@ public void execute() throws MojoExecutionException, MojoFailureException {
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))
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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>" -->
Expand Down

0 comments on commit 1167d43

Please sign in to comment.