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 2021/10/14 05:50:08 UTC

[camel] branch main updated (1c04f01 -> b486b8a)

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

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


    from 1c04f01  Sync deps
     new 077078a  CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.
     new 01e0572  CAMEL-17072: Using custom debug requires to be enabled. Using debug from camel-test fixed.
     new 8c3b870  CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.
     new 0d2a4a8  CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.
     new d6df1fd  CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.
     new a9acd0b  CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.
     new b486b8a  CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.

The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../datasonnet/CamelDatasonnetJavaDslTest.java      |  4 ++--
 .../apache/camel/test/junit5/CamelTestSupport.java  |  4 ++--
 .../test/spring/junit5/CamelAnnotationsHandler.java |  4 ++++
 ...CamelSpringProvidesBreakpointInheritedTest.java} |  2 +-
 .../camel/test/spring/CamelAnnotationsHandler.java  |  4 ++++
 ...pringRunnerProvidesBreakpointInheritedTest.java} |  2 +-
 .../camel/test/patterns/applicationContext.xml      |  2 +-
 .../apache/camel/test/junit4/CamelTestSupport.java  |  3 ++-
 .../org/apache/camel/builder/BuilderSupport.java    | 21 +++++++++++++--------
 .../camel/builder/EndpointConsumerBuilder.java      |  5 -----
 .../camel/builder/EndpointProducerBuilder.java      |  5 -----
 .../org/apache/camel/builder/SimpleBuilder.java     |  1 +
 .../org/apache/camel/model/ProcessorDefinition.java |  9 +++++----
 .../builder/endpoint/EndpointBuilderFactory.java    | 13 ++++++++++---
 .../builder/endpoint/AbstractEndpointBuilder.java   | 12 ++++++------
 .../ROOT/pages/camel-3x-upgrade-guide-3_13.adoc     |  9 ++++++++-
 .../camel/maven/packaging/EndpointDslMojo.java      | 18 ++++++++++++++----
 17 files changed, 74 insertions(+), 44 deletions(-)
 rename components/camel-test/camel-test-spring-junit5/src/test/java/org/apache/camel/test/spring/{CamelSpringProvidesBreakpointInherritedTest.java => CamelSpringProvidesBreakpointInheritedTest.java} (94%)
 rename components/camel-test/camel-test-spring/src/test/java/org/apache/camel/test/spring/{CamelSpringRunnerProvidesBreakpointInherritedTest.java => CamelSpringRunnerProvidesBreakpointInheritedTest.java} (93%)

[camel] 02/07: CAMEL-17072: Using custom debug requires to be enabled. Using debug from camel-test fixed.

Posted by da...@apache.org.
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

commit 01e057268d6e2f7b8f85ce4dd918495b20385ed6
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Oct 14 07:07:15 2021 +0200

    CAMEL-17072: Using custom debug requires to be enabled. Using debug from camel-test fixed.
---
 .../main/java/org/apache/camel/test/junit5/CamelTestSupport.java    | 4 ++--
 .../apache/camel/test/spring/junit5/CamelAnnotationsHandler.java    | 4 ++++
 ...tedTest.java => CamelSpringProvidesBreakpointInheritedTest.java} | 2 +-
 .../java/org/apache/camel/test/spring/CamelAnnotationsHandler.java  | 4 ++++
 ...t.java => CamelSpringRunnerProvidesBreakpointInheritedTest.java} | 2 +-
 .../resources/org/apache/camel/test/patterns/applicationContext.xml | 2 +-
 .../main/java/org/apache/camel/test/junit4/CamelTestSupport.java    | 3 ++-
 .../user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc | 6 +++++-
 8 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/CamelTestSupport.java b/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/CamelTestSupport.java
index 7e6aaa8..dfb8014 100644
--- a/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/CamelTestSupport.java
+++ b/components/camel-test/camel-test-junit5/src/main/java/org/apache/camel/test/junit5/CamelTestSupport.java
@@ -442,10 +442,10 @@ public abstract class CamelTestSupport
                 // we need to stop the context first to setup the debugger
                 context.stop();
             }
+            context.setDebugging(true);
             context.setDebugger(new DefaultDebugger());
             context.getDebugger().addBreakpoint(breakpoint);
-            // when stopping CamelContext it will automatic remove the
-            // breakpoint
+            // when stopping CamelContext it will automatically remove the breakpoint
         }
 
         template = context.createProducerTemplate();
