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 2023/02/03 13:58:37 UTC

[camel] branch main updated: CAMEL-19007: camel-yaml-dsl: Remove classic mode and let flow be default out of the box.

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

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


The following commit(s) were added to refs/heads/main by this push:
     new d1580fe4a94 CAMEL-19007: camel-yaml-dsl: Remove classic mode and let flow be default out of the box.
d1580fe4a94 is described below

commit d1580fe4a94a93fd0ca7b6f301785ecdae69465c
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Feb 3 14:58:19 2023 +0100

    CAMEL-19007: camel-yaml-dsl: Remove classic mode and let flow be default out of the box.
---
 .../yaml/common/YamlDeserializationContext.java    | 10 ----
 .../dsl/yaml/common/YamlDeserializerSupport.java   | 15 ++---
 .../dsl/yaml/YamlRoutesBuilderLoaderSupport.java   | 13 ----
 .../org/apache/camel/dsl/yaml/AggregateTest.groovy | 23 --------
 .../org/apache/camel/dsl/yaml/FilterTest.groovy    | 19 ------
 .../org/apache/camel/dsl/yaml/KameletTest.groovy   | 69 ++--------------------
 .../org/apache/camel/dsl/yaml/LoopTest.groovy      | 19 ------
 .../org/apache/camel/dsl/yaml/SplitTest.groovy     | 16 -----
 .../camel/dsl/yaml/support/YamlTestSupport.groovy  |  6 --
 9 files changed, 11 insertions(+), 179 deletions(-)

diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializationContext.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializationContext.java
index df7080e3d76..5ca80d1fe99 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializationContext.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializationContext.java
@@ -48,7 +48,6 @@ public class YamlDeserializationContext extends StandardConstructor implements C
 
     private final Set<YamlDeserializerResolver> resolvers;
     private final Map<String, ConstructNode> constructors;
-    private YamlDeserializationMode deserializationMode;
     private ExtendedCamelContext camelContext;
     private Resource resource;
 
@@ -56,7 +55,6 @@ public class YamlDeserializationContext extends StandardConstructor implements C
         super(settings);
         this.resolvers = new TreeSet<>(Comparator.comparing(Ordered::getOrder));
         this.constructors = new HashMap<>();
-        this.deserializationMode = YamlDeserializationMode.FLOW;
     }
 
     public void addResolver(YamlDeserializerResolver resolver) {
@@ -71,14 +69,6 @@ public class YamlDeserializationContext extends StandardConstructor implements C
         this.resolvers.addAll(resolvers);
     }
 
