You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2022/08/02 21:27:47 UTC
[camel-karavan] branch main updated: Fix issue with Postman Demo (#443)
This is an automated email from the ASF dual-hosted git repository.
marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
The following commit(s) were added to refs/heads/main by this push:
new d470bb4 Fix issue with Postman Demo (#443)
d470bb4 is described below
commit d470bb4eaf8086eb540f99ce09d4b8dd65a28cbf
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Tue Aug 2 17:27:42 2022 -0400
Fix issue with Postman Demo (#443)
---
.../apache/camel/karavan/api/ProjectResource.java | 4 +-
.../src/main/resources/application.properties | 2 +-
.../openshift-manifests/instances/amq-broker.yaml | 2 +-
karavan-demo/postman/project/postman.yaml | 333 +++++++++++++--------
4 files changed, 217 insertions(+), 124 deletions(-)
diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectResource.java b/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectResource.java
index bdd149d..9ebdc44 100644
--- a/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectResource.java
+++ b/karavan-app/src/main/java/org/apache/camel/karavan/api/ProjectResource.java
@@ -72,7 +72,9 @@ public class ProjectResource {
@Path("/{project}")
public void delete(@HeaderParam("username") String username,
@PathParam("project") String project) throws Exception {
- infinispanService.deleteProject(URLDecoder.decode(project, StandardCharsets.UTF_8.toString()));
+ String projectId = URLDecoder.decode(project, StandardCharsets.UTF_8.toString());
+ infinispanService.getProjectFiles(projectId).forEach(file -> infinispanService.deleteProjectFile(projectId, file.getName()));
+ infinispanService.deleteProject(projectId);
}
@POST
diff --git a/karavan-app/src/main/resources/application.properties b/karavan-app/src/main/resources/application.properties
index 2fbb43a..7acef5a 100644
--- a/karavan-app/src/main/resources/application.properties
+++ b/karavan-app/src/main/resources/application.properties
@@ -15,7 +15,7 @@ karavan.git-main=main
karavan.config.group-id=org.camel.karavan.demo
karavan.config.image-group=karavan
karavan.config.runtime=QUARKUS
-karavan.config.runtime-version=2.10.0.Final
+karavan.config.runtime-version=2.11.1.Final
karavan.config.status-threshold=1000
karavan.config.environments[0].name=dev
diff --git a/karavan-demo/postman/openshift-manifests/instances/amq-broker.yaml b/karavan-demo/postman/openshift-manifests/instances/amq-broker.yaml
index 7d307bb..4d5b0ac 100644
--- a/karavan-demo/postman/openshift-manifests/instances/amq-broker.yaml
+++ b/karavan-demo/postman/openshift-manifests/instances/amq-broker.yaml
@@ -1,4 +1,4 @@
-apiVersion: broker.amq.io/v2alpha5
+apiVersion: broker.amq.io/v1beta1
kind: ActiveMQArtemis
metadata:
name: amq
diff --git a/karavan-demo/postman/project/postman.yaml b/karavan-demo/postman/project/postman.yaml
index acbe3ad..45a2dc0 100644
--- a/karavan-demo/postman/project/postman.yaml
+++ b/karavan-demo/postman/project/postman.yaml
@@ -4,130 +4,221 @@ metadata:
name: Postman Demo
spec:
flows:
- - rest:
- post:
- - to: direct:post
- path: /parcels
- consumes: application/json
- produces: application/json
- - route:
- from:
- uri: direct:post
- steps:
- - log:
- message: 'Received: ${body}'
- - multicast:
- steps:
- - to:
- uri: kamelet:kafka-not-secured-sink
- parameters:
- topic: parcels
- bootstrapServers: '{{kafka-brokers}}'
- - to:
- uri: kamelet:postgresql-sink
+ - dslName: RestDefinition
+ post:
+ - dslName: PostDefinition
+ stepName: post
+ to: 'direct:post'
+ inArray: true
+ inSteps: false
+ stepName: rest
+ path: /parcels
+ consumes: application/json
+ produces: application/json
+ - dslName: RouteDefinition
+ stepName: route
+ from:
+ uri: 'direct:post'
+ steps:
+ - dslName: LogDefinition
+ stepName: log
+ message: 'Received: ${body}'
+ inArray: true
+ inSteps: true
+ - steps:
+ - uri: 'kamelet:kafka-not-secured-sink'
+ dslName: ToDefinition
+ stepName: to
+ parameters:
+ topic: parcels
+ bootstrapServers: 'localhost:9091'
+ inArray: true
+ inSteps: true
+ - uri: 'kamelet:postgresql-sink'
+ dslName: ToDefinition
+ stepName: to
+ parameters:
+ serverName: localhost
+ serverPort: '5432'
+ username: postgres
+ password: postgres
+ databaseName: demo
+ query: >-
+ INSERT INTO parcels (id,address) VALUES (:#id,:#address) ON
+ CONFLICT (id) DO NOTHING
+ inArray: true
+ inSteps: true
+ dslName: MulticastDefinition
+ stepName: multicast
+ aggregationStrategy: >-
+ #class:org.apache.camel.processor.aggregate.UseOriginalAggregationStrategy
+ parallelProcessing: true
+ streaming: true
+ inArray: true
+ inSteps: true
+ dslName: FromDefinition
+ stepName: from
+ id: post
+ - dslName: RouteDefinition
+ stepName: route
+ from:
+ uri: 'kamelet:jms-apache-artemis-source'
+ steps:
+ - uri: 'xj:identity'
+ dslName: ToDefinition
+ stepName: to
+ parameters:
+ transformDirection: XML2JSON
+ inArray: true
+ inSteps: true
+ - uri: 'kamelet:kafka-not-secured-sink'
+ dslName: ToDefinition
+ stepName: to
+ parameters:
+ topic: payments
+ bootstrapServers: 'localhost:9091'
+ inArray: true
+ inSteps: true
+ dslName: FromDefinition
+ stepName: from
+ parameters:
+ destinationType: queue
+ destinationName: payments
+ brokerURL: 'tcp://localhost:61616'
+ id: payment
+ - dslName: RouteDefinition
+ stepName: route
+ from:
+ uri: 'kamelet:kafka-not-secured-source'
+ steps:
+ - dslName: LogDefinition
+ stepName: log
+ message: 'Aggegating: ${body}'
+ inArray: true
+ inSteps: true
+ - dslName: UnmarshalDefinition
+ stepName: unmarshal
+ json:
+ dslName: JsonDataFormat
+ library: jackson
+ inArray: true
+ inSteps: true
+ - steps:
+ - dslName: ChoiceDefinition
+ stepName: choice
+ when:
+ - steps:
+ - dslName: MarshalDefinition
+ stepName: marshal
+ json:
+ dslName: JsonDataFormat
+ library: jackson
+ inArray: true
+ inSteps: true
+ - dslName: LogDefinition
+ stepName: log
+ message: 'Send to MQTT : ${body}'
+ inArray: true
+ inSteps: true
+ - uri: 'kamelet:mqtt-sink'
+ dslName: ToDefinition
+ stepName: to
+ parameters:
+ topic: deliveries
+ brokerUrl: 'tcp://localhost:61616'
+ inArray: true
+ inSteps: true
+ dslName: WhenDefinition
+ stepName: when
+ expression:
+ dslName: ExpressionDefinition
+ stepName: expression
+ groovy:
+ dslName: GroovyExpression
+ expression: >-
+ body.find { it.containsKey('status') }.status ==
+ 'confirmed'
+ inArray: true
+ inSteps: false
+ otherwise:
+ steps:
+ - dslName: SetBodyDefinition
+ stepName: setBody
+ expression:
+ dslName: ExpressionDefinition
+ stepName: expression
+ groovy:
+ dslName: GroovyExpression
+ expression: 'body.find { it.containsKey(''status'') } '
+ inArray: true
+ inSteps: true
+ - dslName: MarshalDefinition
+ stepName: marshal
+ json:
+ dslName: JsonDataFormat
+ library: jackson
+ inArray: true
+ inSteps: true
+ - dslName: LogDefinition
+ stepName: log
+ message: 'Send to database: ${body}'
+ inArray: true
+ inSteps: true
+ - uri: 'kamelet:postgresql-sink'
+ dslName: ToDefinition
+ stepName: to
parameters:
- serverName: '{{postgres-server}}'
+ serverName: localhost
serverPort: '5432'
username: postgres
password: postgres
databaseName: demo
- query: >-
- INSERT INTO parcels (id,address) VALUES
- (:#id,:#address) ON CONFLICT (id) DO NOTHING
- aggregationStrategy: >-
- #class:org.apache.camel.processor.aggregate.UseOriginalAggregationStrategy
- parallelProcessing: true
- streaming: true
- id: post
- - route:
- from:
- uri: kamelet:jms-apache-artemis-source
- steps:
- - to:
- uri: xj:identity
- parameters:
- transformDirection: XML2JSON
- - to:
- uri: kamelet:kafka-not-secured-sink
- parameters:
- topic: payments
- bootstrapServers: '{{kafka-brokers}}'
- parameters:
- destinationType: queue
- destinationName: payments
- brokerURL: '{{jms-broker}}'
- id: payment
- - route:
- from:
- uri: kamelet:kafka-not-secured-source
- steps:
- - log:
- message: 'Aggegating: ${body}'
- - unmarshal:
- json:
- library: jackson
- - aggregate:
- steps:
- - choice:
- when:
- - expression:
- groovy:
- expression: >-
- body.find { it.containsKey('status') }.status ==
- 'confirmed'
- steps:
- - marshal:
- json:
- library: jackson
- - log:
- message: 'Send to MQTT : ${body}'
- - to:
- uri: kamelet:mqtt-sink
- parameters:
- topic: deliveries
- brokerUrl: '{{mqtt-broker}}'
- otherwise:
- steps:
- - setBody:
- expression:
- groovy:
- expression: 'body.find { it.containsKey(''status'') } '
- - marshal:
- json:
- library: jackson
- - log:
- message: 'Send to database: ${body}'
- - to:
- uri: kamelet:postgresql-sink
- parameters:
- serverName: '{{postgres-server}}'
- serverPort: '5432'
- username: postgres
- password: postgres
- databaseName: demo
- query: >-
- UPDATE parcels set status = 'CANCELED' WHERE
- id = :#id
- aggregationStrategy: aggregator
- completionSize: 2
- correlationExpression:
- groovy:
- expression: body.get('id')
- parameters:
- topic: parcels,payments
- bootstrapServers: '{{kafka-brokers}}'
- autoCommitEnable: true
- consumerGroup: postman
- id: aggregator
- - route:
- from:
- uri: kamelet:mqtt-source
- steps:
- - log:
- message: 'Delivery: ${body}'
- parameters:
- topic: deliveries
- brokerUrl: '{{mqtt-broker}}'
- - beans:
- - name: aggregator
+ query: 'UPDATE parcels set status = ''CANCELED'' WHERE id = :#id'
+ inArray: true
+ inSteps: true
+ dslName: OtherwiseDefinition
+ stepName: otherwise
+ inArray: true
+ inSteps: true
+ dslName: AggregateDefinition
+ aggregationStrategy: aggregator
+ stepName: aggregate
+ completionSize: 2
+ correlationExpression:
+ dslName: ExpressionSubElementDefinition
+ stepName: expressionSubElement
+ groovy:
+ dslName: GroovyExpression
+ expression: body.get('id')
+ inArray: true
+ inSteps: true
+ dslName: FromDefinition
+ stepName: from
+ parameters:
+ topic: 'parcels,payments'
+ bootstrapServers: 'localhost:9091'
+ autoCommitEnable: true
+ consumerGroup: postman
+ id: aggregator
+ - dslName: RouteDefinition
+ stepName: route
+ from:
+ uri: 'kamelet:mqtt-source'
+ steps:
+ - dslName: LogDefinition
+ stepName: log
+ message: 'Delivery: ${body}'
+ inArray: true
+ inSteps: true
+ dslName: FromDefinition
+ stepName: from
+ parameters:
+ topic: deliveries
+ brokerUrl: 'tcp://localhost:61616'
+ - dslName: Beans
+ beans:
+ - dslName: NamedBeanDefinition
+ name: aggregator
type: org.apache.camel.processor.aggregate.GroupedBodyAggregationStrategy
+ inArray: true
+ inSteps: false