diff --git a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java
index cd56b4c..59f6bff 100644
--- a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java
+++ b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java
@@ -210,6 +210,10 @@ public final class CamelAnnotationsHandler {
 
                 public void execute(String contextName, SpringCamelContext camelContext)
                         throws Exception {
+
+                    // automatic turn on debugging when we have breakpoints
+                    camelContext.setDebugging(true);
+
                     Debugger debugger = camelContext.getDebugger();
                     if (debugger == null) {
                         debugger = new DefaultDebugger();
diff --git a/components/camel-test/camel-test-spring-junit5/src/test/java/org/apache/camel/test/spring/CamelSpringProvidesBreakpointInherritedTest.java b/components/camel-test/camel-test-spring-junit5/src/test/java/org/apache/camel/test/spring/CamelSpringProvidesBreakpointInheritedTest.java
similarity index 94%
rename from components/camel-test/camel-test-spring-junit5/src/test/java/org/apache/camel/test/spring/CamelSpringProvidesBreakpointInherritedTest.java
rename to components/camel-test/camel-test-spring-junit5/src/test/java/org/apache/camel/test/spring/CamelSpringProvidesBreakpointInheritedTest.java
index 72f2516..6de0f8f 100644
--- a/components/camel-test/camel-test-spring-junit5/src/test/java/org/apache/camel/test/spring/CamelSpringProvidesBreakpointInherritedTest.java
+++ b/components/camel-test/camel-test-spring-junit5/src/test/java/org/apache/camel/test/spring/CamelSpringProvidesBreakpointInheritedTest.java
@@ -16,7 +16,7 @@
  */
 package org.apache.camel.test.spring;
 
-public class CamelSpringProvidesBreakpointInherritedTest
+public class CamelSpringProvidesBreakpointInheritedTest
         extends CamelSpringProvidesBreakpointTest {
 
 }
diff --git a/components/camel-test/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelAnnotationsHandler.java b/components/camel-test/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelAnnotationsHandler.java
index 0d583a9..8e13b6d 100644
--- a/components/camel-test/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelAnnotationsHandler.java
+++ b/components/camel-test/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelAnnotationsHandler.java
@@ -211,6 +211,10 @@ public final class CamelAnnotationsHandler {
 
                 public void execute(String contextName, SpringCamelContext camelContext)
                         throws Exception {
+
+                    // automatic turn on debugging when we have breakpoints
+                    camelContext.setDebugging(true);
+
                     Debugger debugger = camelContext.getDebugger();
                     if (debugger == null) {
                         debugger = new DefaultDebugger();
diff --git a/components/camel-test/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringRunnerProvidesBreakpointInherritedTest.java b/components/camel-test/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringRunnerProvidesBreakpointInheritedTest.java
similarity index 93%
rename from components/camel-test/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringRunnerProvidesBreakpointInherritedTest.java
rename to components/camel-test/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringRunnerProvidesBreakpointInheritedTest.java
index 00b8058..9ce542a 100644
--- a/components/camel-test/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringRunnerProvidesBreakpointInherritedTest.java
+++ b/components/camel-test/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringRunnerProvidesBreakpointInheritedTest.java
@@ -16,7 +16,7 @@
  */
 package org.apache.camel.test.spring;
 
-public class CamelSpringRunnerProvidesBreakpointInherritedTest
+public class CamelSpringRunnerProvidesBreakpointInheritedTest
         extends CamelSpringRunnerProvidesBreakpointTest {
 
 }
diff --git a/components/camel-test/camel-test-spring/src/test/resources/org/apache/camel/test/patterns/applicationContext.xml b/components/camel-test/camel-test-spring/src/test/resources/org/apache/camel/test/patterns/applicationContext.xml
index 17179a4..0216a61 100644
--- a/components/camel-test/camel-test-spring/src/test/resources/org/apache/camel/test/patterns/applicationContext.xml
+++ b/components/camel-test/camel-test-spring/src/test/resources/org/apache/camel/test/patterns/applicationContext.xml
@@ -25,7 +25,7 @@
 		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd ">
 
 
-	<camelContext id="camelContext" xmlns="http://camel.apache.org/schema/spring" trace="true" autoStartup="true" >
+	<camelContext id="camelContext" xmlns="http://camel.apache.org/schema/spring" debug="true" trace="true" autoStartup="true" >
 
 		<route>
 			<from uri="direct:start" />
diff --git a/components/camel-test/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java b/components/camel-test/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java
index f432731..e9dbd8b 100644
--- a/components/camel-test/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java
+++ b/components/camel-test/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java
@@ -393,9 +393,10 @@ public abstract class CamelTestSupport extends TestSupport {
                 // we need to stop the context first to setup the debugger
                 context.stop();
             }
+            context.setDebugging(true);
             context.setDebugger(new DefaultDebugger());
             context.getDebugger().addBreakpoint(breakpoint);
-            // note: when stopping CamelContext it will automatic remove the breakpoint
+            // note: when stopping CamelContext it will automatically remove the breakpoint
         }
 
         template = context.createProducerTemplate();
diff --git a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc
index 9fe36bd..279eaf2 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc
@@ -12,6 +12,11 @@ Added method `getStartedEventNotifiers` to `org.apache.camel.spi.ManagementStrat
 
 Added method `scheduleQueue` to `org.apache.camel.spi.ReactiveExecutor`.
 
+=== Using custom Debugger
+
+Previously when setting a custom org.apache.camel.spi.Debugger, then Camel would automatically
+enable debug mode. Now debugging must be enabled by setting `setDebugging(true)` on `CamelContext`.
+
 === Using transactions
 
 The routing engine has been changed to route exchanges in a different order
@@ -44,7 +49,6 @@ In order to reduce memory pressure, the component was modified to avoid using Li
 - `GenericFileOperations`: the return type for the methods `listFiles` and `listFiles(String)` was modified to return an array of (generic) objects instead of a List
 - `GenericFileConsumer`: the signature of the methods `isValidFile` and `isMatched` was modified to receive an array of files.
 
-
 === camel-ftp
 
 The `FtpConsumer`, `FtpOperations`, `SftConsumer` and `SftpOperations` classes were modified to comply with the API changes on the `camel-file` component.

[camel] 06/07: CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.

Posted by da...@apache.org.
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

commit a9acd0be4bf7123f25da1d277ae80b9d756a16b4
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Oct 14 07:39:50 2021 +0200

    CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.
---
 .../java/org/apache/camel/builder/EndpointConsumerBuilder.java   | 5 -----
 .../java/org/apache/camel/builder/EndpointProducerBuilder.java   | 5 -----
 .../main/java/org/apache/camel/model/ProcessorDefinition.java    | 6 +++---
 .../apache/camel/builder/endpoint/AbstractEndpointBuilder.java   | 9 ---------
 4 files changed, 3 insertions(+), 22 deletions(-)

diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/EndpointConsumerBuilder.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/EndpointConsumerBuilder.java
index 9a273ff..7b52e88 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/EndpointConsumerBuilder.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/EndpointConsumerBuilder.java
@@ -49,11 +49,6 @@ public interface EndpointConsumerBuilder extends EndpointConsumerResolver {
     void doSetMultiValueProperties(String name, String prefix, Map<String, Object> values);
 
     /**
-     * Builds an expression of this endpoint url. This API is only intended for Camel internally.
-     */
-    Expression expr();
-
-    /**
      * Builds a dynamic expression of this endpoint url. This API is only intended for Camel internally.
      */
     Expression expr(CamelContext camelContext);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/EndpointProducerBuilder.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/EndpointProducerBuilder.java
index 252cc24..e5122be 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/EndpointProducerBuilder.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/EndpointProducerBuilder.java
@@ -49,11 +49,6 @@ public interface EndpointProducerBuilder extends EndpointProducerResolver {
     void doSetMultiValueProperties(String name, String prefix, Map<String, Object> values);
 
     /**
-     * Builds an expression of this endpoint url. This API is only intended for Camel internally.
-     */
-    Expression expr();
-
-    /**
      * Builds a dynamic expression of this endpoint url. This API is only intended for Camel internally.
      */
     Expression expr(CamelContext camelContext);
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java
index 2a1267e..60d3bfb 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java
@@ -3207,7 +3207,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type>
      * @see                org.apache.camel.processor.PollEnricher
      */
     public Type pollEnrich(EndpointConsumerBuilder resourceUri) {
-        return pollEnrich(resourceUri.expr(), -1, (String) null, false);
+        return pollEnrich(new SimpleExpression(resourceUri.getUri()), -1, (String) null, false);
     }
 
     /**
@@ -3432,7 +3432,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type>
     public Type pollEnrich(
             @AsEndpointUri EndpointConsumerBuilder resourceUri, long timeout, AggregationStrategy aggregationStrategy,
             boolean aggregateOnException) {
-        return pollEnrich(resourceUri.expr(), timeout, aggregationStrategy, aggregateOnException);
+        return pollEnrich(new SimpleExpression(resourceUri.getUri()), timeout, aggregationStrategy, aggregateOnException);
     }
 
     /**
@@ -3459,7 +3459,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type>
     public Type pollEnrich(
             @AsEndpointUri EndpointConsumerBuilder resourceUri, long timeout, String aggregationStrategyRef,
             boolean aggregateOnException) {
-        return pollEnrich(resourceUri.expr(), timeout, aggregationStrategyRef, aggregateOnException);
+        return pollEnrich(new SimpleExpression(resourceUri.getUri()), timeout, aggregationStrategyRef, aggregateOnException);
     }
 
     /**
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/AbstractEndpointBuilder.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/AbstractEndpointBuilder.java
index f77e3e0..ed46421 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/AbstractEndpointBuilder.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/AbstractEndpointBuilder.java
@@ -30,7 +30,6 @@ import org.apache.camel.Expression;
 import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.NoSuchEndpointException;
 import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.builder.SimpleBuilder;
 import org.apache.camel.spi.Language;
 import org.apache.camel.spi.NormalizedEndpointUri;
 import org.apache.camel.spi.PropertiesComponent;
@@ -186,14 +185,6 @@ public class AbstractEndpointBuilder {
         });
     }
 
-    /**
-     * Use {@link #expr(CamelContext)}
-     */
-    @Deprecated
-    public Expression expr() {
-        return SimpleBuilder.simple(getUri());
-    }
-
     public Expression expr(CamelContext camelContext) {
         // need to bind complex properties so we can return an uri that includes these parameters too
         // do not encode computed uri as we want to preserve simple expressions, as this is used

[camel] 05/07: CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.

Posted by da...@apache.org.
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

commit d6df1fd26f095830dab59684453fd3a574e74b26
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Oct 14 07:34:14 2021 +0200

    CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.
---
 .../camel/builder/endpoint/EndpointBuilderFactory.java      | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index c447925..dd07f1a 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -373,14 +373,21 @@ public interface EndpointBuilderFactory
     default org.apache.camel.Expression endpoints(
             org.apache.camel.builder.EndpointProducerBuilder... endpoints) {
         return new org.apache.camel.support.ExpressionAdapter() {
-            List<org.apache.camel.Expression> expressions = Stream.of(endpoints)
-                .map(org.apache.camel.builder.EndpointProducerBuilder::expr)
-                .collect(Collectors.toList());
+        
+            private List<org.apache.camel.Expression> expressions = null;
         
             @Override
             public Object evaluate(org.apache.camel.Exchange exchange) {
                 return expressions.stream().map(e -> e.evaluate(exchange, Object.class)).collect(Collectors.toList());
             }
+        
+            @Override
+            public void init(org.apache.camel.CamelContext context) {
+                super.init(context);
+                expressions = Stream.of(endpoints)
+                        .map(epb -> epb.expr(context))
+                        .collect(Collectors.toList());
+            }
         };
     }
 }

[camel] 04/07: CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.

Posted by da...@apache.org.
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

commit 0d2a4a821dbf632f0f268f4124c8bb96a8d27e4c
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Oct 14 07:33:12 2021 +0200

    CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.
---
 .../apache/camel/maven/packaging/EndpointDslMojo.java  | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
index 911de40..ba7216f 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java
@@ -725,12 +725,22 @@ public class EndpointDslMojo extends AbstractGeneratorMojo {
         javaClass.addMethod().setDefault().setReturnType("org.apache.camel.Expression").setName("endpoints")
                 .addParameter("org.apache.camel.builder.EndpointProducerBuilder", "endpoints", true)
                 .setBody("return new org.apache.camel.support.ExpressionAdapter() {",
-                        "    List<org.apache.camel.Expression> expressions = Stream.of(endpoints)",
-                        "        .map(org.apache.camel.builder.EndpointProducerBuilder::expr)",
-                        "        .collect(Collectors.toList());", "", "    @Override",
+                        "",
+                        "    private List<org.apache.camel.Expression> expressions = null;",
+                        "",
+                        "    @Override",
                         "    public Object evaluate(org.apache.camel.Exchange exchange) {",
                         "        return expressions.stream().map(e -> e.evaluate(exchange, Object.class)).collect(Collectors.toList());",
-                        "    }", "};");
+                        "    }",
+                        "",
+                        "    @Override",
+                        "    public void init(org.apache.camel.CamelContext context) {",
+                        "        super.init(context);",
+                        "        expressions = Stream.of(endpoints)",
+                        "                .map(epb -> epb.expr(context))",
+                        "                .collect(Collectors.toList());",
+                        "    }",
+                        "};");
 
         for (File factory : factories) {
             String factoryName = Strings.before(factory.getName(), ".");

[camel] 01/07: CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.

Posted by da...@apache.org.
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

commit 077078a7f9b29adf6e6c86f0d4862a35e2cbdf8d
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Oct 13 20:25:50 2021 +0200

    CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.
---
 .../datasonnet/CamelDatasonnetJavaDslTest.java      |  4 ++--
 .../org/apache/camel/builder/BuilderSupport.java    | 21 +++++++++++++--------
 .../org/apache/camel/builder/SimpleBuilder.java     |  1 +
 3 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/components/camel-datasonnet/src/test/java/org/apache/camel/language/datasonnet/CamelDatasonnetJavaDslTest.java b/components/camel-datasonnet/src/test/java/org/apache/camel/language/datasonnet/CamelDatasonnetJavaDslTest.java
index 6f6a768..7dd4571 100644
--- a/components/camel-datasonnet/src/test/java/org/apache/camel/language/datasonnet/CamelDatasonnetJavaDslTest.java
+++ b/components/camel-datasonnet/src/test/java/org/apache/camel/language/datasonnet/CamelDatasonnetJavaDslTest.java
@@ -63,8 +63,8 @@ public class CamelDatasonnetJavaDslTest extends CamelTestSupport {
                 from("direct:basicTransform")
                         .routeId("basicTransform")
                         .setProperty("test", constant("HelloWorld"))
-                        .setProperty("count", simple("1").resultType(Integer.class))
-                        .setProperty("isActive", simple("true").resultType(Boolean.class))
+                        .setProperty("count", simple("1", Integer.class))
+                        .setProperty("isActive", simple("true", Boolean.class))
                         .setProperty("1. Full Name", constant("DataSonnet"))
                         .transform(datasonnet("resource:classpath:simpleMapping.ds", String.class)
                                 .bodyMediaType(MediaTypes.APPLICATION_JSON_VALUE)
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java
index 97ea58d..31eb93b 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java
@@ -28,6 +28,7 @@ import org.apache.camel.NoSuchEndpointException;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.model.language.ExchangePropertyExpression;
 import org.apache.camel.model.language.HeaderExpression;
+import org.apache.camel.model.language.SimpleExpression;
 import org.apache.camel.model.language.XPathExpression;
 import org.apache.camel.support.builder.Namespaces;
 import org.apache.camel.util.ObjectHelper;
@@ -177,29 +178,33 @@ public abstract class BuilderSupport implements CamelContextAware {
     /**
      * Returns a simple expression value builder
      */
-    public SimpleBuilder simple(String value) {
-        return SimpleBuilder.simple(value);
+    public ValueBuilder simple(String value) {
+        return simple(value, null);
     }
 
     /**
      * Returns a simple expression value builder
      */
-    public SimpleBuilder simple(String value, Class<?> resultType) {
-        return SimpleBuilder.simple(value, resultType);
+    public ValueBuilder simple(String value, Class<?> resultType) {
+        SimpleExpression exp = new SimpleExpression(value);
+        exp.setResultType(resultType);
+        return new ValueBuilder(exp);
     }
 
     /**
      * Returns a simple expression value builder, using String.format style
      */
-    public SimpleBuilder simpleF(String format, Object... values) {
-        return SimpleBuilder.simpleF(format, values);
+    public ValueBuilder simpleF(String format, Object... values) {
+        String exp = String.format(format, values);
+        return simple(exp);
     }
 
     /**
      * Returns a simple expression value builder, using String.format style
      */
-    public SimpleBuilder simpleF(String format, Class<?> resultType, Object... values) {
-        return SimpleBuilder.simpleF(format, resultType, values);
+    public ValueBuilder simpleF(String format, Class<?> resultType, Object... values) {
+        String exp = String.format(format, values);
+        return simple(exp, resultType);
     }
 
     /**
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/SimpleBuilder.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/SimpleBuilder.java
index 0f22e3b..2d631f2 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/SimpleBuilder.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/SimpleBuilder.java
@@ -29,6 +29,7 @@ import org.apache.camel.spi.Language;
  * This builder is available in the Java DSL from the {@link RouteBuilder} which means that using simple language for
  * {@link Expression}s or {@link Predicate}s is very easy with the help of this builder.
  */
+@Deprecated
 public class SimpleBuilder implements Predicate, Expression, ExpressionResultTypeAware {
 
     private String text;

[camel] 07/07: CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.

Posted by da...@apache.org.
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

commit b486b8a9f534c6edb2859646527c0138870ced30
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Oct 14 07:49:28 2021 +0200

    CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.
---
 docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc
index 279eaf2..cf8dd0e 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_13.adoc
@@ -12,6 +12,9 @@ Added method `getStartedEventNotifiers` to `org.apache.camel.spi.ManagementStrat
 
 Added method `scheduleQueue` to `org.apache.camel.spi.ReactiveExecutor`.
 
+The `org.apache.camel.builder.SimpleBuilder` has been deprecated. This builder
+was mostly used internally in Camel with the Java DSL in some situations.
+
 === Using custom Debugger
 
 Previously when setting a custom org.apache.camel.spi.Debugger, then Camel would automatically

[camel] 03/07: CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.

Posted by da...@apache.org.
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

commit 8c3b8701db210e2798a504d6cbae24144e91e12e
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Oct 14 07:17:41 2021 +0200

    CAMEL-17079: Deprecate SimpleBuilder and migrate to not use it anymore.
---
 .../main/java/org/apache/camel/model/ProcessorDefinition.java |  3 ++-
 .../camel/builder/endpoint/AbstractEndpointBuilder.java       | 11 ++++++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java
index 5dde972..2a1267e 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinition.java
@@ -54,6 +54,7 @@ import org.apache.camel.model.dataformat.CustomDataFormat;
 import org.apache.camel.model.language.ConstantExpression;
 import org.apache.camel.model.language.ExpressionDefinition;
 import org.apache.camel.model.language.LanguageExpression;
+import org.apache.camel.model.language.SimpleExpression;
 import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.processor.loadbalancer.LoadBalancer;
 import org.apache.camel.spi.AsEndpointUri;
@@ -3082,7 +3083,7 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type>
             @AsEndpointUri EndpointProducerBuilder resourceUri, AggregationStrategy aggregationStrategy,
             boolean aggregateOnException, boolean shareUnitOfWork) {
         EnrichDefinition answer = new EnrichDefinition();
-        answer.setExpression(resourceUri.expr());
+        answer.setExpression(new SimpleExpression(resourceUri.getUri()));
         answer.setAggregationStrategy(aggregationStrategy);
         answer.setAggregateOnException(Boolean.toString(aggregateOnException));
         answer.setShareUnitOfWork(Boolean.toString(shareUnitOfWork));
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/AbstractEndpointBuilder.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/AbstractEndpointBuilder.java
index 8917e92..f77e3e0 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/AbstractEndpointBuilder.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/AbstractEndpointBuilder.java
@@ -31,6 +31,7 @@ import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.NoSuchEndpointException;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.SimpleBuilder;
+import org.apache.camel.spi.Language;
 import org.apache.camel.spi.NormalizedEndpointUri;
 import org.apache.camel.spi.PropertiesComponent;
 import org.apache.camel.support.EndpointHelper;
@@ -44,6 +45,7 @@ public class AbstractEndpointBuilder {
     protected final Map<String, Object> properties = new LinkedHashMap<>();
     protected final Map<String, Map<String, Object>> multivalues = new HashMap<>();
     private volatile Endpoint resolvedEndpoint;
+    private volatile Language simple;
 
     public AbstractEndpointBuilder(String scheme, String path) {
         this.scheme = scheme;
@@ -184,6 +186,10 @@ public class AbstractEndpointBuilder {
         });
     }
 
+    /**
+     * Use {@link #expr(CamelContext)}
+     */
+    @Deprecated
     public Expression expr() {
         return SimpleBuilder.simple(getUri());
     }
@@ -193,7 +199,10 @@ public class AbstractEndpointBuilder {
         // do not encode computed uri as we want to preserve simple expressions, as this is used
         // by ToDynamic which builds the uri string un-encoded for simple language parser to be able to parse
         NormalizedEndpointUri uri = computeUri(new LinkedHashMap<>(), camelContext, true, false);
-        return SimpleBuilder.simple(uri.getUri());
+        if (simple == null) {
+            simple = camelContext.resolveLanguage("simple");
+        }
+        return simple.createExpression(uri.getUri());
     }
 
 }