From 199d59682b0c56665f45f29a8e7bc215983f00d0 Mon Sep 17 00:00:00 2001 From: nicolaferraro Date: Fri, 30 Apr 2021 14:08:59 +0200 Subject: [PATCH 1/4] add utility library --- .gitignore | 30 ++++- .../wrapper/MavenWrapperDownloader.java | 0 .../.mvn => .mvn}/wrapper/maven-wrapper.jar | Bin .../wrapper/maven-wrapper.properties | 0 camel-kamelets-catalog/.gitignore | 28 ---- insert-field-action.kamelet.yaml | 46 +++++++ library/camel-kamelets-catalog/pom.xml | 121 ++++++++++++++++++ .../kamelets/catalog/KameletsCatalog.java | 0 .../catalog/model/KameletLabelNames.java | 0 .../catalog/model/KameletTypeEnum.java | 0 .../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 .../kamelets/aws-s3-sink.kamelet.yaml | 0 .../kamelets/aws-s3-source.kamelet.yaml | 0 .../kamelets/aws-sns-fifo-sink.kamelet.yaml | 0 .../kamelets/aws-sns-sink.kamelet.yaml | 0 .../kamelets/aws-sqs-batch-sink.kamelet.yaml | 0 .../kamelets/aws-sqs-fifo-sink.kamelet.yaml | 0 .../kamelets/aws-sqs-sink.kamelet.yaml | 0 .../kamelets/aws-sqs-source.kamelet.yaml | 0 .../azure-eventhubs-sink.kamelet.yaml | 0 .../azure-eventhubs-source.kamelet.yaml | 0 .../azure-storage-blob-sink.kamelet.yaml | 0 .../azure-storage-blob-source.kamelet.yaml | 0 .../azure-storage-queue-sink.kamelet.yaml | 0 .../kamelets/bitcoin-source.kamelet.yaml | 0 .../kamelets/caffeine-action.kamelet.yaml | 0 .../kamelets/cassandra-sink.kamelet.yaml | 0 .../kamelets/cassandra-source.kamelet.yaml | 0 .../kamelets/cron-source.kamelet.yaml | 0 .../kamelets/dns-dig-action.kamelet.yaml | 0 .../kamelets/dns-ip-action.kamelet.yaml | 0 .../kamelets/dns-lookup-action.kamelet.yaml | 0 .../kamelets/dropbox-sink.kamelet.yaml | 0 .../kamelets/dropbox-source.kamelet.yaml | 0 .../kamelets/earthquake-source.kamelet.yaml | 0 .../elasticsearch-index-sink.kamelet.yaml | 0 .../elasticsearch-search-source.kamelet.yaml | 0 .../resources/kamelets/exec-sink.kamelet.yaml | 0 .../kamelets/fhir-source.kamelet.yaml | 0 .../kamelets/file-watch-source.kamelet.yaml | 0 .../kamelets/ftp-source.kamelet.yaml | 0 .../kamelets/ftps-source.kamelet.yaml | 0 .../kamelets/github-source.kamelet.yaml | 0 .../google-calendar-source.kamelet.yaml | 0 .../kamelets/google-mail-source.kamelet.yaml | 0 .../google-sheets-source.kamelet.yaml | 0 .../resources/kamelets/http-sink.kamelet.yaml | 0 .../kamelets/http-source.kamelet.yaml | 0 .../kamelets/infinispan-source.kamelet.yaml | 0 .../kamelets/jira-source.kamelet.yaml | 0 .../kamelets/kafka-source.kamelet.yaml | 0 .../kamelets/mail-imap-source.kamelet.yaml | 0 .../kamelets/minio-sink.kamelet.yaml | 0 .../kamelets/minio-source.kamelet.yaml | 0 .../kamelets/mqtt-source.kamelet.yaml | 0 .../kamelets/nats-source.kamelet.yaml | 0 .../openai-completion-action.kamelet.yaml | 0 .../kamelets/pdf-action.kamelet.yaml | 0 .../kamelets/rabbitmq-source.kamelet.yaml | 0 .../kamelets/salesforce-source.kamelet.yaml | 0 .../kamelets/sftp-source.kamelet.yaml | 0 .../kamelets/slack-source.kamelet.yaml | 0 .../kamelets/ssh-source.kamelet.yaml | 0 .../kamelets/telegram-sink.kamelet.yaml | 0 .../kamelets/telegram-source.kamelet.yaml | 0 .../kamelets/timer-source.kamelet.yaml | 0 .../twitter-directmessage-source.kamelet.yaml | 0 .../twitter-search-source.kamelet.yaml | 0 .../twitter-timeline-source.kamelet.yaml | 0 .../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(-) rename {camel-kamelets-catalog/.mvn => .mvn}/wrapper/MavenWrapperDownloader.java (100%) rename {camel-kamelets-catalog/.mvn => .mvn}/wrapper/maven-wrapper.jar (100%) rename {camel-kamelets-catalog/.mvn => .mvn}/wrapper/maven-wrapper.properties (100%) delete mode 100644 camel-kamelets-catalog/.gitignore create mode 100644 insert-field-action.kamelet.yaml create mode 100644 library/camel-kamelets-catalog/pom.xml rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/java/org/apache/camel/kamelets/catalog/model/KameletLabelNames.java (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/java/org/apache/camel/kamelets/catalog/model/KameletTypeEnum.java (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/aws-ddb-streams-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/aws-kinesis-firehose-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/aws-kinesis-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/aws-kinesis-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/aws-lambda-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/aws-s3-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/aws-s3-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/aws-sns-fifo-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/aws-sns-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/aws-sqs-batch-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/aws-sqs-fifo-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/aws-sqs-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/aws-sqs-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/azure-eventhubs-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/azure-eventhubs-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/azure-storage-blob-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/azure-storage-blob-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/azure-storage-queue-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/bitcoin-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/caffeine-action.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/cassandra-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/cassandra-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/cron-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/dns-dig-action.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/dns-ip-action.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/dns-lookup-action.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/dropbox-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/dropbox-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/earthquake-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/elasticsearch-index-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/elasticsearch-search-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/exec-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/fhir-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/file-watch-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/ftp-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/ftps-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/github-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/google-calendar-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/google-mail-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/google-sheets-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/http-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/http-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/infinispan-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/jira-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/kafka-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/mail-imap-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/minio-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/minio-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/mqtt-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/nats-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/openai-completion-action.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/pdf-action.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/rabbitmq-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/salesforce-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/sftp-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/slack-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/ssh-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/telegram-sink.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/telegram-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/timer-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/twitter-directmessage-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/twitter-search-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/twitter-timeline-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/main/resources/kamelets/webhook-source.kamelet.yaml (100%) rename {camel-kamelets-catalog => library/camel-kamelets-catalog}/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java (100%) create mode 100644 library/camel-kamelets-utils/pom.xml create mode 100644 library/camel-kamelets-utils/src/main/java/org/apache/camel/kamelets/utils/transform/InsertField.java rename camel-kamelets-catalog/mvnw => mvnw (100%) rename camel-kamelets-catalog/mvnw.cmd => mvnw.cmd (100%) rename camel-kamelets-catalog/pom.xml => pom.xml (82%) create mode 100644 test/insert-field-action/insert-field-action-binding.yaml create mode 100644 test/insert-field-action/insert-field-action.feature create mode 100644 test/insert-field-action/yaks-config.yaml diff --git a/.gitignore b/.gitignore index 7861f6238..1d9193513 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 b9130f224..000000000 --- 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 000000000..3cc8b0a37 --- /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+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" + 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 000000000..74332c96a --- /dev/null +++ b/library/camel-kamelets-catalog/pom.xml @@ -0,0 +1,121 @@ + + + + 4.0.0 + + + org.apache.camel.kamelets + camel-kamelets-parent + main-SNAPSHOT + ../../pom.xml + + + camel-kamelets-catalog + jar + + Camel Kamelets Catalog + Camel Kamelets Catalog + + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + ${jackson.version} + + + io.fabric8 + camel-k-model-v1alpha1 + ${camel.k.extension.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson.version} + + + commons-io + commons-io + ${commons.io.version} + + + + org.apache.logging.log4j + log4j-api + ${log4j.version} + + + org.apache.logging.log4j + log4j-core + ${log4j.version} + + + org.apache.logging.log4j + log4j-slf4j-impl + ${log4j.version} + + + + org.junit.jupiter + junit-jupiter-api + test + ${junit.jupiter.version} + + + org.junit.jupiter + junit-jupiter-engine + test + ${junit.jupiter.version} + + + + + + + + maven-resources-plugin + 3.1.0 + + + copy-resource-one + install + + copy-resources + + + + true + src/main/resources/kamelets + + + ./../../ + + *.kamelet.yaml + + + + + + + + + + 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 000000000..00617c6a5 --- /dev/null +++ b/library/camel-kamelets-utils/pom.xml @@ -0,0 +1,62 @@ + + + + 4.0.0 + + + org.apache.camel.kamelets + camel-kamelets-parent + main-SNAPSHOT + ../../pom.xml + + + camel-kamelets-utils + jar + + Camel Kamelets Utils + Camel Kamelets Utilities + + + + + org.apache.camel + camel-bom + ${camel.version} + pom + import + + + + + + + org.apache.camel + camel-api + + + + org.apache.camel + camel-jackson + + + + + 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 000000000..aae1f510a --- /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 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 a0c8f4421..9e005f2ab 100644 --- a/camel-kamelets-catalog/pom.xml +++ b/pom.xml @@ -22,17 +22,22 @@ 4.0.0 - org.apache - apache - 23 + org.apache + apache + 23 org.apache.camel.kamelets - camel-kamelets-catalog - jar - 0.3.0-SNAPSHOT - Camel Kamelets Catalog - Camel Kamelets Catalog + camel-kamelets-parent + pom + main-SNAPSHOT + Camel Kamelets Parent + Camel Kamelets Library Parent + + + library/camel-kamelets-catalog + library/camel-kamelets-utils + false @@ -44,6 +49,8 @@ 3.1.1 3.1.0 1.7 + + 3.9.0 2.13.3 2.11.4 5.3.1 @@ -124,60 +131,6 @@ - - - - com.fasterxml.jackson.dataformat - jackson-dataformat-yaml - ${jackson.version} - - - io.fabric8 - camel-k-model-v1alpha1 - ${camel.k.extension.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - ${jackson.version} - - - commons-io - commons-io - ${commons.io.version} - - - - org.apache.logging.log4j - log4j-api - ${log4j.version} - - - org.apache.logging.log4j - log4j-core - ${log4j.version} - - - org.apache.logging.log4j - log4j-slf4j-impl - ${log4j.version} - - - - org.junit.jupiter - junit-jupiter-api - test - ${junit.jupiter.version} - - - org.junit.jupiter - junit-jupiter-engine - test - ${junit.jupiter.version} - - - - install @@ -286,32 +239,6 @@ false - - maven-resources-plugin - 3.1.0 - - - copy-resource-one - install - - copy-resources - - - - true - src/main/resources/kamelets - - - ./../ - - *.kamelet.yaml - - - - - - - org.apache.maven.plugins maven-compiler-plugin @@ -416,7 +343,7 @@ ${project.artifactId}-${project.version}-sources.jar ${project.artifactId}-${project.version}-package.tar.gz - camel-kafka-connector-${project.version}-src.zip + 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 000000000..8651ab491 --- /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 000000000..14bfca9d7 --- /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 000000000..b621d04e3 --- /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 From d87660754fd3cbf656ae03b7d8410a68c62a616a Mon Sep 17 00:00:00 2001 From: nicolaferraro Date: Fri, 30 Apr 2021 14:22:19 +0200 Subject: [PATCH 2/4] fix tests and document --- .../assets/images/kamelets/insert-field.svg | 59 ++++++++++++++++ docs/modules/ROOT/nav.adoc | 1 + docs/modules/ROOT/pages/insert-field.adoc | 69 +++++++++++++++++++ test/insert-field-action/yaks-config.yaml | 2 +- 4 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 docs/modules/ROOT/assets/images/kamelets/insert-field.svg create mode 100644 docs/modules/ROOT/pages/insert-field.adoc diff --git a/docs/modules/ROOT/assets/images/kamelets/insert-field.svg b/docs/modules/ROOT/assets/images/kamelets/insert-field.svg new file mode 100644 index 000000000..fa06352da --- /dev/null +++ b/docs/modules/ROOT/assets/images/kamelets/insert-field.svg @@ -0,0 +1,59 @@ + + + + + + image/svg+xml + + + + + + + + + + diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index 818755a51..796b4bcdd 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -42,6 +42,7 @@ * xref:ROOT:http-sink.adoc[image:kamelets/http-sink.svg[] HTTP Sink] * xref:ROOT:http-source.adoc[image:kamelets/http-source.svg[] HTTP Source] * xref:ROOT:infinispan-source.adoc[image:kamelets/infinispan-source.svg[] Infinispan Source] +* xref:ROOT:insert-field.adoc[image:kamelets/insert-field.svg[] Insert Field] * xref:ROOT:jira-source.adoc[image:kamelets/jira-source.svg[] Jira Source] * xref:ROOT:kafka-source.adoc[image:kamelets/kafka-source.svg[] Kafka Source] * xref:ROOT:mail-imap-source.adoc[image:kamelets/mail-imap-source.svg[] Mail IMAP Source] diff --git a/docs/modules/ROOT/pages/insert-field.adoc b/docs/modules/ROOT/pages/insert-field.adoc new file mode 100644 index 000000000..886577538 --- /dev/null +++ b/docs/modules/ROOT/pages/insert-field.adoc @@ -0,0 +1,69 @@ +// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT += image:kamelets/insert-field.svg[] Insert Field + +*Provided by: "Apache Software Foundation"* + +Adds a custom field with a constant value to the message in transit + +== Configuration Options + +The following table summarizes the configuration options available for the `insert-field` Kamelet: +[width="100%",cols="2,^2,3,^2,^2,^3",options="header"] +|=== +| Property| Name| Description| Type| Default| Example +| *field {empty}* *| Field| The name of the field to be added| string| | +| *value {empty}* *| Value| The value of the field| string| | +|=== + +NOTE: Fields marked with ({empty}*) are mandatory. + +== Usage + +This section summarizes how the `insert-field` can be used in various contexts. + +=== Knative Action + +The `insert-field` Kamelet can be used as intermediate step in a binding. + +.insert-field-binding.yaml +[source,yaml] +---- +apiVersion: camel.apache.org/v1alpha1 +kind: KameletBinding +metadata: + name: insert-field-binding +spec: + source: + ref: + kind: Kamelet + apiVersion: camel.apache.org/v1alpha1 + name: timer-source + properties: + message: "Hello" + steps: + - ref: + kind: Kamelet + apiVersion: camel.apache.org/v1alpha1 + name: insert-field + properties: + field: "The Field" + value: "The Value" + sink: + ref: + kind: InMemoryChannel + apiVersion: messaging.knative.dev/v1 + name: mychannel + +---- + +Make sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to. + +Save the `insert-field-binding.yaml` file into your hard drive, then configure it according to your needs. + +You can run the action using the following command: + +[source,shell] +---- +kubectl apply -f insert-field-binding.yaml +---- +// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT diff --git a/test/insert-field-action/yaks-config.yaml b/test/insert-field-action/yaks-config.yaml index b621d04e3..16e91504c 100644 --- a/test/insert-field-action/yaks-config.yaml +++ b/test/insert-field-action/yaks-config.yaml @@ -26,4 +26,4 @@ pre: 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 + kubectl apply -f insert-field-action-binding.yaml -n $YAKS_NAMESPACE From 750ad6179cd77762cb4eff1f90e66bac2a09c9db Mon Sep 17 00:00:00 2001 From: nicolaferraro Date: Fri, 30 Apr 2021 14:25:06 +0200 Subject: [PATCH 3/4] fix validation errors --- insert-field-action.kamelet.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/insert-field-action.kamelet.yaml b/insert-field-action.kamelet.yaml index 3cc8b0a37..474a3c7d0 100644 --- a/insert-field-action.kamelet.yaml +++ b/insert-field-action.kamelet.yaml @@ -1,7 +1,7 @@ apiVersion: camel.apache.org/v1alpha1 kind: Kamelet metadata: - name: insert-field + name: insert-field-action labels: camel.apache.org/kamelet.type: "action" annotations: @@ -23,6 +23,7 @@ spec: title: Value description: The value of the field type: string + type: object dependencies: - github:apache.camel-kamelets:camel-kamelets-utils:main-SNAPSHOT flow: From c5679cf3585e8d7433fbda2cf549f8ec04e1d8bf Mon Sep 17 00:00:00 2001 From: nicolaferraro Date: Fri, 30 Apr 2021 15:17:47 +0200 Subject: [PATCH 4/4] fix YAKS test --- insert-field-action.kamelet.yaml | 3 +++ test/insert-field-action/insert-field-action.feature | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/insert-field-action.kamelet.yaml b/insert-field-action.kamelet.yaml index 474a3c7d0..573af26b9 100644 --- a/insert-field-action.kamelet.yaml +++ b/insert-field-action.kamelet.yaml @@ -45,3 +45,6 @@ spec: - bean: "org.apache.camel.kamelets.utils.transform.InsertField" - marshal: json: {} + - set-header: + name: "Content-Type" + constant: "application/json" diff --git a/test/insert-field-action/insert-field-action.feature b/test/insert-field-action/insert-field-action.feature index 14bfca9d7..b20091158 100644 --- a/test/insert-field-action/insert-field-action.feature +++ b/test/insert-field-action/insert-field-action.feature @@ -4,12 +4,12 @@ Feature: Timer Source Kamelet Given Disable auto removal of Kamelet resources Given Disable auto removal of Kubernetes resources Given Camel-K resource polling configuration - | maxAttempts | 20 | - | delayBetweenAttempts | 1000 | + | maxAttempts | 60 | + | delayBetweenAttempts | 3000 | 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 + Then Camel-K integration insert-field-action-binding should be running Scenario: Verify binding Given HTTP server "probe-service" @@ -21,5 +21,6 @@ Feature: Timer Source Kamelet "thefield": "thevalue" } """ + And expect HTTP request header: Content-Type="application/json" And receive POST /events And delete KameletBinding insert-field-action-binding