This is an automated email from the ASF dual-hosted git repository. nferraro pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
commit c84b80bd56aed35c6c77c8577bed3b4415576b78 Author: nicolaferraro <[email protected]> AuthorDate: Fri Apr 30 14:08:59 2021 +0200 add utility library --- .gitignore | 30 ++++- .../wrapper/MavenWrapperDownloader.java | 0 .../.mvn => .mvn}/wrapper/maven-wrapper.jar | Bin .../.mvn => .mvn}/wrapper/maven-wrapper.properties | 0 camel-kamelets-catalog/.gitignore | 28 ----- insert-field-action.kamelet.yaml | 46 ++++++++ library/camel-kamelets-catalog/pom.xml | 121 +++++++++++++++++++++ .../camel/kamelets/catalog/KameletsCatalog.java | 0 .../kamelets/catalog/model/KameletLabelNames.java | 0 .../kamelets/catalog/model/KameletTypeEnum.java | 0 .../kamelets/aws-ddb-streams-source.kamelet.yaml | 0 .../aws-kinesis-firehose-sink.kamelet.yaml | 0 .../kamelets/aws-kinesis-sink.kamelet.yaml | 0 .../kamelets/aws-kinesis-source.kamelet.yaml | 0 .../kamelets/aws-lambda-sink.kamelet.yaml | 0 .../resources/kamelets/aws-s3-sink.kamelet.yaml | 0 .../resources/kamelets/aws-s3-source.kamelet.yaml | 0 .../kamelets/aws-sns-fifo-sink.kamelet.yaml | 0 .../resources/kamelets/aws-sns-sink.kamelet.yaml | 0 .../kamelets/aws-sqs-batch-sink.kamelet.yaml | 0 .../kamelets/aws-sqs-fifo-sink.kamelet.yaml | 0 .../resources/kamelets/aws-sqs-sink.kamelet.yaml | 0 .../resources/kamelets/aws-sqs-source.kamelet.yaml | 0 .../kamelets/azure-eventhubs-sink.kamelet.yaml | 0 .../kamelets/azure-eventhubs-source.kamelet.yaml | 0 .../kamelets/azure-storage-blob-sink.kamelet.yaml | 0 .../azure-storage-blob-source.kamelet.yaml | 0 .../kamelets/azure-storage-queue-sink.kamelet.yaml | 0 .../resources/kamelets/bitcoin-source.kamelet.yaml | 0 .../kamelets/caffeine-action.kamelet.yaml | 0 .../resources/kamelets/cassandra-sink.kamelet.yaml | 0 .../kamelets/cassandra-source.kamelet.yaml | 0 .../resources/kamelets/cron-source.kamelet.yaml | 0 .../resources/kamelets/dns-dig-action.kamelet.yaml | 0 .../resources/kamelets/dns-ip-action.kamelet.yaml | 0 .../kamelets/dns-lookup-action.kamelet.yaml | 0 .../resources/kamelets/dropbox-sink.kamelet.yaml | 0 .../resources/kamelets/dropbox-source.kamelet.yaml | 0 .../kamelets/earthquake-source.kamelet.yaml | 0 .../kamelets/elasticsearch-index-sink.kamelet.yaml | 0 .../elasticsearch-search-source.kamelet.yaml | 0 .../main/resources/kamelets/exec-sink.kamelet.yaml | 0 .../resources/kamelets/fhir-source.kamelet.yaml | 0 .../kamelets/file-watch-source.kamelet.yaml | 0 .../resources/kamelets/ftp-source.kamelet.yaml | 0 .../resources/kamelets/ftps-source.kamelet.yaml | 0 .../resources/kamelets/github-source.kamelet.yaml | 0 .../kamelets/google-calendar-source.kamelet.yaml | 0 .../kamelets/google-mail-source.kamelet.yaml | 0 .../kamelets/google-sheets-source.kamelet.yaml | 0 .../main/resources/kamelets/http-sink.kamelet.yaml | 0 .../resources/kamelets/http-source.kamelet.yaml | 0 .../kamelets/infinispan-source.kamelet.yaml | 0 .../resources/kamelets/jira-source.kamelet.yaml | 0 .../resources/kamelets/kafka-source.kamelet.yaml | 0 .../kamelets/mail-imap-source.kamelet.yaml | 0 .../resources/kamelets/minio-sink.kamelet.yaml | 0 .../resources/kamelets/minio-source.kamelet.yaml | 0 .../resources/kamelets/mqtt-source.kamelet.yaml | 0 .../resources/kamelets/nats-source.kamelet.yaml | 0 .../kamelets/openai-completion-action.kamelet.yaml | 0 .../resources/kamelets/pdf-action.kamelet.yaml | 0 .../kamelets/rabbitmq-source.kamelet.yaml | 0 .../kamelets/salesforce-source.kamelet.yaml | 0 .../resources/kamelets/sftp-source.kamelet.yaml | 0 .../resources/kamelets/slack-source.kamelet.yaml | 0 .../resources/kamelets/ssh-source.kamelet.yaml | 0 .../resources/kamelets/telegram-sink.kamelet.yaml | 0 .../kamelets/telegram-source.kamelet.yaml | 0 .../resources/kamelets/timer-source.kamelet.yaml | 0 .../twitter-directmessage-source.kamelet.yaml | 0 .../kamelets/twitter-search-source.kamelet.yaml | 0 .../kamelets/twitter-timeline-source.kamelet.yaml | 0 .../resources/kamelets/webhook-source.kamelet.yaml | 0 .../kamelets/catalog/KameletsCatalogTest.java | 0 library/camel-kamelets-utils/pom.xml | 62 +++++++++++ .../kamelets/utils/transform/InsertField.java | 24 ++++ camel-kamelets-catalog/mvnw => mvnw | 0 camel-kamelets-catalog/mvnw.cmd => mvnw.cmd | 0 camel-kamelets-catalog/pom.xml => pom.xml | 105 +++--------------- .../insert-field-action-binding.yaml | 22 ++++ .../insert-field-action.feature | 25 +++++ test/insert-field-action/yaks-config.yaml | 29 +++++ 83 files changed, 371 insertions(+), 121 deletions(-) diff --git a/.gitignore b/.gitignore index 7861f62..1d91935 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,30 @@ -node_modules /docs/build -.idea + +target *.iml -.project +*.ipr +*.iws +.idea +.DS_Store .classpath -.metadata +.ekstazi +.project +.settings +.checkstyle +*.log +test-salesforce-login.properties +dependency-reduced-pom.xml +id_file +components/camel-solr/data +*.epoch +.factorypath +.pmd +.sts4-cache +log-camel-lsp.out .vscode +*.code-workspace +components/camel-cxf/activemq-data +*.swp +.flattened-pom.xml +.java-version +node_modules/ diff --git a/camel-kamelets-catalog/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java similarity index 100% rename from camel-kamelets-catalog/.mvn/wrapper/MavenWrapperDownloader.java rename to .mvn/wrapper/MavenWrapperDownloader.java diff --git a/camel-kamelets-catalog/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar similarity index 100% rename from camel-kamelets-catalog/.mvn/wrapper/maven-wrapper.jar rename to .mvn/wrapper/maven-wrapper.jar diff --git a/camel-kamelets-catalog/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from camel-kamelets-catalog/.mvn/wrapper/maven-wrapper.properties rename to .mvn/wrapper/maven-wrapper.properties diff --git a/camel-kamelets-catalog/.gitignore b/camel-kamelets-catalog/.gitignore deleted file mode 100644 index b9130f2..0000000 --- a/camel-kamelets-catalog/.gitignore +++ /dev/null @@ -1,28 +0,0 @@ -target -*.iml -*.ipr -*.iws -.idea -.DS_Store -.classpath -.ekstazi -.project -.settings -.checkstyle -*.log -test-salesforce-login.properties -dependency-reduced-pom.xml -id_file -components/camel-solr/data -*.epoch -.factorypath -.pmd -.sts4-cache -log-camel-lsp.out -.vscode -*.code-workspace -components/camel-cxf/activemq-data -*.swp -.flattened-pom.xml -.java-version -node_modules/ diff --git a/insert-field-action.kamelet.yaml b/insert-field-action.kamelet.yaml new file mode 100644 index 0000000..3cc8b0a --- /dev/null +++ b/insert-field-action.kamelet.yaml @@ -0,0 +1,46 @@ +apiVersion: camel.apache.org/v1alpha1 +kind: Kamelet +metadata: + name: insert-field + labels: + camel.apache.org/kamelet.type: "action" + annotations: + camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG [...] + camel.apache.org/provider: "Apache Software Foundation" +spec: + definition: + title: "Insert Field" + description: "Adds a custom field with a constant value to the message in transit" + required: + - field + - value + properties: + field: + title: Field + description: The name of the field to be added + type: string + value: + title: Value + description: The value of the field + type: string + dependencies: + - github:apache.camel-kamelets:camel-kamelets-utils:main-SNAPSHOT + flow: + from: + uri: kamelet:source + steps: + - choice: + when: + - simple: "${header[Content-Type]} == 'application/json'" + steps: + - unmarshal: + json: {} + - set-property: + name: "field" + constant: "{{field}}" + - set-property: + name: "value" + constant: "{{value}}" + - bean: "org.apache.camel.kamelets.utils.transform.InsertField" + - marshal: + json: {} diff --git a/library/camel-kamelets-catalog/pom.xml b/library/camel-kamelets-catalog/pom.xml new file mode 100644 index 0000000..74332c9 --- /dev/null +++ b/library/camel-kamelets-catalog/pom.xml @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.camel.kamelets</groupId> + <artifactId>camel-kamelets-parent</artifactId> + <version>main-SNAPSHOT</version> + <relativePath>../../pom.xml</relativePath> + </parent> + + <artifactId>camel-kamelets-catalog</artifactId> + <packaging>jar</packaging> + + <name>Camel Kamelets Catalog</name> + <description>Camel Kamelets Catalog</description> + + <dependencies> + + <dependency> + <groupId>com.fasterxml.jackson.dataformat</groupId> + <artifactId>jackson-dataformat-yaml</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>io.fabric8</groupId> + <artifactId>camel-k-model-v1alpha1</artifactId> + <version>${camel.k.extension.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.datatype</groupId> + <artifactId>jackson-datatype-jsr310</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>${commons.io.version}</version> + </dependency> + <!-- logging --> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-api</artifactId> + <version>${log4j.version}</version> + </dependency> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-core</artifactId> + <version>${log4j.version}</version> + </dependency> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-slf4j-impl</artifactId> + <version>${log4j.version}</version> + </dependency> + + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-api</artifactId> + <scope>test</scope> + <version>${junit.jupiter.version}</version> + </dependency> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-engine</artifactId> + <scope>test</scope> + <version>${junit.jupiter.version}</version> + </dependency> + + </dependencies> + + <build> + <plugins> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <version>3.1.0</version> + <executions> + <execution> + <id>copy-resource-one</id> + <phase>install</phase> + <goals> + <goal>copy-resources</goal> + </goals> + + <configuration> + <overwrite>true</overwrite> + <outputDirectory>src/main/resources/kamelets</outputDirectory> + <resources> + <resource> + <directory>./../../</directory> + <includes> + <include>*.kamelet.yaml</include> + </includes> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/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 similarity index 100% rename from camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java rename to library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java diff --git a/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/model/KameletLabelNames.java b/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/model/KameletLabelNames.java similarity index 100% rename from camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/model/KameletLabelNames.java rename to library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/model/KameletLabelNames.java diff --git a/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/model/KameletTypeEnum.java b/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/model/KameletTypeEnum.java similarity index 100% rename from camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/model/KameletTypeEnum.java rename to library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/model/KameletTypeEnum.java diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/aws-ddb-streams-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/aws-ddb-streams-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/aws-ddb-streams-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/aws-ddb-streams-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/aws-kinesis-firehose-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/aws-kinesis-firehose-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/aws-kinesis-firehose-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/aws-kinesis-firehose-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/aws-kinesis-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/aws-kinesis-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/aws-kinesis-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/aws-kinesis-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/aws-kinesis-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/aws-kinesis-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/aws-kinesis-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/aws-kinesis-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/aws-lambda-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/aws-lambda-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/aws-lambda-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/aws-lambda-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/aws-s3-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/aws-s3-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/aws-s3-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/aws-s3-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/aws-s3-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/aws-s3-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/aws-s3-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/aws-s3-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/aws-sns-fifo-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/aws-sns-fifo-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/aws-sns-fifo-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/aws-sns-fifo-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/aws-sns-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/aws-sns-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/aws-sns-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/aws-sns-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-batch-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-batch-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-batch-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-batch-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-fifo-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-fifo-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-fifo-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-fifo-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/aws-sqs-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/azure-eventhubs-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/azure-eventhubs-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/azure-eventhubs-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/azure-eventhubs-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/azure-eventhubs-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/azure-eventhubs-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/azure-eventhubs-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/azure-eventhubs-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/azure-storage-blob-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/azure-storage-blob-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/azure-storage-blob-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/azure-storage-blob-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/azure-storage-blob-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/azure-storage-blob-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/azure-storage-blob-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/azure-storage-blob-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/azure-storage-queue-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/azure-storage-queue-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/azure-storage-queue-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/azure-storage-queue-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/bitcoin-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/bitcoin-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/bitcoin-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/bitcoin-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/caffeine-action.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/caffeine-action.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/caffeine-action.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/caffeine-action.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/cassandra-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/cassandra-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/cassandra-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/cassandra-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/cassandra-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/cassandra-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/cassandra-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/cassandra-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/cron-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/cron-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/cron-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/cron-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/dns-dig-action.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/dns-dig-action.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/dns-dig-action.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/dns-dig-action.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/dns-ip-action.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/dns-ip-action.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/dns-ip-action.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/dns-ip-action.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/dns-lookup-action.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/dns-lookup-action.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/dns-lookup-action.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/dns-lookup-action.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/dropbox-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/dropbox-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/dropbox-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/dropbox-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/dropbox-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/dropbox-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/dropbox-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/dropbox-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/earthquake-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/earthquake-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/earthquake-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/earthquake-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/elasticsearch-index-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/elasticsearch-index-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/elasticsearch-index-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/elasticsearch-index-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/elasticsearch-search-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/elasticsearch-search-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/elasticsearch-search-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/elasticsearch-search-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/exec-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/exec-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/exec-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/exec-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/fhir-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/fhir-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/fhir-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/fhir-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/file-watch-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/file-watch-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/file-watch-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/file-watch-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/ftp-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/ftp-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/ftp-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/ftp-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/ftps-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/ftps-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/ftps-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/ftps-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/github-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/github-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/github-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/github-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/google-calendar-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/google-calendar-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/google-calendar-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/google-calendar-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/google-mail-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/google-mail-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/google-mail-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/google-mail-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/google-sheets-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/google-sheets-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/google-sheets-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/google-sheets-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/http-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/http-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/http-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/http-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/http-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/http-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/http-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/http-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/infinispan-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/infinispan-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/infinispan-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/infinispan-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/jira-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/jira-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/jira-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/jira-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/kafka-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/kafka-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/kafka-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/kafka-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/mail-imap-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/mail-imap-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/mail-imap-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/mail-imap-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/minio-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/minio-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/minio-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/minio-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/minio-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/minio-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/minio-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/minio-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/mqtt-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/mqtt-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/mqtt-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/mqtt-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/nats-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/nats-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/nats-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/nats-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/openai-completion-action.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/openai-completion-action.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/openai-completion-action.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/openai-completion-action.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/pdf-action.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/pdf-action.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/pdf-action.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/pdf-action.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/rabbitmq-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/rabbitmq-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/rabbitmq-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/rabbitmq-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/salesforce-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/salesforce-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/salesforce-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/salesforce-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/sftp-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/sftp-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/sftp-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/sftp-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/slack-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/slack-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/slack-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/slack-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/ssh-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/ssh-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/ssh-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/ssh-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/telegram-sink.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/telegram-sink.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/telegram-sink.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/telegram-sink.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/telegram-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/telegram-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/telegram-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/telegram-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/timer-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/timer-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/timer-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/timer-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/twitter-directmessage-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/twitter-directmessage-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/twitter-directmessage-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/twitter-directmessage-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/twitter-search-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/twitter-search-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/twitter-search-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/twitter-search-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/twitter-timeline-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/twitter-timeline-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/twitter-timeline-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/twitter-timeline-source.kamelet.yaml diff --git a/camel-kamelets-catalog/src/main/resources/kamelets/webhook-source.kamelet.yaml b/library/camel-kamelets-catalog/src/main/resources/kamelets/webhook-source.kamelet.yaml similarity index 100% rename from camel-kamelets-catalog/src/main/resources/kamelets/webhook-source.kamelet.yaml rename to library/camel-kamelets-catalog/src/main/resources/kamelets/webhook-source.kamelet.yaml diff --git a/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 similarity index 100% rename from camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java rename to library/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java diff --git a/library/camel-kamelets-utils/pom.xml b/library/camel-kamelets-utils/pom.xml new file mode 100644 index 0000000..00617c6 --- /dev/null +++ b/library/camel-kamelets-utils/pom.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.camel.kamelets</groupId> + <artifactId>camel-kamelets-parent</artifactId> + <version>main-SNAPSHOT</version> + <relativePath>../../pom.xml</relativePath> + </parent> + + <artifactId>camel-kamelets-utils</artifactId> + <packaging>jar</packaging> + + <name>Camel Kamelets Utils</name> + <description>Camel Kamelets Utilities</description> + + <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-bom</artifactId> + <version>${camel.version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement> + + <dependencies> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-api</artifactId> + </dependency> + + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-jackson</artifactId> + </dependency> + + </dependencies> + +</project> diff --git a/library/camel-kamelets-utils/src/main/java/org/apache/camel/kamelets/utils/transform/InsertField.java b/library/camel-kamelets-utils/src/main/java/org/apache/camel/kamelets/utils/transform/InsertField.java new file mode 100644 index 0000000..aae1f51 --- /dev/null +++ b/library/camel-kamelets-utils/src/main/java/org/apache/camel/kamelets/utils/transform/InsertField.java @@ -0,0 +1,24 @@ +package org.apache.camel.kamelets.utils.transform; + +import java.util.HashMap; +import java.util.Map; + +import org.apache.camel.Exchange; +import org.apache.camel.ExchangeProperty; +import org.apache.camel.InvalidPayloadException; + +public class InsertField { + + public Map<?, ?> process(@ExchangeProperty("field") String field, @ExchangeProperty("value") String value, Exchange ex) throws InvalidPayloadException { + Map<Object, Object> body = ex.getMessage().getBody(Map.class); + if (body == null) { + String val = ex.getMessage().getMandatoryBody(String.class); + body = new HashMap<>(); + // TODO: make this configurable + body.put("content", val); + } + body.put(field, value); + return body; + } + +} diff --git a/camel-kamelets-catalog/mvnw b/mvnw similarity index 100% rename from camel-kamelets-catalog/mvnw rename to mvnw diff --git a/camel-kamelets-catalog/mvnw.cmd b/mvnw.cmd similarity index 100% rename from camel-kamelets-catalog/mvnw.cmd rename to mvnw.cmd diff --git a/camel-kamelets-catalog/pom.xml b/pom.xml similarity index 82% rename from camel-kamelets-catalog/pom.xml rename to pom.xml index a0c8f44..9e005f2 100644 --- a/camel-kamelets-catalog/pom.xml +++ b/pom.xml @@ -22,17 +22,22 @@ <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.apache</groupId> - <artifactId>apache</artifactId> - <version>23</version> + <groupId>org.apache</groupId> + <artifactId>apache</artifactId> + <version>23</version> </parent> <groupId>org.apache.camel.kamelets</groupId> - <artifactId>camel-kamelets-catalog</artifactId> - <packaging>jar</packaging> - <version>0.3.0-SNAPSHOT</version> - <name>Camel Kamelets Catalog</name> - <description>Camel Kamelets Catalog</description> + <artifactId>camel-kamelets-parent</artifactId> + <packaging>pom</packaging> + <version>main-SNAPSHOT</version> + <name>Camel Kamelets Parent</name> + <description>Camel Kamelets Library Parent</description> + + <modules> + <module>library/camel-kamelets-catalog</module> + <module>library/camel-kamelets-utils</module> + </modules> <properties> <failIfNoTests>false</failIfNoTests> @@ -44,6 +49,8 @@ <maven-assembly-plugin.version>3.1.1</maven-assembly-plugin.version> <maven-source-plugin.version>3.1.0</maven-source-plugin.version> <maven-checksum-maven-plugin.version>1.7</maven-checksum-maven-plugin.version> + + <camel.version>3.9.0</camel.version> <log4j.version>2.13.3</log4j.version> <jackson.version>2.11.4</jackson.version> <camel.k.extension.version>5.3.1</camel.k.extension.version> @@ -124,60 +131,6 @@ </pluginRepository> </pluginRepositories> - <dependencies> - - <dependency> - <groupId>com.fasterxml.jackson.dataformat</groupId> - <artifactId>jackson-dataformat-yaml</artifactId> - <version>${jackson.version}</version> - </dependency> - <dependency> - <groupId>io.fabric8</groupId> - <artifactId>camel-k-model-v1alpha1</artifactId> - <version>${camel.k.extension.version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.datatype</groupId> - <artifactId>jackson-datatype-jsr310</artifactId> - <version>${jackson.version}</version> - </dependency> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - <version>${commons.io.version}</version> - </dependency> - <!-- logging --> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-api</artifactId> - <version>${log4j.version}</version> - </dependency> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-core</artifactId> - <version>${log4j.version}</version> - </dependency> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-slf4j-impl</artifactId> - <version>${log4j.version}</version> - </dependency> - - <dependency> - <groupId>org.junit.jupiter</groupId> - <artifactId>junit-jupiter-api</artifactId> - <scope>test</scope> - <version>${junit.jupiter.version}</version> - </dependency> - <dependency> - <groupId>org.junit.jupiter</groupId> - <artifactId>junit-jupiter-engine</artifactId> - <scope>test</scope> - <version>${junit.jupiter.version}</version> - </dependency> - - </dependencies> - <build> <defaultGoal>install</defaultGoal> @@ -287,32 +240,6 @@ </configuration> </plugin> <plugin> - <artifactId>maven-resources-plugin</artifactId> - <version>3.1.0</version> - <executions> - <execution> - <id>copy-resource-one</id> - <phase>install</phase> - <goals> - <goal>copy-resources</goal> - </goals> - - <configuration> - <overwrite>true</overwrite> - <outputDirectory>src/main/resources/kamelets</outputDirectory> - <resources> - <resource> - <directory>./../</directory> - <includes> - <include>*.kamelet.yaml</include> - </includes> - </resource> - </resources> - </configuration> - </execution> - </executions> - </plugin> - <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> @@ -416,7 +343,7 @@ <include>${project.artifactId}-${project.version}-sources.jar</include> <include>${project.artifactId}-${project.version}-package.tar.gz</include> <!--XXX: keep this in sync with distribution/pom.xml <finalName> tag--> - <include>camel-kafka-connector-${project.version}-src.zip</include> + <!-- include>camel-kafka-connector-${project.version}-src.zip</include--> </includes> </fileSet> </fileSets> diff --git a/test/insert-field-action/insert-field-action-binding.yaml b/test/insert-field-action/insert-field-action-binding.yaml new file mode 100644 index 0000000..8651ab4 --- /dev/null +++ b/test/insert-field-action/insert-field-action-binding.yaml @@ -0,0 +1,22 @@ +kind: KameletBinding +apiVersion: camel.apache.org/v1alpha1 +metadata: + name: insert-field-action-binding +spec: + source: + ref: + apiVersion: camel.apache.org/v1alpha1 + kind: Kamelet + name: timer-source + properties: + message: "thecontent" + steps: + - ref: + apiVersion: camel.apache.org/v1alpha1 + kind: Kamelet + name: insert-field-action + properties: + field: "thefield" + value: "thevalue" + sink: + uri: http://probe-service.${YAKS_NAMESPACE}/events diff --git a/test/insert-field-action/insert-field-action.feature b/test/insert-field-action/insert-field-action.feature new file mode 100644 index 0000000..14bfca9 --- /dev/null +++ b/test/insert-field-action/insert-field-action.feature @@ -0,0 +1,25 @@ +Feature: Timer Source Kamelet + + Background: + Given Disable auto removal of Kamelet resources + Given Disable auto removal of Kubernetes resources + Given Camel-K resource polling configuration + | maxAttempts | 20 | + | delayBetweenAttempts | 1000 | + + Scenario: Wait for binding to start + Given create Kubernetes service probe-service with target port 8080 + Then KameletBinding insert-field-action-binding should be available + + Scenario: Verify binding + Given HTTP server "probe-service" + And HTTP server timeout is 300000 ms + Then expect HTTP request body + """ + { + "content": "thecontent", + "thefield": "thevalue" + } + """ + And receive POST /events + And delete KameletBinding insert-field-action-binding diff --git a/test/insert-field-action/yaks-config.yaml b/test/insert-field-action/yaks-config.yaml new file mode 100644 index 0000000..b621d04 --- /dev/null +++ b/test/insert-field-action/yaks-config.yaml @@ -0,0 +1,29 @@ +# --------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# --------------------------------------------------------------------------- + +config: + namespace: + temporary: true +pre: +- name: installation + run: | + # Install required Kamelets (these steps may be done globally in future versions) + + kamel install -n $YAKS_NAMESPACE + kubectl apply -f ../../timer-source.kamelet.yaml -n $YAKS_NAMESPACE + kubectl apply -f ../../insert-field-action.kamelet.yaml -n $YAKS_NAMESPACE + kubectl apply -f insert-field-binding.yaml -n $YAKS_NAMESPACE
