You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/04/01 14:29:33 UTC

[camel] 01/01: CAMEL-17893: camel-yaml-dsl - Remove endpoint-dsl notation which was not well known and is also causing problems for tooling and yaml schema validation.

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch CAMEL-17893
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 00c5536dd41ab9faf15fd47b97d9241b22899f0d
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Apr 1 16:27:31 2022 +0200

    CAMEL-17893: camel-yaml-dsl - Remove endpoint-dsl notation which was not well known and is also causing problems for tooling and yaml schema validation.
---
 .../ROOT/pages/camel-3x-upgrade-guide-3_17.adoc    | 43 +++++++++++++++++
 .../dsl/yaml/deserializers/ModelDeserializers.java | 54 +++-------------------
 .../dsl/yaml/GenerateYamlDeserializersMojo.java    |  7 ---
 .../camel-yaml-dsl/src/main/docs/yaml-dsl.adoc     | 13 ------
 .../dsl/yaml/YamlRoutesBuilderLoaderSupport.java   |  2 -
 .../org/apache/camel/dsl/yaml/SagaTest.groovy      | 23 ---------
 .../org/apache/camel/dsl/yaml/ToDynamicTest.groovy | 16 -------
 .../groovy/org/apache/camel/dsl/yaml/ToTest.groovy | 15 ------
 .../org/apache/camel/dsl/yaml/WireTapTest.groovy   | 17 +++++++
 9 files changed, 66 insertions(+), 124 deletions(-)

diff --git a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_17.adoc b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_17.adoc
index da36ee0..3cf6a39 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_17.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_17.adoc
@@ -10,6 +10,49 @@ from both 3.0 to 3.1 and 3.1 to 3.2.
 
 Added method `findRouteResourcesFromDirectory` to `org.apache.camel.main.RoutesCollector`.
 
+=== camel-yaml-dsl
+
+Removed _endpoint-dsl_ notation which was not well known,
+causing problems for tools, and yaml-validation against the json-schema standard.
+
+For example the following notation:
+
+[source,yaml]
+----
+- from:
+    uri: "direct:start"
+    steps:
+      - to:
+          kafka:
+            topic: cheese
+            brokers: mykafka:1234
+----
+
+Should be change to:
+
+[source,yaml]
+----
+- from:
+    uri: "direct:start"
+    steps:
+      - to:
+          uri: "kafka:cheese?brokers=mykafka:1234"
+----
+
+Or
+
+[source,yaml]
+----
+- from:
+    uri: "direct:start"
+    steps:
+      - to:
+          uri: "kafka"
+          parameters:
+            topic: "cheese"
+            brokers: "mykafka:1234"
+----
+
 === camel-kafka
 
 The option `autoCommitOnStop` was removed from the Camel Kafka component. When using `autoCommitEnable` (which is enabled by default) the Kafka consumer will automatically commit on close.
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
index ac71de3..367490d 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
@@ -6606,14 +6606,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 default: {
-                    String uri = EndpointProducerDeserializersResolver.resolveEndpointUri(propertyKey, node);
-                    if (uri == null) {
-                        return false;
-                    }
-                    if (target.getUri() != null) {
-                        throw new IllegalStateException("url must not be set when using Endpoint DSL");
-                    }
-                    target.setUri(uri);
+                    return false;
                 }
             }
             return true;
@@ -6682,14 +6675,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 default: {
-                    String uri = EndpointProducerDeserializersResolver.resolveEndpointUri(propertyKey, node);
-                    if (uri == null) {
-                        return false;
-                    }
-                    if (target.getUri() != null) {
-                        throw new IllegalStateException("url must not be set when using Endpoint DSL");
-                    }
-                    target.setUri(uri);
+                    return false;
                 }
             }
             return true;
