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 <claus.ib...@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());
     }
 
 }

Reply via email to