-    public void setDeserializationMode(YamlDeserializationMode deserializationMode) {
-        this.deserializationMode = deserializationMode;
-    }
-
-    public YamlDeserializationMode getDeserializationMode() {
-        return deserializationMode;
-    }
-
     public Resource getResource() {
         return resource;
     }
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
index c5a9f3c1300..0b2bfe8ebd6 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
@@ -395,20 +395,17 @@ public class YamlDeserializerSupport {
 
     public static void setSteps(Block target, Node node) {
         final YamlDeserializationContext dc = getDeserializationContext(node);
-        boolean flow = dc.getDeserializationMode() == YamlDeserializationMode.FLOW;
-        setSteps(target, node, flow);
+        setStepsFlowMode(target, node);
     }
 
-    private static void setSteps(Block target, Node node, boolean flowMode) {
+    private static void setStepsFlowMode(Block target, Node node) {
         Block block = target;
         for (ProcessorDefinition<?> definition : asFlatList(node, ProcessorDefinition.class)) {
             block.addOutput(definition);
-
-            if (flowMode) {
-                if (definition instanceof OutputNode) {
-                    if (ObjectHelper.isEmpty(definition.getOutputs())) {
-                        block = definition;
-                    }
+            // flow mode
+            if (definition instanceof OutputNode) {
+                if (ObjectHelper.isEmpty(definition.getOutputs())) {
+                    block = definition;
                 }
             }
         }
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 f841970fa22..bb7998c615d 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
@@ -19,15 +19,12 @@ package org.apache.camel.dsl.yaml;
 import java.io.FileNotFoundException;
 import java.io.InputStream;
 import java.util.List;
-import java.util.Locale;
-import java.util.Map;
 import java.util.Objects;
 import java.util.function.Predicate;
 
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.dsl.support.RouteBuilderLoaderSupport;
 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.ModelDeserializersResolver;
@@ -46,8 +43,6 @@ import static org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asText;
 
 public abstract class YamlRoutesBuilderLoaderSupport extends RouteBuilderLoaderSupport {
 
-    public static final String DESERIALIZATION_MODE = "CamelYamlDslDeserializationMode";
-
     public YamlRoutesBuilderLoaderSupport(String extension) {
         super(extension);
     }
@@ -55,14 +50,6 @@ public abstract class YamlRoutesBuilderLoaderSupport extends RouteBuilderLoaderS
     protected YamlDeserializationContext newYamlDeserializationContext(LoadSettings settings, Resource resource) {
         YamlDeserializationContext ctx = new YamlDeserializationContext(settings);
 
-        YamlDeserializationMode deserializationMode = YamlDeserializationMode.FLOW;
-        final Map<String, String> options = getCamelContext().getGlobalOptions();
-        final String mode = options.get(DESERIALIZATION_MODE);
-        if (mode != null) {
-            deserializationMode = YamlDeserializationMode.valueOf(mode.toUpperCase(Locale.US));
-        }
-
-        ctx.setDeserializationMode(deserializationMode);
         ctx.setResource(resource);
         ctx.setCamelContext(getCamelContext());
         ctx.addResolvers(new CustomResolver());
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/AggregateTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/AggregateTest.groovy
index 053c1d8afb2..8af97c9fd8b 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/AggregateTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/AggregateTest.groovy
@@ -125,29 +125,6 @@ class AggregateTest extends YamlTestSupport {
             MockEndpoint.assertIsSatisfied(context)
     }
 
-    def 'aggregate (flow disabled)'() {
-        setup:
-            setFlowMode(YamlDeserializationMode.CLASSIC)
-        when:
-            loadRoutes '''
-                - beans:
-                  - name: myAggregatorStrategy
-                    type: org.apache.camel.processor.aggregate.UseLatestAggregationStrategy
-                - from:
-                    uri: "direct:route"
-                    steps:
-                      - aggregate:
-                          aggregation-strategy: "myAggregatorStrategy"
-                          completion-size: 2
-                          correlation-expression:
-                            simple: "${header.StockSymbol}"
-                      - to: "mock:route"
-            '''
-        then:
-            def ex = thrown(FailedToCreateRouteException)
-            ex.message.contains('Failed to create route')
-    }
-
     def 'aggregate (strategy-ref class)'() {
         setup:
         loadRoutes '''
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/FilterTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/FilterTest.groovy
index 00101122fbc..3f6608f1926 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/FilterTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/FilterTest.groovy
@@ -128,23 +128,4 @@ class FilterTest extends YamlTestSupport {
             MockEndpoint.assertIsSatisfied(context)
     }
 
-    def "filter (flow disabled)"() {
-        setup:
-            setFlowMode(YamlDeserializationMode.CLASSIC)
-
-        when:
-            loadRoutes '''
-                - from:
-                    uri: "direct:route"
-                    steps:
-                      - filter:
-                          simple: "${body.startsWith(\\"a\\")}"
-                      - to: "mock:filter"
-            '''
-
-            context.start()
-        then:
-            def ex = thrown(FailedToCreateRouteException)
-            ex.message.contains('Failed to create route')
-    }
 }
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy
index 15555d97aa8..a90e3e8caf3 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy
@@ -30,15 +30,14 @@ class KameletTest extends YamlTestSupport {
         context.start()
     }
 
-    def "kamelet (#resource)"(Tuple2<YamlDeserializationMode, Resource> resource) {
+    def "kamelet (#resource)"(Tuple<Resource> resource) {
         setup:
             addTemplate('setPayload') {
                 from('kamelet:source')
                     .setBody().simple('${body}: {{payload}}')
             }
 
-            setFlowMode(resource[0] as YamlDeserializationMode)
-            loadRoutes(resource[1] as Resource)
+            loadRoutes(resource[0] as Resource)
 
             withMock('mock:kamelet') {
                 expectedMessageCount 1
@@ -54,63 +53,7 @@ class KameletTest extends YamlTestSupport {
 
         where:
             resource << [
-                new Tuple2<YamlDeserializationMode, Resource>(
-                    YamlDeserializationMode.CLASSIC,
-                    asResource('inline', '''
-                        - from:
-                            uri: "direct:start"
-                            steps:
-                              - kamelet: "setPayload?payload=1"
-                              - to: "mock:kamelet"
-                        ''')),
-                new Tuple2<YamlDeserializationMode, Resource>(
-                    YamlDeserializationMode.CLASSIC,
-                    asResource('name', '''
-                        - from:
-                            uri: "direct:start"
-                            steps:
-                              - kamelet: 
-                                  name: "setPayload?payload=1"
-                              - to: "mock:kamelet"
-                        ''')),
-                new Tuple2<YamlDeserializationMode, Resource>(
-                        YamlDeserializationMode.CLASSIC,
-                        asResource('name_with_steps', '''
-                        - from:
-                            uri: "direct:start"
-                            steps:
-                              - kamelet: 
-                                  name: "setPayload?payload=1"
-                                  steps:
-                                    - to: "mock:kamelet"
-                        ''')),
-                new Tuple2<YamlDeserializationMode, Resource>(
-                        YamlDeserializationMode.CLASSIC,
-                        asResource('properties', '''
-                            - from:
-                                uri: "direct:start"
-                                steps:
-                                  - kamelet: 
-                                      name: "setPayload"
-                                      parameters:
-                                        payload: 1
-                                  - to: "mock:kamelet"
-                            ''')),
-                new Tuple2<YamlDeserializationMode, Resource>(
-                        YamlDeserializationMode.CLASSIC,
-                        asResource('properties_with_steps', '''
-                            - from:
-                                uri: "direct:start"
-                                steps:
-                                  - kamelet: 
-                                      name: "setPayload"
-                                      parameters:
-                                        payload: 1
-                                      steps:
-                                        - to: "mock:kamelet"
-                            ''')),
-                new Tuple2<YamlDeserializationMode, Resource>(
-                        YamlDeserializationMode.FLOW,
+                new Tuple<Resource>(
                         asResource('inline', '''
                         - from:
                             uri: "direct:start"
@@ -118,8 +61,7 @@ class KameletTest extends YamlTestSupport {
                               - kamelet: "setPayload?payload=1"
                               - to: "mock:kamelet"
                         ''')),
-                new Tuple2<YamlDeserializationMode, Resource>(
-                        YamlDeserializationMode.FLOW,
+                new Tuple<Resource>(
                         asResource('name', '''
                         - from:
                             uri: "direct:start"
@@ -128,8 +70,7 @@ class KameletTest extends YamlTestSupport {
                                   name: "setPayload?payload=1"
                               - to: "mock:kamelet"
                         ''')),
-                new Tuple2<YamlDeserializationMode, Resource>(
-                        YamlDeserializationMode.FLOW,
+                new Tuple<Resource>(
                         asResource('properties', '''
                             - from:
                                 uri: "direct:start"
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/LoopTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/LoopTest.groovy
index 1c02ee9aa76..f93dfdfaf54 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/LoopTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/LoopTest.groovy
@@ -85,23 +85,4 @@ class LoopTest extends YamlTestSupport {
             MockEndpoint.assertIsSatisfied(context)
     }
 
-    def "loop (flow disabled)"() {
-        setup:
-            setFlowMode(YamlDeserializationMode.CLASSIC)
-        when:
-            loadRoutes '''
-                - from:
-                    uri: "direct:route"
-                    steps:    
-                      - loop:
-                         copy: true 
-                         constant: "3"
-                      - to: "mock:result"
-            '''
-
-            context.start()
-        then:
-            def ex = thrown(FailedToCreateRouteException)
-            ex.message.contains('Failed to create route')
-    }
 }
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/SplitTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/SplitTest.groovy
index 817f2b48c84..030d4e3a82d 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/SplitTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/SplitTest.groovy
@@ -84,20 +84,4 @@ class SplitTest extends YamlTestSupport {
             MockEndpoint.assertIsSatisfied(context)
     }
 
-    def "split (flow disabled)"() {
-        setup:
-            setFlowMode(YamlDeserializationMode.CLASSIC)
-        when:
-            loadRoutes '''
-                - from:
-                    uri: "direct:route"
-                    steps:
-                      - split:
-                          tokenize: ","
-                      - to: "mock:split"
-            '''
-        then:
-            def ex = thrown(FailedToCreateRouteException)
-            ex.message.contains('Failed to create route')
-    }
 }
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/support/YamlTestSupport.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/support/YamlTestSupport.groovy
index 6091f7674c4..6e2aed45c3a 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/support/YamlTestSupport.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/support/YamlTestSupport.groovy
@@ -26,8 +26,6 @@ import org.apache.camel.FluentProducerTemplate
 import org.apache.camel.builder.RouteBuilder
 import org.apache.camel.component.mock.MockEndpoint
 import org.apache.camel.dsl.yaml.KameletRoutesBuilderLoader
-import org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader
-import org.apache.camel.dsl.yaml.common.YamlDeserializationMode
 import org.apache.camel.impl.DefaultCamelContext
 import org.apache.camel.model.RouteTemplateDefinition
 import org.apache.camel.spi.HasCamelContext
@@ -193,10 +191,6 @@ class YamlTestSupport extends Specification implements HasCamelContext {
         }
     }
 
-    def setFlowMode(YamlDeserializationMode mode) {
-        context.globalOptions[YamlRoutesBuilderLoader.DESERIALIZATION_MODE] = mode.name()
-    }
-
     // ***********************************
     //
     // Lifecycle