@@ -13172,14 +13158,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 default: {
-                    String uri = EndpointProducerDeserializersResolver.resolveEndpointUri(propertyKey, node);
-                    if (uri == null) {
-                        return false;
-                    }
-                    if (target.getUri() != null) {
-                        throw new IllegalStateException("url must not be set when using Endpoint DSL");
-                    }
-                    target.setUri(uri);
+                    return false;
                 }
             }
             return true;
@@ -15733,14 +15712,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 default: {
-                    String uri = EndpointProducerDeserializersResolver.resolveEndpointUri(propertyKey, node);
-                    if (uri == null) {
-                        return false;
-                    }
-                    if (target.getUri() != null) {
-                        throw new IllegalStateException("url must not be set when using Endpoint DSL");
-                    }
-                    target.setUri(uri);
+                    return false;
                 }
             }
             return true;
@@ -15839,14 +15811,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 default: {
-                    String uri = EndpointProducerDeserializersResolver.resolveEndpointUri(propertyKey, node);
-                    if (uri == null) {
-                        return false;
-                    }
-                    if (target.getUri() != null) {
-                        throw new IllegalStateException("url must not be set when using Endpoint DSL");
-                    }
-                    target.setUri(uri);
+                    return false;
                 }
             }
             return true;
@@ -17457,14 +17422,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport {
                     break;
                 }
                 default: {
-                    String uri = EndpointProducerDeserializersResolver.resolveEndpointUri(propertyKey, node);
-                    if (uri == null) {
-                        return false;
-                    }
-                    if (target.getUri() != null) {
-                        throw new IllegalStateException("url must not be set when using Endpoint DSL");
-                    }
-                    target.setUri(uri);
+                    return false;
                 }
             }
             return true;
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
index e52d7ab..63d0490 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java
@@ -580,15 +580,8 @@ public class GenerateYamlDeserializersMojo extends GenerateYamlSupportMojo {
 
         if (extendsType(info, SEND_DEFINITION_CLASS) || extendsType(info, TO_DYNAMIC_DEFINITION_CLASS)) {
             setProperty.beginControlFlow("default:");
-            setProperty.addStatement("String uri = EndpointProducerDeserializersResolver.resolveEndpointUri(propertyKey, node)");
-            setProperty.beginControlFlow("if (uri == null)");
             setProperty.addStatement("return false");
             setProperty.endControlFlow();
-            setProperty.beginControlFlow("if (target.getUri() != null)");
-            setProperty.addStatement("throw new IllegalStateException(\"url must not be set when using Endpoint DSL\")");
-            setProperty.endControlFlow();
-            setProperty.addStatement("target.setUri(uri)");
-            setProperty.endControlFlow();
 
             properties.add(
                 yamlProperty(
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/docs/yaml-dsl.adoc b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/docs/yaml-dsl.adoc
index e7326e1..b74a106 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/docs/yaml-dsl.adoc
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/docs/yaml-dsl.adoc
@@ -130,19 +130,6 @@ To define an endpoint with the YAML dsl you have three options:
           parameters:
             authorizationToken: "XXX"
 ----
-. Using the YAML implementation of the xref:manual::Endpoint-dsl.adoc[Endpoint DSL]:
-+
-[source,yaml]
-----
-- from:
-    timer:
-      name: "tick"
-      period: "1s"
-    steps:
-      - telegram:
-          type: "bots"
-          authorizationToken: "XXX"
-----
 
 == Defining beans
 
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoaderSupport.java b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoaderSupport.java
index 94765fe..de84468 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoaderSupport.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoaderSupport.java
@@ -30,7 +30,6 @@ import org.apache.camel.dsl.yaml.common.YamlDeserializationContext;
 import org.apache.camel.dsl.yaml.common.YamlDeserializationMode;
 import org.apache.camel.dsl.yaml.common.exception.YamlDeserializationException;
 import org.apache.camel.dsl.yaml.deserializers.CustomResolver;
-import org.apache.camel.dsl.yaml.deserializers.EndpointProducerDeserializersResolver;
 import org.apache.camel.dsl.yaml.deserializers.ModelDeserializersResolver;
 import org.apache.camel.spi.Resource;
 import org.snakeyaml.engine.v2.api.LoadSettings;
@@ -68,7 +67,6 @@ public abstract class YamlRoutesBuilderLoaderSupport extends RouteBuilderLoaderS
         ctx.setCamelContext(getCamelContext());
         ctx.addResolvers(new CustomResolver());
         ctx.addResolvers(new ModelDeserializersResolver());
-        ctx.addResolvers(new EndpointProducerDeserializersResolver());
         return ctx;
     }
 
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/SagaTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/SagaTest.groovy
index dd372d4..731fc0b 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/SagaTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/SagaTest.groovy
@@ -136,29 +136,6 @@ class SagaTest extends YamlTestSupport {
                                  expression:
                                    simple: "${body}"        
                           - to: "mock:result"
-                    '''),
-                asResource('endpoint-dsl', '''
-                    - from:
-                        uri: "direct:start"
-                        steps:    
-                          - saga: 
-                             propagation: "MANDATORY"
-                             completionMode: "MANUAL"
-                             compensation: 
-                               direct:
-                                 name: "compensation"
-                             completion:
-                               direct:
-                                 name: "completion"
-                             steps:
-                               - to: "direct:something"  
-                             option:
-                               - key: o1
-                                 simple: "${body}" 
-                               - key: o2
-                                 expression:
-                                   simple: "${body}"          
-                          - to: "mock:result"
                     ''')
            ]
     }
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/ToDynamicTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/ToDynamicTest.groovy
index 0fd7b92..a87d004 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/ToDynamicTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/ToDynamicTest.groovy
@@ -53,14 +53,6 @@ class ToDynamicTest extends YamlTestSupport {
                               parameters:
                                 name: "start"
                     '''),
-                asResource('endpoint', '''
-                    - from:
-                        uri: "direct:start"
-                        steps:    
-                          - toD: 
-                              direct:
-                                name: "start"
-                    '''),
                 asResource('properties-out-of-order', '''
                     - from:
                         uri: "direct:start"
@@ -104,14 +96,6 @@ class ToDynamicTest extends YamlTestSupport {
                               parameters:
                                 name: "start"
                     '''),
-                    asResource('endpoint', '''
-                    - from:
-                        uri: "direct:start"
-                        steps:    
-                          - toD: 
-                              direct:
-                                name: "start"
-                    '''),
                     asResource('properties-out-of-order', '''
                     - from:
                         uri: "direct:start"
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/ToTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/ToTest.groovy
index 229d78e..1f0082c 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/ToTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/ToTest.groovy
@@ -53,21 +53,6 @@ class ToTest extends YamlTestSupport {
                               parameters:
                                 name: "start"
                     '''),
-                asResource('endpoint', '''
-                    - from:
-                        uri: "direct:start"
-                        steps:    
-                          - to: 
-                              direct:
-                                name: "start"
-                    '''),
-                asResource('endpoint-dsl', '''
-                    - from:
-                        uri: "direct:start"
-                        steps:    
-                          - direct:
-                              name: "start"
-                    '''),
                 asResource('properties-out-of-order', '''
                     - from:
                         uri: "direct:start"
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/WireTapTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/WireTapTest.groovy
index 8250c54..678e5d5 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/WireTapTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/WireTapTest.groovy
@@ -37,4 +37,21 @@ class WireTapTest extends YamlTestSupport {
                 uri == "direct:wt"
             }
     }
+
+    def "wire-tap uri parameters (#resource.location)"() {
+        when:
+            loadRoutes '''
+                - from:
+                    uri: "direct:start"
+                    steps:
+                      - wire-tap:
+                         uri: direct
+                         parameters:
+                           name: wt2  
+            '''
+        then:
+            with(context.routeDefinitions[0].outputs[0], WireTapDefinition) {
+                uri == "direct:wt2"
+            }
+    }
 }